Save all email and SMS related config on the same screen

This commit is contained in:
Kijin Sung 2016-11-12 15:53:56 +09:00
parent 87b9f7bae6
commit ab004329c4
6 changed files with 93 additions and 10 deletions

View file

@ -610,9 +610,29 @@ class adminAdminController extends admin
$sms_driver_config[$conf_name] = $conf_value;
}
// Save.
// 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::save();

View file

@ -454,6 +454,20 @@ class adminAdminView extends admin
// 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);

View file

@ -79,6 +79,12 @@ $lang->about_lang_env = 'If you want to make the language setting same for first
$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->default_lang = 'Default Language';
$lang->lang_select = 'Supported Languages';
$lang->auto_select_lang = 'Auto-select Language';

View file

@ -79,6 +79,12 @@ $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->default_lang = '기본 언어 선택';
$lang->lang_select = '지원 언어 선택';
$lang->auto_select_lang = '언어 자동 선택';

View file

@ -18,8 +18,34 @@
<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}" />
</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)}" />
&nbsp;
<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>
</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'))}" />
</div>
</div>
<div class="x_control-group show-always">
<label class="x_control-label" for="mail_driver">{$lang->cmd_advanced_mailer_sending_method_default}</label>
<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)-->
@ -153,8 +179,20 @@
<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'))}" />
&nbsp;
<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')" />
{$lang->cmd_admin_force_default_sender}
</label>
</div>
</div>
<div class="x_control-group show-always">
<label class="x_control-label" for="sms_driver">{$lang->cmd_advanced_mailer_sending_method_default}</label>
<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)-->
@ -164,7 +202,6 @@
</div>
</div>
<!--@foreach($sms_drivers as $driver_name => $driver_definition)-->
{@ $conf_names = array_merge($driver_definition['required'], $driver_definition['optional'])}

View file

@ -39,7 +39,7 @@
$("#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_sender").prop("checked", true).parent().addClass("checked");
$("#mail_force_default_sender").prop("checked", true).parent().addClass("checked");
}
if (auto_fill === 'hanmail') {
$("#mail_smtp_smtp_host").val('smtp.daum.net');
@ -47,7 +47,7 @@
$("#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_sender").prop("checked", true).parent().addClass("checked");
$("#mail_force_default_sender").prop("checked", true).parent().addClass("checked");
}
if (auto_fill === 'naver') {
$("#mail_smtp_smtp_host").val('smtp.naver.com');
@ -55,7 +55,7 @@
$("#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_sender").prop("checked", true).parent().addClass("checked");
$("#mail_force_default_sender").prop("checked", true).parent().addClass("checked");
}
if (auto_fill === 'worksmobile') {
$("#mail_smtp_smtp_host").val('smtp.worksmobile.com');
@ -63,7 +63,7 @@
$("#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_sender").prop("checked", true).parent().addClass("checked");
$("#mail_force_default_sender").prop("checked", true).parent().addClass("checked");
}
if (auto_fill === 'outlook') {
$("#mail_smtp_smtp_host").val('smtp-mail.outlook.com');
@ -71,7 +71,7 @@
$("#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_sender").prop("checked", true).parent().addClass("checked");
$("#mail_force_default_sender").prop("checked", true).parent().addClass("checked");
}
if (auto_fill === 'yahoo') {
$("#mail_smtp_smtp_host").val('smtp.mail.yahoo.com');
@ -79,7 +79,7 @@
$("#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_sender").prop("checked", true).parent().addClass("checked");
$("#mail_force_default_sender").prop("checked", true).parent().addClass("checked");
}
});