При установке языка по умолчанию, добавлена проверка на наличие папки с ленг файлами . При отсутствии языковых файлов действие будет отменено. Ранее такое действие вызывало вылет из админки с фатальной ошибкой.
This commit is contained in:
@@ -192,4 +192,8 @@ SETTINGS_CACHE_T_QUERIES = "Данные запросов"
|
||||
SETTINGS_CACHE_T_DOCS = "Данные документов"
|
||||
|
||||
SETTINGS_CACHE_T_COMPILED = "Данные скомпилированных документов"
|
||||
SETTINGS_LANG_FLAG = "Флаг"
|
||||
SETTINGS_LANG_FLAG = "Флаг"
|
||||
|
||||
SETTINGS_SET_LANG_DEF_ERR_A = "Ошибка: Не найдены языковые файлы!<br>Папка <b>admin/lang/"
|
||||
SETTINGS_SET_LANG_DEF_ERR_B = "/</b> отсутствует или пуста."
|
||||
SETTINGS_SET_LANG_DEF_ERR_C = "Отмена действия"
|
||||
|
||||
@@ -85,13 +85,17 @@
|
||||
<span class="icon_sprite ico_blanc"></span>
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center">
|
||||
{if $lang.lang_default!=1 && $lang.lang_status==1}
|
||||
<a class="topleftDir icon_sprite ico_globus" title="{#SETTINGS_LANG_ADEFAULT#}" dir="{#SETTINGS_LANG_ADEFAULT#}" name="{#SETTINGS_LANG_ADEFAULT_HINT#}" href="index.php?do=settings&sub=language&func=default&Id={$lang.Id}&cp={$sess}" id="{$lang.Id}"></a>
|
||||
{else}
|
||||
<span class="icon_sprite ico_blanc"></span>
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center">
|
||||
{if isset($lang.lang_default) && $lang.lang_default != 1 && $lang.lang_status == 1}
|
||||
<a class="topleftDir icon_sprite ico_globus {if isset($lang.no_files) && $lang.no_files}check-lang{/if}"
|
||||
title="{#SETTINGS_LANG_ADEFAULT#}"
|
||||
data-langkey="{$lang.lang_key|default:''}"
|
||||
href="index.php?do=settings&sub=language&func=default&Id={$lang.Id}&cp={$sess}"
|
||||
id="{$lang.Id}"></a>
|
||||
{else}
|
||||
<span class="icon_sprite ico_blanc"></span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
@@ -102,4 +106,18 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{include file="$codemirror_connect"}
|
||||
{include file="$codemirror_connect"}
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('.check-lang').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
let langKey = $(this).data('langkey');
|
||||
let errorText = '{#SETTINGS_SET_LANG_DEF_ERR_A#}' + langKey + '{#SETTINGS_SET_LANG_DEF_ERR_B#}';
|
||||
let errorTitle = '{#SETTINGS_SET_LANG_DEF_ERR_C#}';
|
||||
|
||||
jAlert(errorText, errorTitle);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -549,26 +549,32 @@ foreach ($conditional_keys as $key) {
|
||||
* Метод отображения списка языков
|
||||
*
|
||||
*/
|
||||
function settingsLanguageList()
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
function settingsLanguageList()
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
$sql = $AVE_DB->Query("
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
" . PREFIX . "_settings_lang
|
||||
ORDER BY lang_default DESC, lang_status ASC, lang_key ASC
|
||||
");
|
||||
$sql = $AVE_DB->Query("
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
" . PREFIX . "_settings_lang
|
||||
ORDER BY lang_default DESC, lang_status ASC, lang_key ASC
|
||||
");
|
||||
|
||||
$language = array();
|
||||
$language = array();
|
||||
|
||||
while ($row = $sql->FetchAssocArray())
|
||||
array_push($language, $row);
|
||||
while ($row = $sql->FetchAssocArray()) {
|
||||
if ($row) {
|
||||
$lang_path = BASE_DIR . '/admin/lang/' . $row['lang_key'];
|
||||
$row['no_files'] = !is_dir($lang_path) ? 1 : 0;
|
||||
|
||||
array_push($language, $row);
|
||||
}
|
||||
}
|
||||
|
||||
$AVE_Template->assign('language', $language);
|
||||
$AVE_Template->assign('content', $AVE_Template->fetch('settings/settings_lang.tpl'));
|
||||
}
|
||||
$AVE_Template->assign('language', $language);
|
||||
$AVE_Template->assign('content', $AVE_Template->fetch('settings/settings_lang.tpl'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user