mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-01 00:02:21 +09:00
Merge branch 'develop' into pr/session-class
This commit is contained in:
commit
483ac84796
454 changed files with 10659 additions and 30145 deletions
|
|
@ -549,12 +549,124 @@ class adminAdminController extends admin
|
|||
$this->_saveDefaultImage($vars->is_delete_default_image);
|
||||
|
||||
// Save
|
||||
Rhymix\Framework\Config::save();
|
||||
if (!Rhymix\Framework\Config::save())
|
||||
{
|
||||
return new Object(-1, 'msg_failed_to_save_config');
|
||||
}
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
$this->setRedirectUrl(Context::get('success_return_url') ?: getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAdminConfigGeneral'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update notification configuration.
|
||||
*/
|
||||
function procAdminUpdateNotification()
|
||||
{
|
||||
$vars = Context::getRequestVars();
|
||||
|
||||
// Load advanced mailer module (for lang).
|
||||
$oAdvancedMailerAdminView = getAdminView('advanced_mailer');
|
||||
|
||||
// Validate the mail sender's information.
|
||||
if (!$vars->mail_default_name)
|
||||
{
|
||||
return new Object(-1, 'msg_advanced_mailer_sender_name_is_empty');
|
||||
}
|
||||
if (!$vars->mail_default_from)
|
||||
{
|
||||
return new Object(-1, 'msg_advanced_mailer_sender_email_is_empty');
|
||||
}
|
||||
if (!Mail::isVaildMailAddress($vars->mail_default_from))
|
||||
{
|
||||
return new Object(-1, 'msg_advanced_mailer_sender_email_is_invalid');
|
||||
}
|
||||
if ($vars->mail_default_reply_to && !Mail::isVaildMailAddress($vars->mail_default_reply_to))
|
||||
{
|
||||
return new Object(-1, 'msg_advanced_mailer_reply_to_is_invalid');
|
||||
}
|
||||
|
||||
// Validate the mail driver.
|
||||
$mail_drivers = Rhymix\Framework\Mail::getSupportedDrivers();
|
||||
$mail_driver = $vars->mail_driver;
|
||||
if (!array_key_exists($mail_driver, $mail_drivers))
|
||||
{
|
||||
return new Object(-1, 'msg_advanced_mailer_sending_method_is_invalid');
|
||||
}
|
||||
|
||||
// Validate the mail driver settings.
|
||||
$mail_driver_config = array();
|
||||
foreach ($mail_drivers[$mail_driver]['required'] as $conf_name)
|
||||
{
|
||||
$conf_value = $vars->{'mail_' . $mail_driver . '_' . $conf_name} ?: null;
|
||||
if (!$conf_value)
|
||||
{
|
||||
return new Object(-1, 'msg_advanced_mailer_smtp_host_is_invalid');
|
||||
}
|
||||
$mail_driver_config[$conf_name] = $conf_value;
|
||||
}
|
||||
|
||||
// Validate the SMS driver.
|
||||
$sms_drivers = Rhymix\Framework\SMS::getSupportedDrivers();
|
||||
$sms_driver = $vars->sms_driver;
|
||||
if (!array_key_exists($sms_driver, $sms_drivers))
|
||||
{
|
||||
return new Object(-1, 'msg_advanced_mailer_sending_method_is_invalid');
|
||||
}
|
||||
|
||||
// Validate the SMS driver settings.
|
||||
$sms_driver_config = array();
|
||||
foreach ($sms_drivers[$sms_driver]['required'] as $conf_name)
|
||||
{
|
||||
$conf_value = $vars->{'sms_' . $sms_driver . '_' . $conf_name} ?: null;
|
||||
if (!$conf_value)
|
||||
{
|
||||
return new Object(-1, 'msg_advanced_mailer_smtp_host_is_invalid');
|
||||
}
|
||||
$sms_driver_config[$conf_name] = $conf_value;
|
||||
}
|
||||
foreach ($sms_drivers[$sms_driver]['optional'] as $conf_name)
|
||||
{
|
||||
$conf_value = $vars->{'sms_' . $sms_driver . '_' . $conf_name} ?: null;
|
||||
$sms_driver_config[$conf_name] = $conf_value;
|
||||
}
|
||||
|
||||
// Save advanced mailer config.
|
||||
getController('module')->updateModuleConfig('advanced_mailer', (object)array(
|
||||
'sender_name' => trim($vars->mail_default_name),
|
||||
'sender_email' => trim($vars->mail_default_from),
|
||||
'force_sender' => toBool($vars->mail_force_default_sender),
|
||||
'reply_to' => trim($vars->mail_default_reply_to),
|
||||
));
|
||||
|
||||
// Save member config.
|
||||
getController('module')->updateModuleConfig('member', (object)array(
|
||||
'webmaster_name' => trim($vars->mail_default_name),
|
||||
'webmaster_email' => trim($vars->mail_default_from),
|
||||
));
|
||||
|
||||
// Save system config.
|
||||
Rhymix\Framework\Config::set("mail.default_name", trim($vars->mail_default_name));
|
||||
Rhymix\Framework\Config::set("mail.default_from", trim($vars->mail_default_from));
|
||||
Rhymix\Framework\Config::set("mail.default_force", toBool($vars->mail_force_default_sender));
|
||||
Rhymix\Framework\Config::set("mail.default_reply_to", trim($vars->mail_default_reply_to));
|
||||
Rhymix\Framework\Config::set("mail.type", $mail_driver);
|
||||
Rhymix\Framework\Config::set("mail.$mail_driver", $mail_driver_config);
|
||||
Rhymix\Framework\Config::set("sms.default_from", trim($vars->sms_default_from));
|
||||
Rhymix\Framework\Config::set("sms.default_force", toBool($vars->sms_force_default_sender));
|
||||
Rhymix\Framework\Config::set("sms.type", $sms_driver);
|
||||
Rhymix\Framework\Config::set("sms.$sms_driver", $sms_driver_config);
|
||||
Rhymix\Framework\Config::set("sms.allow_split.sms", toBool($vars->allow_split_sms));
|
||||
Rhymix\Framework\Config::set("sms.allow_split.lms", toBool($vars->allow_split_lms));
|
||||
if (!Rhymix\Framework\Config::save())
|
||||
{
|
||||
return new Object(-1, 'msg_failed_to_save_config');
|
||||
}
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
$this->setRedirectUrl(Context::get('success_return_url') ?: getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAdminConfigNotification'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update security configuration.
|
||||
*/
|
||||
|
|
@ -584,6 +696,14 @@ class adminAdminController extends admin
|
|||
natcasesort($object_whitelist);
|
||||
Rhymix\Framework\Config::set('mediafilter.object', array_values($object_whitelist));
|
||||
|
||||
// HTML classes
|
||||
$classes = $vars->mediafilter_classes;
|
||||
$classes = array_filter(array_map('trim', preg_split('/[\r\n]/', $classes)), function($item) {
|
||||
return preg_match('/^[a-zA-Z0-9_-]+$/u', $item);
|
||||
});
|
||||
natcasesort($classes);
|
||||
Rhymix\Framework\Config::set('mediafilter.classes', array_values($classes));
|
||||
|
||||
// Remove old embed filter
|
||||
$config = Rhymix\Framework\Config::getAll();
|
||||
unset($config['embedfilter']);
|
||||
|
|
@ -616,7 +736,10 @@ class adminAdminController extends admin
|
|||
Rhymix\Framework\Config::set('admin.deny', array_values($denied_ip));
|
||||
|
||||
// Save
|
||||
Rhymix\Framework\Config::save();
|
||||
if (!Rhymix\Framework\Config::save())
|
||||
{
|
||||
return new Object(-1, 'msg_failed_to_save_config');
|
||||
}
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
$this->setRedirectUrl(Context::get('success_return_url') ?: getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAdminConfigSecurity'));
|
||||
|
|
@ -631,7 +754,7 @@ class adminAdminController extends admin
|
|||
|
||||
// Default URL
|
||||
$default_url = rtrim(trim($vars->default_url), '/\\') . '/';
|
||||
if (!filter_var($default_url, FILTER_VALIDATE_URL) || !preg_match('@^https?://@', $default_url))
|
||||
if (!filter_var(Rhymix\Framework\URL::encodeIdna($default_url), FILTER_VALIDATE_URL) || !preg_match('@^https?://@', $default_url))
|
||||
{
|
||||
return new Object(-1, 'msg_invalid_default_url');
|
||||
}
|
||||
|
|
@ -700,10 +823,11 @@ class adminAdminController extends admin
|
|||
}
|
||||
|
||||
// Thumbnail settings
|
||||
$args = new stdClass;
|
||||
$args->thumbnail_type = $vars->thumbnail_type === 'ratio' ? 'ratio' : 'crop';
|
||||
$oDocumentModel = getModel('document');
|
||||
$document_config = $oDocumentModel->getDocumentConfig();
|
||||
$document_config->thumbnail_type = $vars->thumbnail_type ?: 'crop';
|
||||
$oModuleController = getController('module');
|
||||
$oModuleController->insertModuleConfig('document', $args);
|
||||
$oModuleController->insertModuleConfig('document', $document_config);
|
||||
|
||||
// Other settings
|
||||
Rhymix\Framework\Config::set('use_rewrite', $vars->use_rewrite === 'Y');
|
||||
|
|
@ -716,7 +840,10 @@ class adminAdminController extends admin
|
|||
Rhymix\Framework\Config::set('view.use_gzip', $vars->use_gzip === 'Y');
|
||||
|
||||
// Save
|
||||
Rhymix\Framework\Config::save();
|
||||
if (!Rhymix\Framework\Config::save())
|
||||
{
|
||||
return new Object(-1, 'msg_failed_to_save_config');
|
||||
}
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
$this->setRedirectUrl(Context::get('success_return_url') ?: getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAdminConfigAdvanced'));
|
||||
|
|
@ -776,7 +903,10 @@ class adminAdminController extends admin
|
|||
Rhymix\Framework\Config::set('debug.allow', array_values($allowed_ip));
|
||||
|
||||
// Save
|
||||
Rhymix\Framework\Config::save();
|
||||
if (!Rhymix\Framework\Config::save())
|
||||
{
|
||||
return new Object(-1, 'msg_failed_to_save_config');
|
||||
}
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
$this->setRedirectUrl(Context::get('success_return_url') ?: getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAdminConfigDebug'));
|
||||
|
|
@ -805,7 +935,10 @@ class adminAdminController extends admin
|
|||
Rhymix\Framework\Config::set('seo.og_use_timestamps', $vars->og_use_timestamps === 'Y');
|
||||
|
||||
// Save
|
||||
Rhymix\Framework\Config::save();
|
||||
if (!Rhymix\Framework\Config::save())
|
||||
{
|
||||
return new Object(-1, 'msg_failed_to_save_config');
|
||||
}
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
$this->setRedirectUrl(Context::get('success_return_url') ?: getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAdminConfigSEO'));
|
||||
|
|
@ -844,7 +977,10 @@ class adminAdminController extends admin
|
|||
Rhymix\Framework\Config::set('lock.title', trim($vars->sitelock_title));
|
||||
Rhymix\Framework\Config::set('lock.message', trim($vars->sitelock_message));
|
||||
Rhymix\Framework\Config::set('lock.allow', array_values($allowed_ip));
|
||||
Rhymix\Framework\Config::save();
|
||||
if (!Rhymix\Framework\Config::save())
|
||||
{
|
||||
return new Object(-1, 'msg_failed_to_save_config');
|
||||
}
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
$this->setRedirectUrl(Context::get('success_return_url') ?: getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAdminConfigSitelock'));
|
||||
|
|
@ -916,7 +1052,10 @@ class adminAdminController extends admin
|
|||
Rhymix\Framework\Config::set('ftp.path', $vars->ftp_path);
|
||||
Rhymix\Framework\Config::set('ftp.pasv', $vars->ftp_pasv === 'Y');
|
||||
Rhymix\Framework\Config::set('ftp.sftp', $vars->ftp_sftp === 'Y');
|
||||
Rhymix\Framework\Config::save();
|
||||
if (!Rhymix\Framework\Config::save())
|
||||
{
|
||||
return new Object(-1, 'msg_failed_to_save_config');
|
||||
}
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
$this->setRedirectUrl(Context::get('success_return_url') ?: getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAdminConfigFtp'));
|
||||
|
|
@ -934,7 +1073,11 @@ class adminAdminController extends admin
|
|||
Rhymix\Framework\Config::set('ftp.path', null);
|
||||
Rhymix\Framework\Config::set('ftp.pasv', true);
|
||||
Rhymix\Framework\Config::set('ftp.sftp', false);
|
||||
Rhymix\Framework\Config::save();
|
||||
if (!Rhymix\Framework\Config::save())
|
||||
{
|
||||
return new Object(-1, 'msg_failed_to_save_config');
|
||||
}
|
||||
|
||||
$this->setMessage('success_deleted');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -445,6 +445,42 @@ class adminAdminView extends admin
|
|||
$this->setTemplateFile('config_general');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display Notification Settings page
|
||||
* @return void
|
||||
*/
|
||||
function dispAdminConfigNotification()
|
||||
{
|
||||
// Load advanced mailer module (for lang).
|
||||
$oAdvancedMailerAdminView = getAdminView('advanced_mailer');
|
||||
|
||||
// Load advanced mailer config.
|
||||
$advanced_mailer_config = $oAdvancedMailerAdminView->getConfig();
|
||||
Context::set('advanced_mailer_config', $advanced_mailer_config);
|
||||
|
||||
// Load member config.
|
||||
$member_config = getModel('module')->getModuleConfig('member');
|
||||
Context::set('member_config', $member_config);
|
||||
Context::set('webmaster_name', $member_config->webmaster_name ? $member_config->webmaster_name : 'webmaster');
|
||||
Context::set('webmaster_email', $member_config->webmaster_email);
|
||||
|
||||
// Load module config.
|
||||
$module_config = getModel('module')->getModuleConfig('module');
|
||||
Context::set('module_config', $module_config);
|
||||
|
||||
// Load mail drivers.
|
||||
$mail_drivers = Rhymix\Framework\Mail::getSupportedDrivers();
|
||||
Context::set('mail_drivers', $mail_drivers);
|
||||
Context::set('mail_driver', config('mail.type') ?: 'mailfunction');
|
||||
|
||||
// Load SMS drivers.
|
||||
$sms_drivers = Rhymix\Framework\SMS::getSupportedDrivers();
|
||||
Context::set('sms_drivers', $sms_drivers);
|
||||
Context::set('sms_driver', config('sms.type') ?: 'dummy');
|
||||
|
||||
$this->setTemplateFile('config_notification');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display Security Settings page
|
||||
* @return void
|
||||
|
|
@ -454,6 +490,7 @@ class adminAdminView extends admin
|
|||
// Load embed filter.
|
||||
context::set('mediafilter_iframe', implode(PHP_EOL, Rhymix\Framework\Filters\MediaFilter::getIframeWhitelist()));
|
||||
context::set('mediafilter_object', implode(PHP_EOL, Rhymix\Framework\Filters\MediaFilter::getObjectWhitelist()));
|
||||
context::set('mediafilter_classes', implode(PHP_EOL, Rhymix\Framework\Config::get('mediafilter.classes') ?: array()));
|
||||
|
||||
// Admin IP access control
|
||||
$allowed_ip = Rhymix\Framework\Config::get('admin.allow');
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
<actions>
|
||||
<action name="dispAdminIndex" type="view" index="true" />
|
||||
<action name="dispAdminConfigGeneral" type="view" menu_name="adminConfigurationGeneral" menu_index="true" />
|
||||
<action name="dispAdminConfigNotification" type="view" menu_name="adminConfigurationGeneral" />
|
||||
<action name="dispAdminConfigSecurity" type="view" menu_name="adminConfigurationGeneral" />
|
||||
<action name="dispAdminConfigAdvanced" type="view" menu_name="adminConfigurationGeneral" />
|
||||
<action name="dispAdminConfigDebug" type="view" menu_name="adminConfigurationGeneral" />
|
||||
|
|
@ -24,6 +25,7 @@
|
|||
<action name="procAdminDeleteLogo" type="controller" />
|
||||
<action name="procAdminMenuReset" type="controller" />
|
||||
<action name="procAdminUpdateConfigGeneral" type="controller" />
|
||||
<action name="procAdminUpdateNotification" type="controller" />
|
||||
<action name="procAdminUpdateSecurity" type="controller" />
|
||||
<action name="procAdminUpdateAdvanced" type="controller" />
|
||||
<action name="procAdminUpdateDebug" type="controller" />
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
$lang->admin = 'Admin';
|
||||
$lang->cmd_configure = 'Configure';
|
||||
$lang->subtitle_primary = 'General Settings';
|
||||
$lang->subtitle_notification = 'Notification Settings';
|
||||
$lang->subtitle_security = 'Security Settings';
|
||||
$lang->subtitle_advanced = 'Advanced Settings';
|
||||
$lang->subtitle_debug = 'Debug Settings';
|
||||
|
|
@ -74,11 +75,28 @@ $lang->msg_blacklisted_reason['session_shield'] = 'The functionality that this a
|
|||
$lang->msg_blacklisted_reason['smartphone'] = 'This module was disabled in XE long before Rhymix even existed.';
|
||||
$lang->msg_blacklisted_reason['zipperupper'] = 'Similar functionality can be configured in the <a href="./index.php?module=admin&act=dispAdminConfigAdvanced">Advanced Settings</a> page.';
|
||||
$lang->msg_warning = 'Warning';
|
||||
$lang->msg_failed_to_save_config = 'Failed to save configuration. Please check permissions on files/config.';
|
||||
$lang->welcome_to_xe = 'Welcome to the Rhymix admin page.';
|
||||
$lang->about_lang_env = 'If you want to make the language setting same for first-time visitors, change the language setting to what you want and click [Save] button below.';
|
||||
$lang->xe_license = 'Rhymix complies with the GPL.';
|
||||
$lang->yesterday = 'Yesterday';
|
||||
$lang->today = 'Today';
|
||||
$lang->cmd_admin_default_from_name = 'Default Sender Name';
|
||||
$lang->cmd_admin_default_from_email = 'Default Sender E-mail';
|
||||
$lang->cmd_admin_default_from_phone = 'Default Sender Number';
|
||||
$lang->cmd_admin_default_reply_to = 'Reply-To';
|
||||
$lang->cmd_admin_force_default_sender = 'Apply to All';
|
||||
$lang->cmd_admin_sending_method = 'Sending Method';
|
||||
$lang->cmd_admin_allow_split_sms = 'Split long SMS';
|
||||
$lang->cmd_admin_allow_split_lms = 'Split long LMS/MMS';
|
||||
$lang->cmd_admin_default_from_name_help = 'This name will be used in all outgoing emails, such as welcome e-mails, authentication e-mails, and other e-mail notifications.';
|
||||
$lang->cmd_admin_default_from_email_help = 'This e-mail address will be used in all outgoing e-mails.<br>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.<br>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.<br>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_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.<br>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.<br>This may increase your LMS/MMS cost significantly.';
|
||||
$lang->default_lang = 'Default Language';
|
||||
$lang->lang_select = 'Supported Languages';
|
||||
$lang->auto_select_lang = 'Auto-select Language';
|
||||
|
|
@ -198,8 +216,9 @@ $lang->tablets_as_mobile = 'Treat Tablets as Mobile';
|
|||
$lang->thumbnail_type = 'Select thumbnail type.';
|
||||
$lang->input_footer_script = 'Footer script';
|
||||
$lang->detail_input_footer_script = 'The script is inserted into the bottom of body. It does not work at admin page.';
|
||||
$lang->corp = 'Crop (Cut)';
|
||||
$lang->ratio = 'Ratio (Keep Aspect Ratio)';
|
||||
$lang->thumbnail_crop = 'Crop';
|
||||
$lang->thumbnail_ratio = 'Keep aspect ratio (may result in spaces)';
|
||||
$lang->thumbnail_none = 'Do not create thumbnails';
|
||||
$lang->admin_ip_allow = 'IP addresses allowed to log in as administrator';
|
||||
$lang->admin_ip_deny = 'IP addresses forbidden to log in as administrator';
|
||||
$lang->local_ip_address = 'Local IP address';
|
||||
|
|
|
|||
|
|
@ -125,8 +125,9 @@ $lang->about_use_mobile_view = 'モバイル機器で接続した際にモバイ
|
|||
$lang->thumbnail_type = 'サムネイルの作成方式を選択してください。';
|
||||
$lang->input_footer_script = '下段(footer)スクリプト';
|
||||
$lang->detail_input_footer_script = '最下段にコードを追加します。管理者ページでは遂行できません。';
|
||||
$lang->corp = '切り取り';
|
||||
$lang->ratio = 'Ratio(縦横の比率をキープ)';
|
||||
$lang->thumbnail_crop = 'トリミングする';
|
||||
$lang->thumbnail_ratio = '比率に合わせる';
|
||||
$lang->thumbnail_none = 'サムネイルを作成しない';
|
||||
$lang->admin_ip_allow = '管理者ログイン許容IP';
|
||||
$lang->admin_ip_deny = '管理者ログイン禁止IP';
|
||||
$lang->local_ip_address = 'ローカルIPアドレス';
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
$lang->admin = '관리자';
|
||||
$lang->cmd_configure = '설정하기';
|
||||
$lang->subtitle_primary = '기본 설정';
|
||||
$lang->subtitle_notification = '알림 설정';
|
||||
$lang->subtitle_security = '보안 설정';
|
||||
$lang->subtitle_advanced = '고급 설정';
|
||||
$lang->subtitle_debug = '디버그 설정';
|
||||
|
|
@ -74,11 +75,28 @@ $lang->msg_blacklisted_reason['session_shield'] = '이 애드온에서 제공하
|
|||
$lang->msg_blacklisted_reason['smartphone'] = '이 모듈은 XE에서도 사용되지 않고 있었습니다.';
|
||||
$lang->msg_blacklisted_reason['zipperupper'] = '이 애드온에서 제공하던 기능은 <a href="./index.php?module=admin&act=dispAdminConfigAdvanced">고급 설정</a> 페이지에서 관리할 수 있습니다.';
|
||||
$lang->msg_warning = '경고';
|
||||
$lang->msg_failed_to_save_config = '설정을 저장할 수 없습니다. files/config 폴더 및 설정파일들의 퍼미션을 확인해 주시기 바랍니다.';
|
||||
$lang->welcome_to_xe = 'Rhymix 관리자';
|
||||
$lang->about_lang_env = '처음 방문하는 사용자들의 언어 설정을 동일하게 하려면, 원하는 언어로 변경 후 아래 [저장] 버튼을 클릭하면 됩니다.';
|
||||
$lang->xe_license = 'Rhymix는 GPL을 따릅니다.';
|
||||
$lang->yesterday = '어제';
|
||||
$lang->today = '오늘';
|
||||
$lang->cmd_admin_default_from_name = '기본 발신자 이름';
|
||||
$lang->cmd_admin_default_from_email = '기본 발신자 주소';
|
||||
$lang->cmd_admin_default_from_phone = '기본 발신자 번호';
|
||||
$lang->cmd_admin_default_reply_to = 'Reply-To 주소';
|
||||
$lang->cmd_admin_force_default_sender = '일괄 적용';
|
||||
$lang->cmd_admin_sending_method = '발송 방법';
|
||||
$lang->cmd_admin_allow_split_sms = 'SMS 분할 발송';
|
||||
$lang->cmd_admin_allow_split_lms = 'LMS/MMS 분할 발송';
|
||||
$lang->cmd_admin_default_from_name_help = '가입환영 메일, 인증메일, 알림 등을 발송할 때 사용할 이름입니다. 사이트 이름 사용을 권장합니다.';
|
||||
$lang->cmd_admin_default_from_email_help = '가입환영 메일, 인증메일, 알림 등을 발송할 때 사용할 메일 주소입니다.<br>SMTP 또는 외부 API 사용시 일괄 적용 옵션을 선택하지 않으면 스팸으로 취급될 가능성이 높아지니 주의하십시오.';
|
||||
$lang->cmd_admin_default_reply_to_help = '받는이가 "답장"을 클릭했을 때 발신자 주소가 아닌 다른 주소로 답장을 받을 수 있습니다.<br>발송 방법에 따라 이 기능을 지원하지 않을 수도 있습니다.';
|
||||
$lang->cmd_admin_default_from_phone_help = 'SMS 알림을 발송할 때 사용할 번호입니다.<br>국내 서비스 사용시 API 제공 업체에 발신자 번호를 미리 등록하고, 일괄 적용 옵션을 사용하시기 바랍니다.';
|
||||
$lang->cmd_admin_sms_dummy_driver_help = 'SMS를 사용하지 않는 경우 Dummy를 선택하십시오.';
|
||||
$lang->cmd_admin_sms_sender_key_help = '알림톡 발송에 필요한 Sender Key입니다. 알림톡을 사용하지 않는 경우 비워 두시기 바랍니다.';
|
||||
$lang->cmd_admin_allow_split_sms_help = '긴 내용을 SMS로 발송할 때 잘리지 않도록 2개 이상의 SMS로 분할 발송합니다.<br>LMS/MMS를 사용할 수 있는 경우 자동 변경되므로, LMS/MMS 사용이 불가능한 서비스에만 해당됩니다.';
|
||||
$lang->cmd_admin_allow_split_lms_help = '매우 긴 내용을 LMS 또는 MMS로 발송할 때 잘리지 않도록 2개 이상의 LMS 또는 MMS로 분할 발송합니다.<br>내용이 지나치게 긴 경우 비용이 많이 발생할 수 있으니 주의하십시오.';
|
||||
$lang->default_lang = '기본 언어 선택';
|
||||
$lang->lang_select = '지원 언어 선택';
|
||||
$lang->auto_select_lang = '언어 자동 선택';
|
||||
|
|
@ -193,8 +211,9 @@ $lang->tablets_as_mobile = '태블릿도 모바일 취급';
|
|||
$lang->thumbnail_type = '썸네일 생성 방식';
|
||||
$lang->input_footer_script = '하단(footer) 스크립트';
|
||||
$lang->detail_input_footer_script = '최하단에 코드를 삽입합니다. 관리자 페이지에서는 수행되지 않습니다.';
|
||||
$lang->corp = 'Crop (잘라내기)';
|
||||
$lang->ratio = 'Ratio (비율 맞추기)';
|
||||
$lang->thumbnail_crop = '크기에 맞추어 잘라내기';
|
||||
$lang->thumbnail_ratio = '비율 유지 (여백이 생길 수 있음)';
|
||||
$lang->thumbnail_none = '썸네일 생성하지 않음';
|
||||
$lang->admin_ip_allow = '관리자 로그인 허용 IP';
|
||||
$lang->admin_ip_deny = '관리자 로그인 금지 IP';
|
||||
$lang->local_ip_address = '로컬 IP 주소';
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
<button type="button" class="x_btn-link" onclick="doResetAdminMenu();">{$lang->cmd_admin_menu_reset}</button> <span class="vr">|</span>
|
||||
<button type="button" class="x_btn-link" onclick="doRecompileCacheFile();">{$lang->cmd_remake_cache}</button> <span class="vr">|</span>
|
||||
<button type="button" class="x_btn-link" onclick="doClearSession();">{$lang->cmd_clear_session}</button> <span class="vr">|</span>
|
||||
<a href="./index.php?module=admin&act=dispAdminViewServerEnv">{$lang->cmd_view_server_env}</a> <span class="vr">|</span>
|
||||
<a href="./index.php?module=admin&act=dispAdminViewServerEnv" style="vertical-align:middle">{$lang->cmd_view_server_env}</a> <span class="vr">|</span>
|
||||
<a href="https://github.com/rhymix/rhymix/issues" target="_blank" style="vertical-align:middle">{$lang->bug_report}</a>
|
||||
</p>
|
||||
</footer>
|
||||
|
|
|
|||
|
|
@ -62,12 +62,16 @@
|
|||
<label class="x_control-label">{$lang->thumbnail_type}</label>
|
||||
<div class="x_controls">
|
||||
<label for="thumbnail_type_crop" class="x_inline">
|
||||
<input type="radio" name="thumbnail_type" id="thumbnail_type_crop" value="crop" checked="checked"|cond="$thumbnail_type != 'ratio'" />
|
||||
{$lang->corp}
|
||||
<input type="radio" name="thumbnail_type" id="thumbnail_type_crop" value="crop" checked="checked"|cond="$thumbnail_type == 'crop' || !$thumbnail_type" />
|
||||
{$lang->thumbnail_crop}
|
||||
</label>
|
||||
<label for="thumbnail_type_ratio" class="x_inline">
|
||||
<input type="radio" name="thumbnail_type" id="thumbnail_type_ratio" value="ratio" checked="checked"|cond="$thumbnail_type == 'ratio'" />
|
||||
{$lang->ratio}
|
||||
{$lang->thumbnail_ratio}
|
||||
</label>
|
||||
<label for="thumbnail_type_none" class="x_inline">
|
||||
<input type="radio" name="thumbnail_type" id="thumbnail_type_none" value="none" checked="checked"|cond="$thumbnail_type == 'none'" />
|
||||
{$lang->thumbnail_none}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
</div>
|
||||
<ul class="x_nav x_nav-tabs">
|
||||
<li class="x_active"|cond="$act == 'dispAdminConfigGeneral'"><a href="{getUrl('', 'module', 'admin', 'act', 'dispAdminConfigGeneral')}">{$lang->subtitle_primary}</a></li>
|
||||
<li class="x_active"|cond="$act == 'dispAdminConfigNotification'"><a href="{getUrl('', 'module', 'admin', 'act', 'dispAdminConfigNotification')}">{$lang->subtitle_notification}</a></li>
|
||||
<li class="x_active"|cond="$act == 'dispAdminConfigSecurity'"><a href="{getUrl('', 'module', 'admin', 'act', 'dispAdminConfigSecurity')}">{$lang->subtitle_security}</a></li>
|
||||
<li class="x_active"|cond="$act == 'dispAdminConfigAdvanced'"><a href="{getUrl('', 'module', 'admin', 'act', 'dispAdminConfigAdvanced')}">{$lang->subtitle_advanced}</a></li>
|
||||
<li class="x_active"|cond="$act == 'dispAdminConfigDebug'"><a href="{getUrl('', 'module', 'admin', 'act', 'dispAdminConfigDebug')}">{$lang->subtitle_debug}</a></li>
|
||||
|
|
|
|||
296
modules/admin/tpl/config_notification.html
Normal file
296
modules/admin/tpl/config_notification.html
Normal file
|
|
@ -0,0 +1,296 @@
|
|||
<include target="config_header.html" />
|
||||
<load target="js/notification_config.js" />
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/admin/tpl/config_notification/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var mail_drivers = {json_encode($mail_drivers)};
|
||||
var sms_drivers = {json_encode($sms_drivers)};
|
||||
</script>
|
||||
|
||||
<form action="./" method="post" class="x_form-horizontal">
|
||||
<input type="hidden" name="module" value="admin" />
|
||||
<input type="hidden" name="act" value="procAdminUpdateNotification" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/admin/tpl/config_notification/1" />
|
||||
|
||||
<section class="section">
|
||||
|
||||
<h2>{$lang->email}</h2>
|
||||
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="mail_default_name">{$lang->cmd_admin_default_from_name}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="mail_default_name" id="mail_default_name" value="{escape($member_config->webmaster_name) ?: $module_config->siteTitle}" />
|
||||
<br />
|
||||
<p class="x_help-block">{$lang->cmd_admin_default_from_name_help}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="mail_default_from">{$lang->cmd_admin_default_from_email}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="mail_default_from" id="mail_default_from" value="{escape($member_config->webmaster_email)}" />
|
||||
|
||||
<label for="mail_force_default_sender" class="x_inline">
|
||||
<input type="checkbox" name="mail_force_default_sender" id="mail_force_default_sender" value="Y" checked="checked"|cond="toBool($advanced_mailer_config->force_sender)" />
|
||||
{$lang->cmd_admin_force_default_sender}
|
||||
</label>
|
||||
<br />
|
||||
<p class="x_help-block">{$lang->cmd_admin_default_from_email_help}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="mail_default_reply_to">{$lang->cmd_admin_default_reply_to}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="mail_default_reply_to" id="mail_default_reply_to" value="{escape($advanced_mailer_config->reply_to ?: config('mail.default_reply_to'))}" />
|
||||
<br />
|
||||
<p class="x_help-block">{$lang->cmd_admin_default_reply_to_help}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="mail_driver">{$lang->cmd_admin_sending_method}</label>
|
||||
<div class="x_controls">
|
||||
<select name="mail_driver" id="mail_driver">
|
||||
<!--@foreach($mail_drivers as $driver_name => $driver_definition)-->
|
||||
<option value="{$driver_name}" selected="selected"|cond="$mail_driver === $driver_name">{$driver_definition['name']}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<p class="x_help-block hidden-by-default show-for-dummy">
|
||||
{$lang->msg_advanced_mailer_about_dummy}<br />{$lang->msg_advanced_mailer_about_dummy_exceptions}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--@foreach($mail_drivers as $driver_name => $driver_definition)-->
|
||||
|
||||
<!--@foreach($driver_definition['required'] as $conf_name)-->
|
||||
|
||||
{@ $conf_value = escape(config("mail.$driver_name.$conf_name"))}
|
||||
|
||||
<!--@if($conf_name === 'smtp_host')-->
|
||||
<div class="x_control-group hidden-by-default show-for-{$driver_name}">
|
||||
<label class="x_control-label" for="mail_{$driver_name}_smtp_host">{$lang->cmd_advanced_mailer_smtp_host}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="mail_{$driver_name}_smtp_host" id="mail_{$driver_name}_smtp_host" value="{$conf_value}" />
|
||||
<select id="mail_{$driver_name}_manual_entry">
|
||||
<option value="">{$lang->cmd_advanced_mailer_smtp_manual_entry}</option>
|
||||
<option value="gmail">Gmail</option>
|
||||
<option value="hanmail">Hanmail</option>
|
||||
<option value="naver">Naver</option>
|
||||
<option value="worksmobile">Works Mobile</option>
|
||||
<option value="outlook">Outlook.com</option>
|
||||
<option value="yahoo">Yahoo</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($conf_name === 'smtp_port')-->
|
||||
<div class="x_control-group hidden-by-default show-for-{$driver_name}">
|
||||
<label class="x_control-label" for="mail_{$driver_name}_smtp_port">{$lang->cmd_advanced_mailer_smtp_port}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="mail_{$driver_name}_smtp_port" id="mail_{$driver_name}_smtp_port" value="{$conf_value}" />
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($conf_name === 'smtp_security')-->
|
||||
<div class="x_control-group hidden-by-default show-for-{$driver_name}">
|
||||
<label class="x_control-label">{$lang->cmd_advanced_mailer_smtp_security}</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline" for="mail_{$driver_name}_security_none"><input type="radio" name="mail_{$driver_name}_smtp_security" id="mail_{$driver_name}_security_none" value="none" checked="checked"|cond="!in_array($conf_value, array('ssl', 'tls'))" /> {$lang->cmd_advanced_mailer_smtp_security_none}</label>
|
||||
<label class="x_inline" for="mail_{$driver_name}_security_ssl"><input type="radio" name="mail_{$driver_name}_smtp_security" id="mail_{$driver_name}_security_ssl" value="ssl" checked="checked"|cond="$conf_value === 'ssl'" /> {$lang->cmd_advanced_mailer_smtp_security_ssl}</label>
|
||||
<label class="x_inline" for="mail_{$driver_name}_security_tls"><input type="radio" name="mail_{$driver_name}_smtp_security" id="mail_{$driver_name}_security_tls" value="tls" checked="checked"|cond="$conf_value === 'tls'" /> {$lang->cmd_advanced_mailer_smtp_security_tls}</label>
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($conf_name === 'smtp_user')-->
|
||||
<div class="x_control-group hidden-by-default show-for-{$driver_name}">
|
||||
<label class="x_control-label" for="mail_{$driver_name}_smtp_user">{$lang->cmd_advanced_mailer_smtp_user}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="mail_{$driver_name}_smtp_user" id="mail_{$driver_name}_smtp_user" value="{$conf_value}" />
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($conf_name === 'smtp_pass')-->
|
||||
<div class="x_control-group hidden-by-default show-for-{$driver_name}">
|
||||
<label class="x_control-label" for="mail_smtp_pass">{$lang->cmd_advanced_mailer_smtp_pass}</label>
|
||||
<div class="x_controls">
|
||||
<input type="password" name="mail_{$driver_name}_smtp_pass" id="mail_{$driver_name}_smtp_pass" value="{$conf_value}" />
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($conf_name === 'api_type')-->
|
||||
<div class="x_control-group hidden-by-default show-for-{$driver_name}">
|
||||
<label class="x_control-label" for="mail_{$driver_name}_api_type">{$lang->cmd_advanced_mailer_api_type}</label>
|
||||
<div class="x_controls">
|
||||
<select id="mail_{$driver_name}_api_type" name="mail_{$driver_name}_api_type">
|
||||
<!--@foreach($driver_definition['api_types'] as $api_type)-->
|
||||
<option value="{$api_type}" selected="selected"|cond="$api_type === $conf_value">{$api_type}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($conf_name === 'api_domain')-->
|
||||
<div class="x_control-group hidden-by-default show-for-{$driver_name}">
|
||||
<label class="x_control-label" for="mail_{$driver_name}_api_domain">{$lang->cmd_advanced_mailer_api_domain}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="mail_{$driver_name}_api_domain" id="mail_{$driver_name}_api_domain" value="{$conf_value}" />
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($conf_name === 'api_token')-->
|
||||
<div class="x_control-group hidden-by-default show-for-{$driver_name}">
|
||||
<label class="x_control-label" for="mail_{$driver_name}_api_token">{$lang->cmd_advanced_mailer_api_token}</label>
|
||||
<div class="x_controls full-width">
|
||||
<input type="text" name="mail_{$driver_name}_api_token" id="mail_{$driver_name}_api_token" value="{$conf_value}" />
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($conf_name === 'api_user')-->
|
||||
<div class="x_control-group hidden-by-default show-for-{$driver_name}">
|
||||
<label class="x_control-label" for="mail_{$driver_name}_api_user">{$lang->cmd_advanced_mailer_api_user}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="mail_{$driver_name}_api_user" id="mail_{$driver_name}_api_user" value="{$conf_value}" />
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($conf_name === 'api_pass')-->
|
||||
<div class="x_control-group hidden-by-default show-for-{$driver_name}">
|
||||
<label class="x_control-label" for="mail_{$driver_name}_api_pass">{$lang->cmd_advanced_mailer_api_pass}</label>
|
||||
<div class="x_controls full-width">
|
||||
<input type="password" name="mail_{$driver_name}_api_pass" id="mail_{$driver_name}_api_pass" value="{$conf_value}" />
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@end-->
|
||||
|
||||
<!--@end-->
|
||||
|
||||
</section>
|
||||
|
||||
<section class="section">
|
||||
|
||||
<h2>{$lang->sms}</h2>
|
||||
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="sms_default_from">{$lang->cmd_admin_default_from_phone}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="sms_default_from" id="sms_default_from" value="{escape(config('sms.default_from'))}" />
|
||||
|
||||
<label for="sms_force_default_sender" class="x_inline">
|
||||
<input type="checkbox" name="sms_force_default_sender" id="sms_force_default_sender" value="Y" checked="checked"|cond="config('sms.default_force') !== false" />
|
||||
{$lang->cmd_admin_force_default_sender}
|
||||
</label>
|
||||
<br />
|
||||
<p class="x_help-block">{$lang->cmd_admin_default_from_phone_help}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="sms_driver">{$lang->cmd_admin_sending_method}</label>
|
||||
<div class="x_controls">
|
||||
<select name="sms_driver" id="sms_driver">
|
||||
<!--@foreach($sms_drivers as $driver_name => $driver_definition)-->
|
||||
<option value="{$driver_name}" selected="selected"|cond="$sms_driver === $driver_name">{$driver_definition['name']}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<p class="x_help-block hidden-by-default show-for-dummy">
|
||||
{$lang->cmd_admin_sms_dummy_driver_help}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--@foreach($sms_drivers as $driver_name => $driver_definition)-->
|
||||
|
||||
{@ $conf_names = array_merge($driver_definition['required'], $driver_definition['optional'])}
|
||||
|
||||
<!--@foreach($conf_names as $conf_name)-->
|
||||
|
||||
{@ $conf_value = escape(config("sms.$driver_name.$conf_name"))}
|
||||
|
||||
<!--@if($conf_name === 'api_key')-->
|
||||
<div class="x_control-group hidden-by-default show-for-{$driver_name}">
|
||||
<label class="x_control-label" for="sms_{$driver_name}_api_key">{$lang->cmd_advanced_mailer_api_key}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="sms_{$driver_name}_api_key" id="sms_{$driver_name}_api_key" value="{$conf_value}" />
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($conf_name === 'api_secret')-->
|
||||
<div class="x_control-group hidden-by-default show-for-{$driver_name}">
|
||||
<label class="x_control-label" for="sms_{$driver_name}_api_secret">{$lang->cmd_advanced_mailer_api_secret}</label>
|
||||
<div class="x_controls">
|
||||
<input type="password" name="sms_{$driver_name}_api_secret" id="sms_{$driver_name}_api_secret" value="{$conf_value}" />
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($conf_name === 'sender_key')-->
|
||||
<div class="x_control-group hidden-by-default show-for-{$driver_name}">
|
||||
<label class="x_control-label" for="sms_{$driver_name}_sender_key">{$lang->cmd_advanced_mailer_sender_key}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="sms_{$driver_name}_sender_key" id="sms_{$driver_name}_sender_key" value="{$conf_value}" />
|
||||
<br />
|
||||
<p class="x_help-block">{$lang->cmd_admin_sms_sender_key_help}</p>
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@end-->
|
||||
|
||||
<!--@end-->
|
||||
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->cmd_admin_allow_split_sms}</label>
|
||||
<div class="x_controls">
|
||||
<label for="allow_split_sms_y" class="x_inline">
|
||||
<input type="radio" name="allow_split_sms" id="allow_split_sms_y" value="Y" checked="checked"|cond="config('sms.allow_split.sms') !== false" />
|
||||
{$lang->cmd_yes}
|
||||
</label>
|
||||
<label for="allow_split_sms_n" class="x_inline">
|
||||
<input type="radio" name="allow_split_sms" id="allow_split_sms_n" value="N" checked="checked"|cond="config('sms.allow_split.sms') === false" />
|
||||
{$lang->cmd_no}
|
||||
</label>
|
||||
<br />
|
||||
<p class="x_help-block">{$lang->cmd_admin_allow_split_sms_help}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->cmd_admin_allow_split_lms}</label>
|
||||
<div class="x_controls">
|
||||
<label for="allow_split_lms_y" class="x_inline">
|
||||
<input type="radio" name="allow_split_lms" id="allow_split_lms_y" value="Y" checked="checked"|cond="config('sms.allow_split.lms') !== false" />
|
||||
{$lang->cmd_yes}
|
||||
</label>
|
||||
<label for="allow_split_lms_n" class="x_inline">
|
||||
<input type="radio" name="allow_split_lms" id="allow_split_lms_n" value="N" checked="checked"|cond="config('sms.allow_split.lms') === false" />
|
||||
{$lang->cmd_no}
|
||||
</label>
|
||||
<br />
|
||||
<p class="x_help-block">{$lang->cmd_admin_allow_split_lms_help}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
<div class="x_clearfix btnArea">
|
||||
<div class="x_pull-right">
|
||||
<button type="submit" class="x_btn x_btn-primary">{$lang->cmd_save}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -19,6 +19,12 @@
|
|||
<textarea name="mediafilter_object" id="mediafilter_object" rows="8" style="width:100%;">{$mediafilter_object}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="mediafilter_classes">HTML class</label>
|
||||
<div class="x_controls" style="margin-right:14px">
|
||||
<textarea name="mediafilter_classes" id="mediafilter_classes" rows="4" style="width:100%;">{$mediafilter_classes}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="admin_allowed_ip">{$lang->admin_ip_allow}</label>
|
||||
<div class="x_controls">
|
||||
|
|
|
|||
82
modules/admin/tpl/js/notification_config.js
Normal file
82
modules/admin/tpl/js/notification_config.js
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
|
||||
(function($) {
|
||||
|
||||
$(function() {
|
||||
|
||||
$("#mail_driver").on("change", function() {
|
||||
var selected_driver = $(this).val();
|
||||
$(this).parents("section").find("div.x_control-group.hidden-by-default, p.x_help-block.hidden-by-default").each(function() {
|
||||
if ($(this).hasClass("show-for-" + selected_driver)) {
|
||||
$(this).show();
|
||||
} else {
|
||||
$(this).hide();
|
||||
}
|
||||
});
|
||||
}).triggerHandler("change");
|
||||
|
||||
$("#sms_driver").on("change", function() {
|
||||
var selected_driver = $(this).val();
|
||||
$(this).parents("section").find("div.x_control-group.hidden-by-default, p.x_help-block.hidden-by-default").each(function() {
|
||||
if ($(this).hasClass("show-for-" + selected_driver)) {
|
||||
$(this).show();
|
||||
} else {
|
||||
$(this).hide();
|
||||
}
|
||||
});
|
||||
}).triggerHandler("change");
|
||||
|
||||
$("#mail_smtp_manual_entry").on("change", function() {
|
||||
var auto_fill = $(this).val();
|
||||
if (auto_fill === 'gmail') {
|
||||
$("#mail_smtp_smtp_host").val('smtp.gmail.com');
|
||||
$("#mail_smtp_smtp_port").val('465');
|
||||
$("#mail_smtp_security_ssl").prop("checked", true).parent().addClass("checked");
|
||||
$("#mail_smtp_security_tls").parent().removeClass("checked");
|
||||
$("#mail_smtp_security_none").parent().removeClass("checked");
|
||||
$("#mail_force_default_sender").prop("checked", true).parent().addClass("checked");
|
||||
}
|
||||
if (auto_fill === 'hanmail') {
|
||||
$("#mail_smtp_smtp_host").val('smtp.daum.net');
|
||||
$("#mail_smtp_smtp_port").val('465');
|
||||
$("#mail_smtp_security_ssl").prop("checked", true).parent().addClass("checked");
|
||||
$("#mail_smtp_security_tls").parent().removeClass("checked");
|
||||
$("#mail_smtp_security_none").parent().removeClass("checked");
|
||||
$("#mail_force_default_sender").prop("checked", true).parent().addClass("checked");
|
||||
}
|
||||
if (auto_fill === 'naver') {
|
||||
$("#mail_smtp_smtp_host").val('smtp.naver.com');
|
||||
$("#mail_smtp_smtp_port").val('587');
|
||||
$("#mail_smtp_security_tls").prop("checked", true).parent().addClass("checked");
|
||||
$("#mail_smtp_security_ssl").parent().removeClass("checked");
|
||||
$("#mail_smtp_security_none").parent().removeClass("checked");
|
||||
$("#mail_force_default_sender").prop("checked", true).parent().addClass("checked");
|
||||
}
|
||||
if (auto_fill === 'worksmobile') {
|
||||
$("#mail_smtp_smtp_host").val('smtp.worksmobile.com');
|
||||
$("#mail_smtp_smtp_port").val('587');
|
||||
$("#mail_smtp_security_tls").prop("checked", true).parent().addClass("checked");
|
||||
$("#mail_smtp_security_ssl").parent().removeClass("checked");
|
||||
$("#mail_smtp_security_none").parent().removeClass("checked");
|
||||
$("#mail_force_default_sender").prop("checked", true).parent().addClass("checked");
|
||||
}
|
||||
if (auto_fill === 'outlook') {
|
||||
$("#mail_smtp_smtp_host").val('smtp-mail.outlook.com');
|
||||
$("#mail_smtp_smtp_port").val('587');
|
||||
$("#mail_smtp_security_tls").prop("checked", true).parent().addClass("checked");
|
||||
$("#mail_smtp_security_ssl").parent().removeClass("checked");
|
||||
$("#mail_smtp_security_none").parent().removeClass("checked");
|
||||
$("#mail_force_default_sender").prop("checked", true).parent().addClass("checked");
|
||||
}
|
||||
if (auto_fill === 'yahoo') {
|
||||
$("#mail_smtp_smtp_host").val('smtp.mail.yahoo.com');
|
||||
$("#mail_smtp_smtp_port").val('465');
|
||||
$("#mail_smtp_security_ssl").prop("checked", true).parent().addClass("checked");
|
||||
$("#mail_smtp_security_tls").parent().removeClass("checked");
|
||||
$("#mail_smtp_security_none").parent().removeClass("checked");
|
||||
$("#mail_force_default_sender").prop("checked", true).parent().addClass("checked");
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
} (jQuery));
|
||||
Loading…
Add table
Add a link
Reference in a new issue