mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-09 03:32:00 +09:00
Implement remainder of domain management screen
This commit is contained in:
parent
8d53304e71
commit
dcd4b8b046
7 changed files with 275 additions and 7 deletions
|
|
@ -987,6 +987,145 @@ class adminAdminController extends admin
|
||||||
$this->setRedirectUrl(Context::get('success_return_url') ?: getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAdminConfigSitelock'));
|
$this->setRedirectUrl(Context::get('success_return_url') ?: getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAdminConfigSitelock'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert or update domain info
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function procAdminInsertDomain()
|
||||||
|
{
|
||||||
|
$vars = Context::getRequestVars();
|
||||||
|
$domain_srl = strval($vars->domain_srl);
|
||||||
|
$domain_info = null;
|
||||||
|
if ($domain_srl !== '')
|
||||||
|
{
|
||||||
|
$output = executeQuery('module.getDomainInfo', (object)array('domain_srl' => $domain_srl));
|
||||||
|
if ($output->toBool() && $output->data)
|
||||||
|
{
|
||||||
|
$domain_info = $output->data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate the domain.
|
||||||
|
if (!preg_match('@^https?://@', $vars->domain))
|
||||||
|
{
|
||||||
|
$vars->domain = 'http://' . $vars->domain;
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$vars->domain = Rhymix\Framework\URL::getDomainFromUrl(strtolower($vars->domain));
|
||||||
|
}
|
||||||
|
catch (Exception $e)
|
||||||
|
{
|
||||||
|
$vars->domain = '';
|
||||||
|
}
|
||||||
|
if (!$vars->domain)
|
||||||
|
{
|
||||||
|
return new Object(-1, 'msg_invalid_domain');
|
||||||
|
}
|
||||||
|
$existing_domain = getModel('module')->getSiteInfoByDomain($vars->domain);
|
||||||
|
if ($existing_domain && $existing_domain->domain == $vars->domain && (!$domain_info || $existing_domain->domain_srl != $domain_info->domain_srl))
|
||||||
|
{
|
||||||
|
return new Object(-1, 'msg_domain_already_exists');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate the ports.
|
||||||
|
if ($vars->http_port == 80 || !$vars->http_port)
|
||||||
|
{
|
||||||
|
$vars->http_port = 0;
|
||||||
|
}
|
||||||
|
if ($vars->https_port == 443 || !$vars->https_port)
|
||||||
|
{
|
||||||
|
$vars->https_port = 0;
|
||||||
|
}
|
||||||
|
if ($vars->http_port !== 0 && ($vars->http_port < 1 || $vars->http_port > 65535 || $vars->http_port == 443))
|
||||||
|
{
|
||||||
|
return new Object(-1, 'msg_invalid_http_port');
|
||||||
|
}
|
||||||
|
if ($vars->https_port !== 0 && ($vars->https_port < 1 || $vars->https_port > 65535 || $vars->https_port == 80))
|
||||||
|
{
|
||||||
|
return new Object(-1, 'msg_invalid_http_port');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate the security setting.
|
||||||
|
$valid_security_options = array('none', 'optional', 'always');
|
||||||
|
if (!in_array($vars->domain_security, $valid_security_options))
|
||||||
|
{
|
||||||
|
$vars->domain_security = 'none';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate the index module setting.
|
||||||
|
$module_info = getModel('module')->getModuleInfoByModuleSrl(intval($vars->index_module_srl));
|
||||||
|
if (!$module_info || $module_info->module_srl != $vars->index_module_srl)
|
||||||
|
{
|
||||||
|
return new Object(-1, 'msg_invalid_index_module_srl');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate the index document setting.
|
||||||
|
if ($vars->index_document_srl)
|
||||||
|
{
|
||||||
|
$oDocument = getModel('document')->getDocument($vars->index_document_srl);
|
||||||
|
if (!$oDocument || !$oDocument->isExists())
|
||||||
|
{
|
||||||
|
return new Object(-1, 'msg_invalid_index_document_srl');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$vars->index_document_srl = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate the default language.
|
||||||
|
$enabled_lang = Rhymix\Framework\Config::get('locale.enabled_lang');
|
||||||
|
if (!in_array($vars->default_lang, $enabled_lang))
|
||||||
|
{
|
||||||
|
return new Object(-1, 'msg_lang_is_not_enabled');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Insert or update the domain.
|
||||||
|
if (!$domain_info)
|
||||||
|
{
|
||||||
|
$args = new stdClass();
|
||||||
|
$args->domain_srl = getNextSequence();
|
||||||
|
$args->domain = $vars->domain;
|
||||||
|
$args->index_module_srl = $vars->index_module_srl;
|
||||||
|
$args->index_document_srl = $vars->index_document_srl;
|
||||||
|
$args->http_port = $vars->http_port;
|
||||||
|
$args->https_port = $vars->https_port;
|
||||||
|
$args->security = $vars->domain_security;
|
||||||
|
$args->description = '';
|
||||||
|
$args->settings = json_encode(array('language' => $vars->default_lang, 'timezone' => null));
|
||||||
|
$output = executeQuery('module.insertDomain', $args);
|
||||||
|
if (!$output->toBool())
|
||||||
|
{
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$args = new stdClass();
|
||||||
|
$args->domain_srl = $domain_info->domain_srl;
|
||||||
|
$args->domain = $vars->domain;
|
||||||
|
$args->index_module_srl = $vars->index_module_srl;
|
||||||
|
$args->index_document_srl = $vars->index_document_srl;
|
||||||
|
$args->http_port = $vars->http_port;
|
||||||
|
$args->https_port = $vars->https_port;
|
||||||
|
$args->security = $vars->domain_security;
|
||||||
|
$args->settings = json_encode(array_merge($domain_info->settings, array('language' => $vars->default_lang)));
|
||||||
|
$output = executeQuery('module.updateDomain', $args);
|
||||||
|
if (!$output->toBool())
|
||||||
|
{
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clear cache.
|
||||||
|
Rhymix\Framework\Cache::clearGroup('site_and_module');
|
||||||
|
|
||||||
|
// Redirect to the domain list.
|
||||||
|
$this->setRedirectUrl(Context::get('success_return_url') ?: getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAdminConfigDomains'));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update FTP configuration.
|
* Update FTP configuration.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -691,6 +691,54 @@ class adminAdminView extends admin
|
||||||
$this->setTemplateFile('config_sitelock');
|
$this->setTemplateFile('config_sitelock');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display domain edit screen
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function dispAdminInsertDomain()
|
||||||
|
{
|
||||||
|
// Get selected domain.
|
||||||
|
$domain_srl = strval(Context::get('domain_srl'));
|
||||||
|
$domain_info = null;
|
||||||
|
if ($domain_srl !== '')
|
||||||
|
{
|
||||||
|
$output = executeQuery('module.getDomainInfo', (object)array('domain_srl' => $domain_srl));
|
||||||
|
if ($output->toBool() && $output->data)
|
||||||
|
{
|
||||||
|
$domain_info = $output->data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Context::set('domain_info', $domain_info);
|
||||||
|
|
||||||
|
// Get modules.
|
||||||
|
$module_list = getModel('module')->getMidList();
|
||||||
|
if ($domain_info && $domain_info->index_module_srl)
|
||||||
|
{
|
||||||
|
$index_module_srl = $domain_info->index_module_srl;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$index_module_srl = 0;
|
||||||
|
}
|
||||||
|
Context::set('module_list', $module_list);
|
||||||
|
Context::set('index_module_srl', $index_module_srl);
|
||||||
|
|
||||||
|
// Get language list.
|
||||||
|
Context::set('supported_lang', Rhymix\Framework\Lang::getSupportedList());
|
||||||
|
Context::set('enabled_lang', Rhymix\Framework\Config::get('locale.enabled_lang'));
|
||||||
|
if ($domain_info && $domain_info->settings->language)
|
||||||
|
{
|
||||||
|
$domain_lang = $domain_info->settings->language;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$domain_lang = Rhymix\Framework\Config::get('locale.default_lang');
|
||||||
|
}
|
||||||
|
Context::set('domain_lang', $domain_lang);
|
||||||
|
|
||||||
|
$this->setTemplateFile('config_domains_edit');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display FTP Configuration(settings) page
|
* Display FTP Configuration(settings) page
|
||||||
* @return void
|
* @return void
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@
|
||||||
<action name="dispAdminConfigDebug" type="view" menu_name="adminConfigurationGeneral" />
|
<action name="dispAdminConfigDebug" type="view" menu_name="adminConfigurationGeneral" />
|
||||||
<action name="dispAdminConfigSEO" type="view" menu_name="adminConfigurationGeneral" />
|
<action name="dispAdminConfigSEO" type="view" menu_name="adminConfigurationGeneral" />
|
||||||
<action name="dispAdminConfigSitelock" type="view" menu_name="adminConfigurationGeneral" />
|
<action name="dispAdminConfigSitelock" type="view" menu_name="adminConfigurationGeneral" />
|
||||||
|
<action name="dispAdminInsertDomain" type="view" menu_name="adminConfigurationGeneral" />
|
||||||
<action name="dispAdminConfigFtp" type="view" menu_name="adminConfigurationFtp" menu_index="true" />
|
<action name="dispAdminConfigFtp" type="view" menu_name="adminConfigurationFtp" menu_index="true" />
|
||||||
<action name="dispAdminSetup" type="view" menu_name="adminMenuSetup" menu_index="true" />
|
<action name="dispAdminSetup" type="view" menu_name="adminMenuSetup" menu_index="true" />
|
||||||
<action name="dispAdminViewServerEnv" type="view" />
|
<action name="dispAdminViewServerEnv" type="view" />
|
||||||
|
|
@ -33,6 +34,7 @@
|
||||||
<action name="procAdminUpdateDebug" type="controller" />
|
<action name="procAdminUpdateDebug" type="controller" />
|
||||||
<action name="procAdminUpdateSEO" type="controller" />
|
<action name="procAdminUpdateSEO" type="controller" />
|
||||||
<action name="procAdminUpdateSitelock" type="controller" />
|
<action name="procAdminUpdateSitelock" type="controller" />
|
||||||
|
<action name="procAdminInsertDomain" type="controller" />
|
||||||
<action name="procAdminUpdateFTPInfo" type="controller" />
|
<action name="procAdminUpdateFTPInfo" type="controller" />
|
||||||
<action name="procAdminRemoveFTPInfo" type="controller" />
|
<action name="procAdminRemoveFTPInfo" type="controller" />
|
||||||
<action name="procAdminFaviconUpload" type="controller" />
|
<action name="procAdminFaviconUpload" type="controller" />
|
||||||
|
|
|
||||||
|
|
@ -106,8 +106,8 @@ $lang->about_auto_select_lang = '방문자의 브라우저 언어에 따라 자
|
||||||
$lang->about_recompile_cache = '쓸모 없어졌거나 잘못된 캐시파일들을 지우시겠습니까?';
|
$lang->about_recompile_cache = '쓸모 없어졌거나 잘못된 캐시파일들을 지우시겠습니까?';
|
||||||
$lang->confirm_run = '오랜 시간이 걸릴 수 있습니다. 실행하시겠습니까?';
|
$lang->confirm_run = '오랜 시간이 걸릴 수 있습니다. 실행하시겠습니까?';
|
||||||
$lang->use_ssl = 'HTTPS 사용';
|
$lang->use_ssl = 'HTTPS 사용';
|
||||||
$lang->ssl_options['none'] = '사용 안함';
|
$lang->ssl_options['none'] = '사용하지 않음';
|
||||||
$lang->ssl_options['optional'] = '선택적으로 (권장하지 않음)';
|
$lang->ssl_options['optional'] = '선택적으로 사용 (권장하지 않음)';
|
||||||
$lang->ssl_options['always'] = '항상 사용 (권장)';
|
$lang->ssl_options['always'] = '항상 사용 (권장)';
|
||||||
$lang->cmd_http_port = 'HTTP 포트';
|
$lang->cmd_http_port = 'HTTP 포트';
|
||||||
$lang->cmd_https_port = 'HTTPS 포트';
|
$lang->cmd_https_port = 'HTTPS 포트';
|
||||||
|
|
@ -115,9 +115,9 @@ $lang->cmd_index_module_srl = '메인 모듈';
|
||||||
$lang->cmd_index_document_srl = '메인 문서';
|
$lang->cmd_index_document_srl = '메인 문서';
|
||||||
$lang->cmd_default_language = '기본 언어';
|
$lang->cmd_default_language = '기본 언어';
|
||||||
$lang->cmd_new_domain = '새 도메인 추가';
|
$lang->cmd_new_domain = '새 도메인 추가';
|
||||||
$lang->about_use_ssl = '\'선택적으로\'는 회원가입, 정보수정 등의 지정된 동작(action)에서 보안접속(SSL)을 사용합니다. \'항상 사용\'은 모든 서비스에 SSL을 사용 합니다. SSL 환경이 갖춰지지 않은 상태에서 SSL을 사용할 경우 접속이 되지 않을 수 있으니 주의 바랍니다.';
|
$lang->cmd_edit_domain = '도메인 정보 수정';
|
||||||
$lang->about_use_ssl = '<p>\'선택적으로\'는 회원가입, 정보수정 등의 일부 동작에서만 선택적으로 보안접속(SSL)을 사용합니다.<br />\'항상 사용\'은 모든 서비스에 SSL을 사용 합니다.</p><p>SSL 환경이 갖춰지지 않은 상태에서 SSL을 사용할 경우, 접속이 되지 않을 수 있습니다. SSL 인증서가 정상적으로 설치되었는지 반드시 확인하고 설정하시기 바랍니다.</p>';
|
$lang->about_use_ssl = '\'선택적으로 사용\'은 회원가입, 정보수정 등의 지정된 동작(action)에서만 보안접속(HTTPS)을 사용합니다.<br>\'항상 사용\'은 사이트 전체에 HTTPS를 사용합니다.<br>SSL 인증서가 설치되지 않은 상태에서 HTTPS 사용을 시도하면 접속이 되지 않을 수 있으니 주의하시기 바랍니다.';
|
||||||
$lang->server_ports = '서버 포트 지정';
|
$lang->server_ports = '포트';
|
||||||
$lang->about_server_ports = 'HTTP는 80, HTTPS는 443 이 아닌, 다른 포트를 사용할 경우에 포트를 지정해 주어야 합니다.';
|
$lang->about_server_ports = 'HTTP는 80, HTTPS는 443 이 아닌, 다른 포트를 사용할 경우에 포트를 지정해 주어야 합니다.';
|
||||||
$lang->use_db_session = '인증 세션 DB 사용';
|
$lang->use_db_session = '인증 세션 DB 사용';
|
||||||
$lang->about_db_session = '세션을 DB에 저장합니다. 현재 접속자를 파악하려면 이 기능을 켜야 합니다.<br>불필요하게 사용하면 서버 성능에 악영향을 줄 수 있으니 주의하십시오.';
|
$lang->about_db_session = '세션을 DB에 저장합니다. 현재 접속자를 파악하려면 이 기능을 켜야 합니다.<br>불필요하게 사용하면 서버 성능에 악영향을 줄 수 있으니 주의하십시오.';
|
||||||
|
|
|
||||||
79
modules/admin/tpl/config_domains_edit.html
Normal file
79
modules/admin/tpl/config_domains_edit.html
Normal file
|
|
@ -0,0 +1,79 @@
|
||||||
|
<include target="config_header.html" />
|
||||||
|
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/admin/tpl/config_domains_edit/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||||
|
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||||
|
</div>
|
||||||
|
<section class="section">
|
||||||
|
<form action="./" method="post" class="x_form-horizontal">
|
||||||
|
<input type="hidden" name="module" value="admin" />
|
||||||
|
<input type="hidden" name="act" value="procAdminInsertDomain" />
|
||||||
|
<input type="hidden" name="xe_validator_id" value="modules/admin/tpl/config_domains_edit/1" />
|
||||||
|
<input type="hidden" name="domain_srl" value="{$domain_info ? $domain_info->domain_srl : ''}" />
|
||||||
|
|
||||||
|
<div class="x_control-group">
|
||||||
|
<label class="x_control-label" for="domain">{$lang->domain}</label>
|
||||||
|
<div class="x_controls">
|
||||||
|
<input type="text" name="domain" id="domain" value="{$domain_info ? escape($domain_info->domain) : ''}"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="x_control-group">
|
||||||
|
<label class="x_control-label" for="http_port">{$lang->cmd_http_port}</label>
|
||||||
|
<div class="x_controls">
|
||||||
|
<input type="number" name="http_port" id="http_port" size="5" value="{($domain_info && $domain_info->http_port) ? $domain_info->http_port : ''}" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="x_control-group">
|
||||||
|
<label class="x_control-label" for="https_port">{$lang->cmd_https_port}</label>
|
||||||
|
<div class="x_controls">
|
||||||
|
<input type="number" name="https_port" id="https_port" size="5" value="{($domain_info && $domain_info->https_port) ? $domain_info->https_port : ''}" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="x_control-group">
|
||||||
|
<label class="x_control-label" for="domain_security">{$lang->use_ssl}</label>
|
||||||
|
<div class="x_controls">
|
||||||
|
<select id="domain_security" name="domain_security">
|
||||||
|
<!--@foreach($lang->ssl_options as $key => $val)-->
|
||||||
|
<option value="{$key}" selected="selected"|cond="$domain_info && $domain_info->security == $key" />{$val}</option>
|
||||||
|
<!--@endforeach-->
|
||||||
|
</select>
|
||||||
|
<div class="x_help-block">{lang('admin.about_use_ssl')}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="x_control-group">
|
||||||
|
<label class="x_control-label" for="index_module_srl">{$lang->cmd_index_module_srl}</label>
|
||||||
|
<div class="x_controls">
|
||||||
|
<select id="index_module_srl" name="index_module_srl">
|
||||||
|
<!--@foreach($module_list as $module_info)-->
|
||||||
|
<option value="{$module_info->module_srl}" selected="selected"|cond="$module_info->module_srl == $index_module_srl">{escape($module_info->browser_title)}</option>
|
||||||
|
<!--@endforeach-->
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="x_control-group">
|
||||||
|
<label class="x_control-label" for="index_document_srl">{$lang->cmd_index_document_srl}</label>
|
||||||
|
<div class="x_controls">
|
||||||
|
<input type="number" name="index_document_srl" id="index_document_srl" value="{($domain_info && $domain_info->index_document_srl) ? $domain_info->index_document_srl : ''}"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="x_control-group">
|
||||||
|
<label class="x_control-label" for="default_lang">{$lang->default_lang}</label>
|
||||||
|
<div class="x_controls">
|
||||||
|
<select name="default_lang" id="default_lang">
|
||||||
|
<option value="{$key}" loop="$enabled_lang => $key" selected="selected"|cond="$key == $domain_lang">{$supported_lang[$key]['name']}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
@ -8,7 +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 == '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 == '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 == '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 == 'dispAdminConfigDomains' || preg_match('/^dispAdmin.+Domain/', $act)"><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 == '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 == '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>
|
<li class="x_active"|cond="$act == 'dispAdminConfigSitelock'"><a href="{getUrl('', 'module', 'admin', 'act', 'dispAdminConfigSitelock')}">{$lang->subtitle_sitelock}</a></li>
|
||||||
|
|
|
||||||
|
|
@ -434,7 +434,7 @@ margin-bottom: 10px;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
}
|
}
|
||||||
.x input[type="number"] {
|
.x input[type="number"] {
|
||||||
width: 50px;
|
width: 90px;
|
||||||
}
|
}
|
||||||
.x select {
|
.x select {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue