Implement domain management screen in admin module

This commit is contained in:
Kijin Sung 2017-02-22 16:46:05 +09:00
parent b88bedf9fd
commit a5c2783cf5
6 changed files with 133 additions and 10 deletions

View file

@ -582,6 +582,38 @@ class adminAdminView extends admin
$this->setTemplateFile('config_advanced');
}
/**
* Display Debug Settings page
* @return void
*/
function dispAdminConfigDomains()
{
// Get domain list.
$oModuleModel = getModel('module');
$page = intval(Context::get('page')) ?: 1;
$domain_list = $oModuleModel->getAllDomains(20, $page);
Context::set('domain_list', $domain_list);
Context::set('page_navigation', $domain_list->page_navigation);
Context::set('page', $page);
// Get index module info.
$module_list = array();
$oModuleModel = getModel('module');
foreach ($domain_list->data as $domain)
{
if ($domain->index_module_srl && !isset($module_list[$domain->index_module_srl]))
{
$module_list[$domain->index_module_srl] = $oModuleModel->getModuleInfoByModuleSrl($domain->index_module_srl);
}
}
Context::set('module_list', $module_list);
// Get language list.
Context::set('supported_lang', Rhymix\Framework\Lang::getSupportedList());
$this->setTemplateFile('config_domains');
}
/**
* Display Debug Settings page
* @return void

View file

@ -8,6 +8,7 @@
<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="dispAdminConfigDomains" type="view" menu_name="adminConfigurationDomains" />
<action name="dispAdminConfigDebug" type="view" menu_name="adminConfigurationGeneral" />
<action name="dispAdminConfigSEO" type="view" menu_name="adminConfigurationGeneral" />
<action name="dispAdminConfigSitelock" type="view" menu_name="adminConfigurationGeneral" />
@ -28,6 +29,7 @@
<action name="procAdminUpdateNotification" type="controller" />
<action name="procAdminUpdateSecurity" type="controller" />
<action name="procAdminUpdateAdvanced" type="controller" />
<action name="procAdminUpdateDomains" type="controller" />
<action name="procAdminUpdateDebug" type="controller" />
<action name="procAdminUpdateSEO" type="controller" />
<action name="procAdminUpdateSitelock" type="controller" />

View file

@ -1,11 +1,12 @@
<?php
$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';
$lang->subtitle_primary = 'General';
$lang->subtitle_notification = 'Notifications';
$lang->subtitle_security = 'Security';
$lang->subtitle_advanced = 'Advanced';
$lang->subtitle_domains = 'Domains';
$lang->subtitle_debug = 'Debug';
$lang->subtitle_seo = 'SEO Settings';
$lang->subtitle_etc = 'Other Settings';
$lang->current_state = 'Current state';
@ -104,10 +105,16 @@ $lang->auto_select_lang = 'Auto-select Language';
$lang->about_auto_select_lang = 'Automatically select the language based on the language of each visitor\'s browser.';
$lang->about_recompile_cache = 'Delete useless or invalid cache files?';
$lang->confirm_run = 'It may take a long time. Do you want to run?';
$lang->use_ssl = 'Use <abbr title="Secure Sockets Layer">SSL</abbr>';
$lang->ssl_options['none'] = 'Never';
$lang->use_ssl = 'Use HTTPS';
$lang->ssl_options['none'] = 'None';
$lang->ssl_options['optional'] = 'Optional';
$lang->ssl_options['always'] = 'Always';
$lang->cmd_http_port = 'HTTP Port';
$lang->cmd_https_port = 'HTTPS Port';
$lang->cmd_index_module_srl = 'Main Module';
$lang->cmd_index_document_srl = 'Main Document';
$lang->cmd_default_language = 'Default Language';
$lang->cmd_new_domain = 'Add New 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 all services. Please be careful because you may not be avaliable to access to the site if you use SSL where its environment is not set.';
$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.';

View file

@ -5,6 +5,7 @@ $lang->subtitle_primary = '기본 설정';
$lang->subtitle_notification = '알림 설정';
$lang->subtitle_security = '보안 설정';
$lang->subtitle_advanced = '고급 설정';
$lang->subtitle_domains = '도메인 설정';
$lang->subtitle_debug = '디버그 설정';
$lang->subtitle_seo = 'SEO 설정';
$lang->subtitle_etc = '기타';
@ -104,10 +105,16 @@ $lang->auto_select_lang = '언어 자동 선택';
$lang->about_auto_select_lang = '방문자의 브라우저 언어에 따라 자동으로 언어를 선택하는 기능입니다.';
$lang->about_recompile_cache = '쓸모 없어졌거나 잘못된 캐시파일들을 지우시겠습니까?';
$lang->confirm_run = '오랜 시간이 걸릴 수 있습니다. 실행하시겠습니까?';
$lang->use_ssl = '<abbr title="Secure Sockets Layer">SSL</abbr> 사용';
$lang->ssl_options['none'] = '사용안함';
$lang->ssl_options['optional'] = '선택적으로';
$lang->use_ssl = 'HTTPS 사용';
$lang->ssl_options['none'] = '사용 안함';
$lang->ssl_options['optional'] = '선택적 사용';
$lang->ssl_options['always'] = '항상 사용';
$lang->cmd_http_port = 'HTTP 포트';
$lang->cmd_https_port = 'HTTPS 포트';
$lang->cmd_index_module_srl = '메인 모듈';
$lang->cmd_index_document_srl = '메인 문서';
$lang->cmd_default_language = '기본 언어';
$lang->cmd_new_domain = '새 도메인 추가';
$lang->about_use_ssl = '\'선택적으로\'는 회원가입, 정보수정 등의 지정된 동작(action)에서 보안접속(SSL)을 사용합니다. \'항상 사용\'은 모든 서비스에 SSL을 사용 합니다. SSL 환경이 갖춰지지 않은 상태에서 SSL을 사용할 경우 접속이 되지 않을 수 있으니 주의 바랍니다.';
$lang->server_ports = '서버 포트 지정';
$lang->about_server_ports = 'HTTP는 80, HTTPS는 443 이 아닌, 다른 포트를 사용할 경우에 포트를 지정해 주어야 합니다.';

View file

@ -0,0 +1,74 @@
<include target="config_header.html" />
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/admin/tpl/config_domains/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<section class="section">
<table id="domain_list" class="x_table x_table-striped x_table-hover">
<thead>
<tr>
<th scope="col" class="nowr">{$lang->domain}</th>
<th scope="col" class="nowr">{$lang->cmd_http_port}</th>
<th scope="col" class="nowr">{$lang->cmd_https_port}</th>
<th scope="col" class="nowr">{$lang->use_ssl}</th>
<th scope="col" class="nowr">{$lang->cmd_index_module_srl}</th>
<th scope="col" class="nowr">{$lang->cmd_index_document_srl}</th>
<th scope="col" class="nowr">{$lang->cmd_default_language}</th>
<th scope="col" class="nowr">{$lang->cmd_modify} / {$lang->cmd_delete}</th>
</tr>
</thead>
<tbody>
<tr loop="$domain_list->data => $domain">
<td class="nowr">{$domain->domain}</td>
<td class="nowr">{$domain->http_port ?: ''}</td>
<td class="nowr">{$domain->https_port ?: ''}</td>
<td class="nowr">{$lang->ssl_options[$domain->security ?: 'none']}</td>
<td class="nowr">
<a href="{getSiteUrl($domain->domain, '', 'mid', $module_list[$domain->index_module_srl]->mid)}" cond="$domain->index_module_srl && $module_list[$domain->index_module_srl]" target="_blank">
{($domain->index_module_srl && $module_list[$domain->index_module_srl]) ? $module_list[$domain->index_module_srl]->browser_title : ''}</td>
</a>
<td class="nowr">
<a href="{getSiteUrl($domain->domain, '', 'document_srl', $domain->index_document_srl)}" cond="$domain->index_document_srl" target="_blank">
{$domain->index_document_srl ?: ''}
</a>
</td>
<td class="nowr">{$domain->settings->language ? $supported_lang[$domain->settings->language]['name'] : $supported_lang[config('locale.default_lang')]['name']}</td>
<td class="nowr">
<a href="{getUrl('', 'module', 'admin', 'act', 'dispAdminInsertDomain', 'domain_srl', $domain->domain_srl)}">{$lang->cmd_modify}</a>
/
<a href="{getUrl('', 'module', 'admin', 'act', 'dispAdminDeleteDomain', 'domain_srl', $domain->domain_srl)}">{$lang->cmd_delete}</a>
</td>
</tr>
<tr cond="$page_navigation->total_count == 0">
<td>{$lang->msg_no_result}</td>
</tr>
</tbody>
</table>
<div class="x_clearfix">
<div class="x_pull-left x_pagination" style="margin:0">
<ul>
<li class="x_disabled"|cond="$page == 1"><a href="{getUrl('page', '')}">&laquo; {$lang->first_page}</a></li>
<!--@while($page_no = $page_navigation->getNextPage())-->
<li class="x_active"|cond="$page_no == $page"><a href="{getUrl('page', $page_no)}">{$page_no}</a></li>
<!--@end-->
<li class="x_disabled"|cond="$page == $page_navigation->last_page"><a href="{getUrl('page', $page_navigation->last_page)}">{$lang->last_page} &raquo;</a></li>
</ul>
</div>
<div class="x_pull-right x_btn-group">
<a class="x_btn x_btn-inverse" href="{getUrl('', 'module', 'admin', 'act', 'dispAdminInsertDomain')}">{$lang->cmd_new_domain}</a>
</div>
</div>
</section>
<section class="section">
<form action="./" method="post" class="x_form-horizontal">
<input type="hidden" name="module" value="admin" />
<input type="hidden" name="act" value="procAdminUpdateDomains" />
<input type="hidden" name="xe_validator_id" value="modules/admin/tpl/config_domains/1" />
<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>
</section>

View file

@ -8,6 +8,7 @@
<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 == 'dispAdminConfigDomains'"><a href="{getUrl('', 'module', 'admin', 'act', 'dispAdminConfigDomains')}">{$lang->subtitle_domains}</a></li>
<li class="x_active"|cond="$act == 'dispAdminConfigDebug'"><a href="{getUrl('', 'module', 'admin', 'act', 'dispAdminConfigDebug')}">{$lang->subtitle_debug}</a></li>
<li class="x_active"|cond="$act == 'dispAdminConfigSEO'"><a href="{getUrl('', 'module', 'admin', 'act', 'dispAdminConfigSEO')}">{$lang->subtitle_seo}</a></li>
<li class="x_active"|cond="$act == 'dispAdminConfigSitelock'"><a href="{getUrl('', 'module', 'admin', 'act', 'dispAdminConfigSitelock')}">{$lang->subtitle_sitelock}</a></li>