diff --git a/common/constants.php b/common/constants.php
index 3f8faaae1..5432d14e3 100644
--- a/common/constants.php
+++ b/common/constants.php
@@ -3,7 +3,7 @@
/**
* RX_VERSION is the version number of the Rhymix CMS.
*/
-define('RX_VERSION', '2.1.15');
+define('RX_VERSION', '2.1.16');
/**
* RX_MICROTIME is the startup time of the current script, in microseconds since the Unix epoch.
diff --git a/common/js/plugins/ckeditor/ckeditor/plugins/rx_paste/plugin.js b/common/js/plugins/ckeditor/ckeditor/plugins/rx_paste/plugin.js
index a2c2a26be..de53074e3 100644
--- a/common/js/plugins/ckeditor/ckeditor/plugins/rx_paste/plugin.js
+++ b/common/js/plugins/ckeditor/ckeditor/plugins/rx_paste/plugin.js
@@ -24,6 +24,7 @@ CKEDITOR.plugins.add('rx_paste', {
const dataValue = event.data.dataValue;
const dataTransfer = event.data.dataTransfer;
const filesCount = dataTransfer.getFilesCount();
+ const isFileTransfer = dataTransfer.isFileTransfer() || String(dataValue).match(/^
]+>$/);
// Replace iframe code in pasted text.
if (method === 'paste' && dataValue && dataValue.replace) {
@@ -33,7 +34,7 @@ CKEDITOR.plugins.add('rx_paste', {
}
// Check if the pasted data contains any files.
- if (filesCount && dataTransfer.isFileTransfer()) {
+ if (filesCount && isFileTransfer) {
event.stop();
for (let i = 0; i < filesCount; i++) {
uploadFile(dataTransfer.getFile(i));
diff --git a/modules/admin/lang/en.php b/modules/admin/lang/en.php
index 0b1fc8062..fd86f1d05 100644
--- a/modules/admin/lang/en.php
+++ b/modules/admin/lang/en.php
@@ -87,7 +87,7 @@ $lang->cmd_admin_default_from_name_help = 'This name will be used in all outgoin
$lang->cmd_admin_default_from_email_help = 'This e-mail address will be used in all outgoing e-mails.
If you are using SMTP or an external API, please check "Apply to All" to avoid having your e-mails treated as spam.';
$lang->cmd_admin_default_reply_to_help = 'This e-mail will receive replies. Please leave it empty if it is the same as the address above.
Some sending methods may not support a separate Reply-To address.';
$lang->cmd_admin_default_from_phone_help = 'This number will be used in all outgoing SMS notifications.
Some SMS gateways may require that you pre-register your phone number. In that case, you should also check "Apply to All".';
-$lang->cmd_admin_sms_dummy_driver_help = 'Select "Dummy" if you are not going to send any SMS.';
+$lang->cmd_admin_sms_dummy_driver_help = 'This option does not send any SMS, but may log them. Use this option for testing.';
$lang->cmd_admin_sms_sender_key_help = 'The sender key is used for Alimtalk. Please leave it empty if you do not use Alimtalk.';
$lang->cmd_admin_allow_split_sms_help = 'Split long texts into multiple SMS in order to prevent clipping.
This only applies to gateways that cannot send LMS/MMS. Otherwise, long texts will be automatically converted to LMS/MMS.';
$lang->cmd_admin_allow_split_lms_help = 'Split very long texts into multiple LMS/MMS in order to prevent clipping.
This may increase your LMS/MMS cost significantly.';
diff --git a/modules/admin/lang/ko.php b/modules/admin/lang/ko.php
index 2dead02bc..2f754dac0 100644
--- a/modules/admin/lang/ko.php
+++ b/modules/admin/lang/ko.php
@@ -86,7 +86,7 @@ $lang->cmd_admin_default_from_name_help = '가입환영 메일, 인증메일,
$lang->cmd_admin_default_from_email_help = '가입환영 메일, 인증메일, 알림 등을 발송할 때 사용할 메일 주소입니다.
SMTP 또는 외부 API 사용시 일괄 적용 옵션을 선택하지 않으면 스팸으로 취급될 가능성이 높아지니 주의하십시오.';
$lang->cmd_admin_default_reply_to_help = '받는이가 "답장"을 클릭했을 때 발신자 주소가 아닌 다른 주소로 답장을 받을 수 있습니다.
발송 방법에 따라 이 기능을 지원하지 않을 수도 있습니다.';
$lang->cmd_admin_default_from_phone_help = 'SMS 알림을 발송할 때 사용할 번호입니다.
국내 서비스 사용시 API 제공 업체에 발신자 번호를 미리 등록하고, 일괄 적용 옵션을 사용하시기 바랍니다.';
-$lang->cmd_admin_sms_dummy_driver_help = 'SMS를 사용하지 않는 경우 Dummy를 선택하십시오.';
+$lang->cmd_admin_sms_dummy_driver_help = 'SMS를 발송하지 않고 로그 기록만 합니다. 테스트 중 원치 않는 SMS가 발송되는 것을 막기 위해 사용할 수 있는 옵션입니다.';
$lang->cmd_admin_sms_sender_key_help = '알림톡 발송에 필요한 Sender Key입니다. 알림톡을 사용하지 않는 경우 비워 두시기 바랍니다.';
$lang->cmd_admin_allow_split_sms_help = '긴 내용을 SMS로 발송할 때 잘리지 않도록 2개 이상의 SMS로 분할 발송합니다.
LMS/MMS를 사용할 수 있는 경우 자동 변경되므로, LMS/MMS 사용이 불가능한 서비스에만 해당됩니다.';
$lang->cmd_admin_allow_split_lms_help = '매우 긴 내용을 LMS 또는 MMS로 발송할 때 잘리지 않도록 2개 이상의 LMS 또는 MMS로 분할 발송합니다.
내용이 지나치게 긴 경우 비용이 많이 발생할 수 있으니 주의하십시오.';
diff --git a/modules/advanced_mailer/lang/en.php b/modules/advanced_mailer/lang/en.php
index ad0c195b1..25bd9990f 100644
--- a/modules/advanced_mailer/lang/en.php
+++ b/modules/advanced_mailer/lang/en.php
@@ -88,7 +88,7 @@ $lang->cmd_advanced_mailer_exception_group = 'Exception Group';
$lang->cmd_advanced_mailer_use_exceptions = 'Exception domains';
$lang->cmd_advanced_mailer_use_exceptions_yes = 'Test with exceptions as configured';
$lang->cmd_advanced_mailer_use_exceptions_no = 'Ignore exceptions and only test the default sending method';
-$lang->msg_advanced_mailer_about_dummy = 'Dummy does not actually send any email, but logs them. Use this option for testing.';
+$lang->msg_advanced_mailer_about_dummy = 'This option does not actually send any email, but may log them. Use this option for testing.';
$lang->msg_advanced_mailer_about_dummy_exceptions = 'Caution: if you have set up exception domains, unwanted email may be sent using other methods.';
$lang->msg_advanced_mailer_about_mailfunction = 'This method uses the mail() function that comes with PHP itself. It has very low deliverability.
This option may be deprecated in the future, so please use a different sending method if at all possible.';
$lang->msg_advanced_mailer_sending_method_is_invalid = 'Please select a valid sending method.';
diff --git a/modules/advanced_mailer/lang/ko.php b/modules/advanced_mailer/lang/ko.php
index a177fc86d..daa686211 100644
--- a/modules/advanced_mailer/lang/ko.php
+++ b/modules/advanced_mailer/lang/ko.php
@@ -88,7 +88,7 @@ $lang->cmd_advanced_mailer_exception_group = '예외 그룹';
$lang->cmd_advanced_mailer_use_exceptions = '예외 도메인 설정';
$lang->cmd_advanced_mailer_use_exceptions_yes = '예외 설정을 적용하여 테스트';
$lang->cmd_advanced_mailer_use_exceptions_no = '무시하고 기본 발송 방법만 테스트';
-$lang->msg_advanced_mailer_about_dummy = '메일을 발송하지 않고 로그 기록만 하도록 강제합니다. 테스트 중 원치 않는 메일이 발송되는 것을 막기 위해 사용할 수 있습니다.';
+$lang->msg_advanced_mailer_about_dummy = '메일을 발송하지 않고 로그 기록만 합니다. 테스트 중 원치 않는 메일이 발송되는 것을 막기 위해 사용할 수 있습니다.';
$lang->msg_advanced_mailer_about_dummy_exceptions = '이 옵션을 선택하더라도 예외 도메인을 지정한 경우 메일이 발송될 수 있으니 주의하십시오.';
$lang->msg_advanced_mailer_about_mailfunction = 'PHP에 내장된 mail() 함수를 사용합니다. 발송 성공률이 매우 낮습니다.
이 옵션은 추후 지원되지 않을 수 있으니, 가능하면 다른 방식을 선택하시기 바랍니다.';
$lang->msg_advanced_mailer_sending_method_is_invalid = '올바른 발송 방법을 선택해 주십시오.';
diff --git a/modules/editor/tpl/js/editor.app.js b/modules/editor/tpl/js/editor.app.js
index a0d1a0769..67df8c8d1 100644
--- a/modules/editor/tpl/js/editor.app.js
+++ b/modules/editor/tpl/js/editor.app.js
@@ -174,7 +174,14 @@ function getAutoSavedSrl(ret_obj) {
instance.insertHtml(text, 'html');
};
- // 자동저장 필드가 있다면 자동 저장 기능 활성화
+ // Automatically update content input value #445
+ instance.on('change', function(e) {
+ if (window.editorRelKeys[data.editorSequence].content) {
+ window.editorRelKeys[data.editorSequence].content.value = e.editor.getData();
+ }
+ });
+
+ // Enable autosave
if (typeof(fo_obj._saved_doc_title) !== 'undefined') {
editorEnableAutoSave(fo_obj, editor_sequence);
}
diff --git a/modules/menu/menu.mobile.php b/modules/menu/menu.mobile.php
index 5332f8027..d486f857a 100644
--- a/modules/menu/menu.mobile.php
+++ b/modules/menu/menu.mobile.php
@@ -61,8 +61,11 @@ class MenuMobile extends moduleObject
}
}
- if(file_exists($menu_info->php_file)) @include($menu_info->php_file);
- if(is_array($menu->list))
+ if (isset($menu_info->php_file) && file_exists($menu_info->php_file))
+ {
+ @include($menu_info->php_file);
+ }
+ if (isset($menu->list) && is_array($menu->list))
{
foreach($menu->list as $menu_item)
{
diff --git a/modules/module/module.model.php b/modules/module/module.model.php
index cdca65eea..473185703 100644
--- a/modules/module/module.model.php
+++ b/modules/module/module.model.php
@@ -634,7 +634,7 @@ class ModuleModel extends Module
if (count($mid) == 1 && ($first_mid = array_first($mid)) && isset(self::$_mid_map[$first_mid]))
{
- return array($first_mid => self::$_mid_map[$first_mid]);
+ return array($assoc ? $first_mid : 0 => self::$_mid_map[$first_mid]);
}
$args = new stdClass;
diff --git a/modules/tag/tag.controller.php b/modules/tag/tag.controller.php
index 3e3083fce..69797f56f 100644
--- a/modules/tag/tag.controller.php
+++ b/modules/tag/tag.controller.php
@@ -14,6 +14,7 @@ class TagController extends Tag
{
if (empty($obj->tags))
{
+ $obj->tags = '';
return;
}
@@ -24,7 +25,7 @@ class TagController extends Tag
}
else
{
- $obj->tags = null;
+ $obj->tags = '';
}
}