mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-09 03:52:15 +09:00
Add option to force the language for a domain
This commit is contained in:
parent
48cd4a2794
commit
424242ff74
5 changed files with 44 additions and 26 deletions
|
|
@ -253,7 +253,11 @@ class Context
|
||||||
$set_lang_cookie = false;
|
$set_lang_cookie = false;
|
||||||
self::set('lang_supported', $enabled_langs);
|
self::set('lang_supported', $enabled_langs);
|
||||||
|
|
||||||
if($lang_type = self::get('l'))
|
if (!empty($site_module_info->settings->language) && !empty($site_module_info->settings->force_language))
|
||||||
|
{
|
||||||
|
$lang_type = $site_module_info->settings->language;
|
||||||
|
}
|
||||||
|
elseif ($lang_type = self::get('l'))
|
||||||
{
|
{
|
||||||
if($_COOKIE['lang_type'] !== $lang_type)
|
if($_COOKIE['lang_type'] !== $lang_type)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -82,21 +82,24 @@ class Domains extends Base
|
||||||
// Get language list.
|
// Get language list.
|
||||||
Context::set('supported_lang', Lang::getSupportedList());
|
Context::set('supported_lang', Lang::getSupportedList());
|
||||||
Context::set('enabled_lang', Config::get('locale.enabled_lang'));
|
Context::set('enabled_lang', Config::get('locale.enabled_lang'));
|
||||||
if ($domain_info && $domain_info->settings->language)
|
if ($domain_info && !empty($domain_info->settings->language))
|
||||||
{
|
{
|
||||||
$domain_lang = $domain_info->settings->language;
|
$domain_lang = $domain_info->settings->language ?? 'default';
|
||||||
|
$domain_force_lang = $domain_info->settings->force_language ?? false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$domain_lang = 'default';
|
$domain_lang = 'default';
|
||||||
|
$domain_force_lang = false;
|
||||||
}
|
}
|
||||||
Context::set('domain_lang', $domain_lang);
|
Context::set('domain_lang', $domain_lang);
|
||||||
|
Context::set('domain_force_lang', $domain_force_lang);
|
||||||
|
|
||||||
// Get timezone list.
|
// Get timezone list.
|
||||||
Context::set('timezones', DateTime::getTimezoneList());
|
Context::set('timezones', DateTime::getTimezoneList());
|
||||||
if ($domain_info && $domain_info->settings->timezone)
|
if ($domain_info && !empty($domain_info->settings->timezone))
|
||||||
{
|
{
|
||||||
$domain_timezone = $domain_info->settings->timezone;
|
$domain_timezone = $domain_info->settings->timezone ?? '';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -149,19 +152,22 @@ class Domains extends Base
|
||||||
// Get language list.
|
// Get language list.
|
||||||
Context::set('supported_lang', Lang::getSupportedList());
|
Context::set('supported_lang', Lang::getSupportedList());
|
||||||
Context::set('enabled_lang', Config::get('locale.enabled_lang'));
|
Context::set('enabled_lang', Config::get('locale.enabled_lang'));
|
||||||
if ($domain_info && $domain_info->settings->language)
|
if ($domain_info && !empty($domain_info->settings->language))
|
||||||
{
|
{
|
||||||
$domain_lang = $domain_info->settings->language;
|
$domain_lang = $domain_info->settings->language ?? 'default';
|
||||||
|
$domain_force_lang = $domain_info->settings->force_language ?? false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$domain_lang = 'default';
|
$domain_lang = 'default';
|
||||||
|
$domain_force_lang = false;
|
||||||
}
|
}
|
||||||
Context::set('domain_lang', $domain_lang);
|
Context::set('domain_lang', $domain_lang);
|
||||||
|
Context::set('domain_force_lang', $domain_force_lang);
|
||||||
|
|
||||||
// Get timezone list.
|
// Get timezone list.
|
||||||
Context::set('timezones', DateTime::getTimezoneList());
|
Context::set('timezones', DateTime::getTimezoneList());
|
||||||
if ($domain_info && $domain_info->settings->timezone)
|
if ($domain_info && !empty($domain_info->settings->timezone))
|
||||||
{
|
{
|
||||||
$domain_timezone = $domain_info->settings->timezone;
|
$domain_timezone = $domain_info->settings->timezone;
|
||||||
}
|
}
|
||||||
|
|
@ -328,6 +334,7 @@ class Domains extends Base
|
||||||
{
|
{
|
||||||
throw new Exception('msg_lang_is_not_enabled');
|
throw new Exception('msg_lang_is_not_enabled');
|
||||||
}
|
}
|
||||||
|
$vars->force_lang = isset($vars->force_lang) ? toBool($vars->force_lang) : false;
|
||||||
|
|
||||||
// Validate the default time zone.
|
// Validate the default time zone.
|
||||||
$timezone_list = DateTime::getTimezoneList();
|
$timezone_list = DateTime::getTimezoneList();
|
||||||
|
|
@ -356,6 +363,7 @@ class Domains extends Base
|
||||||
'title' => $vars->title,
|
'title' => $vars->title,
|
||||||
'subtitle' => $vars->subtitle,
|
'subtitle' => $vars->subtitle,
|
||||||
'language' => $vars->default_lang,
|
'language' => $vars->default_lang,
|
||||||
|
'force_language' => $vars->force_lang,
|
||||||
'timezone' => $vars->default_timezone,
|
'timezone' => $vars->default_timezone,
|
||||||
'meta_keywords' => $vars->meta_keywords,
|
'meta_keywords' => $vars->meta_keywords,
|
||||||
'meta_description' => $vars->meta_description,
|
'meta_description' => $vars->meta_description,
|
||||||
|
|
|
||||||
|
|
@ -106,6 +106,7 @@ $lang->cmd_https_port = 'HTTPS Port';
|
||||||
$lang->cmd_index_module_srl = 'Main Module';
|
$lang->cmd_index_module_srl = 'Main Module';
|
||||||
$lang->cmd_index_document_srl = 'Main Document';
|
$lang->cmd_index_document_srl = 'Main Document';
|
||||||
$lang->cmd_default_language = 'Default Language';
|
$lang->cmd_default_language = 'Default Language';
|
||||||
|
$lang->cmd_force_default_language = 'Force';
|
||||||
$lang->cmd_any_domain = 'Any Domain';
|
$lang->cmd_any_domain = 'Any Domain';
|
||||||
$lang->cmd_new_domain = 'Add New Domain';
|
$lang->cmd_new_domain = 'Add New Domain';
|
||||||
$lang->cmd_edit_domain = 'Edit Domain';
|
$lang->cmd_edit_domain = 'Edit Domain';
|
||||||
|
|
|
||||||
|
|
@ -105,6 +105,7 @@ $lang->cmd_https_port = 'HTTPS 포트';
|
||||||
$lang->cmd_index_module_srl = '메인 모듈';
|
$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_force_default_language = '강제 적용';
|
||||||
$lang->cmd_any_domain = '모든 도메인';
|
$lang->cmd_any_domain = '모든 도메인';
|
||||||
$lang->cmd_new_domain = '새 도메인 추가';
|
$lang->cmd_new_domain = '새 도메인 추가';
|
||||||
$lang->cmd_edit_domain = '도메인 정보 수정';
|
$lang->cmd_edit_domain = '도메인 정보 수정';
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,10 @@
|
||||||
<option value="default" selected="selected"|cond="$domain_lang === 'default'">{$lang->follow_default_lang}</option>
|
<option value="default" selected="selected"|cond="$domain_lang === 'default'">{$lang->follow_default_lang}</option>
|
||||||
<option value="{$key}" loop="$enabled_lang => $key" selected="selected"|cond="$key == $domain_lang">{$supported_lang[$key]['name']}</option>
|
<option value="{$key}" loop="$enabled_lang => $key" selected="selected"|cond="$key == $domain_lang">{$supported_lang[$key]['name']}</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<label class="x_inline" for="force_lang">
|
||||||
|
<input type="checkbox" name="force_lang" id="force_lang" value="Y" checked="checked"|cond="$domain_force_lang" /> {$lang->cmd_force_default_language}
|
||||||
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue