diff --git a/README.md b/README.md
index ebd7e77f..b84dc81d 100644
--- a/README.md
+++ b/README.md
@@ -9,8 +9,10 @@
* mpm_event 권장
* PHP 7.2 이상
* php-fpm 권장
- * php에서 curl을 실행가능해야 합니다.
-* MySQL 5.6 이상, 또는 MariaDB 10.0 이상
+ * php에서 curl, pdo-sqlite을 실행가능해야 합니다. (기본값: 지원)
+ * mysqlnd가 지원되어야합니다. (기본값: 지원)
+* MariaDB 10.2.1 이상
+ * MySQL 5.6 이상도 가능하도록 할 예정입니다.
* git
* curl
@@ -47,7 +49,7 @@ Database 수는 로그인 관리 서버 1개, 내부 서버 7개로, 총 8개의
현재 카카오로그인 API KEY를 입력하는 작업이 설치과정에 추가되어있지 않습니다.
-f_install/templates/KakaoKey.orig.php 를 d_setting/KakaoKey.php로 복사한 후 API 키를 입력하여야 합니다.
+설치 후 d_setting/KakaoKey.php에서 API키를 입력해야 합니다.
## 라이선스
diff --git a/e_lib/summernote/plugin/image-sammo/summernote-image-flip.js b/e_lib/summernote/plugin/image-sammo/summernote-image-flip.js
new file mode 100644
index 00000000..65754746
--- /dev/null
+++ b/e_lib/summernote/plugin/image-sammo/summernote-image-flip.js
@@ -0,0 +1,153 @@
+/* Forked from https://github.com/asiffermann/summernote-image-title */
+
+(function (factory) {
+ /* Global define */
+ if (typeof define === 'function' && define.amd) {
+ // AMD. Register as an anonymous module.
+ define(['jquery'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // Node/CommonJS
+ module.exports = factory(require('jquery'));
+ } else {
+ // Browser globals
+ factory(window.jQuery);
+ }
+}(function ($) {
+ $.extend(true, $.summernote.lang, {
+ 'en-US': {
+ imageFlip: {
+ edit: 'Flip image',
+ flipLabel: 'Alternative Image'
+ }
+ },
+ 'ko-KR': {
+ imageFlip: {
+ edit: '이미지 전환',
+ flipLabel: '대체 이미지( , 로 구분)'
+ }
+ },
+ });
+ $.extend($.summernote.options, {
+ imageFlip: {
+ icon: '',
+ tooltip: 'Image Flip'
+ }
+ });
+ $.extend($.summernote.plugins, {
+ 'imageFlip': function (context) {
+ var self = this;
+
+ var ui = $.summernote.ui;
+ var $note = context.layoutInfo.note;
+ var $editor = context.layoutInfo.editor;
+ var $editable = context.layoutInfo.editable;
+ var $toolbar = context.layoutInfo.toolbar;
+
+ if (typeof context.options.imageFlip === 'undefined') {
+ context.options.imageFlip = {};
+ }
+
+ var options = context.options;
+ var lang = options.langInfo;
+
+ context.memo('button.imageFlip', function () {
+ var button = ui.button({
+ contents: ui.icon(options.icons.pencil),
+ container: false,
+ tooltip: lang.imageFlip.edit,
+ click: function (e) {
+ context.invoke('imageFlip.show');
+ }
+ });
+
+ return button.render();
+ });
+
+ this.initialize = function () {
+ var $container = options.dialogsInBody ? $(document.body) : $editor;
+
+ var body = '