diff --git a/modules/admin/admin.admin.controller.php b/modules/admin/admin.admin.controller.php index b67bef555..cbaa546db 100644 --- a/modules/admin/admin.admin.controller.php +++ b/modules/admin/admin.admin.controller.php @@ -1039,13 +1039,17 @@ class adminAdminController extends admin 'html_footer' => $vars->html_footer, ); + // Get the DB object and begin a transaction. + $oDB = DB::getInstance(); + $oDB->begin(); + // Insert or update the domain. if (!$domain_info) { $args = new stdClass(); - $args->domain_srl = getNextSequence(); + $args->domain_srl = $domain_srl = getNextSequence(); $args->domain = $vars->domain; - $args->is_default_domain = 'N'; + $args->is_default_domain = $vars->is_default_domain === 'Y' ? 'Y' : 'N'; $args->index_module_srl = $vars->index_module_srl; $args->index_document_srl = $vars->index_document_srl; $args->http_port = $vars->http_port; @@ -1064,6 +1068,7 @@ class adminAdminController extends admin $args = new stdClass(); $args->domain_srl = $domain_info->domain_srl; $args->domain = $vars->domain; + $args->is_default_domain = $vars->is_default_domain === 'Y' ? 'Y' : 'N'; $args->index_module_srl = $vars->index_module_srl; $args->index_document_srl = $vars->index_document_srl; $args->http_port = $vars->http_port; @@ -1077,18 +1082,30 @@ class adminAdminController extends admin } } + // If changing the default domain, set all other domains as non-default. + if ($vars->is_default_domain === 'Y') + { + $args = new stdClass(); + $args->not_domain_srl = $domain_srl; + $output = executeQuery('module.updateDefaultDomain', $args); + if (!$output->toBool()) + { + return $output; + } + } + // Save the favicon, mobicon, and default image. if ($vars->favicon || $vars->delete_favicon) { - $this->_saveFavicon($args->domain_srl, $vars->favicon, 'favicon.ico', $vars->delete_favicon); + $this->_saveFavicon($domain_srl, $vars->favicon, 'favicon.ico', $vars->delete_favicon); } if ($vars->mobicon || $vars->delete_mobicon) { - $this->_saveFavicon($args->domain_srl, $vars->mobicon, 'mobicon.png', $vars->delete_mobicon); + $this->_saveFavicon($domain_srl, $vars->mobicon, 'mobicon.png', $vars->delete_mobicon); } if ($vars->default_image || $vars->delete_default_image) { - $this->_saveDefaultImage($args->domain_srl, $vars->default_image, $vars->delete_default_image); + $this->_saveDefaultImage($domain_srl, $vars->default_image, $vars->delete_default_image); } // Update system configuration to match the default domain. @@ -1105,6 +1122,9 @@ class adminAdminController extends admin Rhymix\Framework\Config::save(); } + // Commit. + $oDB->commit(); + // Clear cache. Rhymix\Framework\Cache::clearGroup('site_and_module'); diff --git a/modules/admin/lang/en.php b/modules/admin/lang/en.php index a3eaf686d..c6a8a6ef3 100644 --- a/modules/admin/lang/en.php +++ b/modules/admin/lang/en.php @@ -118,6 +118,7 @@ $lang->cmd_index_document_srl = 'Main Document'; $lang->cmd_default_language = 'Default Language'; $lang->cmd_new_domain = 'Add New Domain'; $lang->cmd_edit_domain = 'Edit Domain'; +$lang->cmd_is_default_domain = 'Default Domain'; $lang->about_use_ssl = 'Selecting \'Optional\' is to use SSL for the specified actions such as signing up and changing information.
Selecting \'Always\' is to use SSL for the entire pages, generated by Rhymix.
Please be careful! You may not be able to access to the site, before installing SSL certificate.'; $lang->server_ports = 'Server Port'; $lang->about_server_ports = 'If your web server does not use 80 for HTTP or 443 for HTTPS port, you should specify server ports.'; diff --git a/modules/admin/lang/ko.php b/modules/admin/lang/ko.php index 85d73a44f..a02342c28 100644 --- a/modules/admin/lang/ko.php +++ b/modules/admin/lang/ko.php @@ -117,10 +117,11 @@ $lang->cmd_index_document_srl = '메인 문서'; $lang->cmd_default_language = '기본 언어'; $lang->cmd_new_domain = '새 도메인 추가'; $lang->cmd_edit_domain = '도메인 정보 수정'; +$lang->cmd_is_default_domain = '기본 도메인'; $lang->about_use_ssl = '\'선택적으로 사용\'은 회원가입, 정보수정 등의 지정된 동작(action)에서만 보안접속(HTTPS)을 사용합니다.
\'항상 사용\'은 사이트 전체에 HTTPS를 사용합니다.
SSL 인증서가 설치되지 않은 상태에서 HTTPS 사용을 시도하면 접속이 되지 않을 수 있으니 주의하시기 바랍니다.'; $lang->server_ports = '포트'; $lang->about_server_ports = 'HTTP는 80, HTTPS는 443 이 아닌, 다른 포트를 사용할 경우에 포트를 지정해 주어야 합니다.'; -$lang->msg_site_title_is_empty = '사이트 이름을 입력해 주십시오.'; +$lang->msg_site_title_is_empty = '사이트 제목을 입력해 주십시오.'; $lang->msg_invalid_domain = '올바르지 않은 도메인입니다.'; $lang->msg_domain_already_exists = '이미 등록된 도메인입니다.'; $lang->msg_invalid_http_port = '올바르지 않은 HTTP 포트입니다.'; diff --git a/modules/admin/tpl/config_domains_edit.html b/modules/admin/tpl/config_domains_edit.html index 1c882208a..889025d49 100644 --- a/modules/admin/tpl/config_domains_edit.html +++ b/modules/admin/tpl/config_domains_edit.html @@ -27,6 +27,10 @@
+   +