Файл: 2/3020.ru/panel/system/content/lang.php
Строк: 273
<?php
ECHO "<div class='navi'>";
ECHO "<a href='?'>".ICONS('home', 25)."</a>";
ECHO ICONS('angle-right', 22, 'fa-fw');
ECHO "<a href='?path=system'>".LG('Настройки системы')."</a>";
ECHO ICONS('angle-right', 22, 'fa-fw');
ECHO LG('Языковые настройки');
ECHO "</div>";
/*
-----------
Список фраз
-----------
*/
$lang = DB::GET_STRING("SELECT * FROM `LANGUAGES` WHERE `FACT_NAME` = '".TEXT_ABSOLUTE(GET('lang'))."' LIMIT 1");
IF (GET('lang') && ISSET($lang['FACT_NAME'])){
/*
--------------
Удаление фразы
--------------
*/
$delete_phrase = DB::GET_STRING("SELECT * FROM `LANGUAGES_SHOW` WHERE `ID` = '".INTVAL(GET('delete_phrase'))."' LIMIT 1");
IF (GET('delete_phrase') && ISSET($delete_phrase['ID'])){
DB::GET_SET("DELETE FROM `LANGUAGES_SHOW` WHERE `ID` = '".$delete_phrase['ID']."' LIMIT 1");
SUCCESS('Фраза успешно удалена', 'session');
REDIRECT('/panel/?path=system§ion=lang&lang='.TEXT_ABSOLUTE($lang['FACT_NAME']));
}
/*
----------------
Добавление фразы
----------------
*/
IF (GET('get') == 'add_phrase'){
IF (POST('ok')){
$err_data = 0;
$phrase = ADSL(POST('phrase'));
$translate = ADSL(POST('translate'));
IF (STR($phrase) < 1){
ERROR('Фраза не может быть меньше 1 символа', 'session');
$err_data = 1;
}
IF (STR($phrase) > 500){
ERROR('Фраза не может быть больше 500 символов', 'session');
$err_data = 1;
}
IF (STR($translate) < 1){
ERROR('Перевод фразы не может быть меньше 1 символа', 'session');
$err_data = 1;
}
IF (STR($translate) > 500){
ERROR('Перевод фразы не может быть больше 500 символов', 'session');
$err_data = 1;
}
IF (DB::GET_COLUMN("SELECT COUNT(*) FROM `LANGUAGES_SHOW` WHERE `TYPE` = '".TEXT_ABSOLUTE($lang['FACT_NAME'])."' AND `PHRASE` = '".$phrase."' LIMIT 1") == 1){
ERROR('Такая фраза в данном языковом пакете уже существует', 'session');
$err_data = 1;
}
IF ($err_data == 1){
REDIRECT('/panel/?path=system§ion=lang&lang='.TEXT_ABSOLUTE($lang['FACT_NAME']).'&get=add_phrase');
}
DB::GET_ADD("INSERT INTO `LANGUAGES_SHOW` (`PHRASE`, `TRANSLATE`, `TYPE`) VALUES ('".$phrase."', '".$translate."', '".TEXT_ABSOLUTE($lang['FACT_NAME'])."')");
SUCCESS('Фраза успешно добавлена', 'session');
REDIRECT('/panel/?path=system§ion=lang&lang='.TEXT_ABSOLUTE($lang['FACT_NAME']));
}
ECHO "<form method='post' class='fon'>";
ECHO "<b>".LG('Введите фразу на русском языке')."</b>:<br />";
ECHO "<textarea name='phrase' class='form-control-100' rows='5'></textarea><br /><br />";
ECHO "<b>".LG('Введите перевод фразы')."</b>:<br />";
ECHO "<textarea name='translate' class='form-control-100' rows='5'></textarea><br /><br />";
HTML::BUTTON('panel-button2', 'ok', 'plus', 'Создать');
ECHO "</form>";
ECHO "<a href='/panel/?path=system§ion=lang&lang=".TEXT_ABSOLUTE($lang['FACT_NAME'])."'><div class='fon'>".ICONS('arrow-left', 15, 'fa-fw')." ".LG('Назад')."</div></a>";
REQUIRE (ROOT.'/style/panel/include/footer.php');
EXIT;
}
ECHO "<div class='fon2'>";
ECHO "<div class='list-title'><b>".TEXT_ABSOLUTE($lang['NAME'])." (".TEXT_ABSOLUTE($lang['FACT_NAME']).")</b></div>";
ECHO "<div class='list-menu'>";
ECHO "<a class='panel-button2' href='/panel/?path=system§ion=lang&lang=".TEXT_ABSOLUTE($lang['FACT_NAME'])."&get=add_phrase'>".LG('Добавить фразу')."</a>";
ECHO "<div class='file-content2'>";
$s = 0;
$data = DB::GET_STRING_ALL("SELECT * FROM `LANGUAGES_SHOW` WHERE `TYPE` = '".TEXT_ABSOLUTE($lang['FACT_NAME'])."' ORDER BY `ID` DESC");
WHILE ($list = $data->FETCH()){
$s++;
ECHO "<div class='list-menu'>";
ECHO "<font color='white'><b>".LG('Фраза').":</b></font> ".TEXT_ABSOLUTE($list['PHRASE'])."<br />";
ECHO "<font color='white'><b>".LG('Перевод').":</b></font> ".TEXT_ABSOLUTE($list['TRANSLATE'])."<br /><br />";
ECHO "<a class='panel-button' href='/panel/?path=system§ion=lang&lang=".TEXT_ABSOLUTE($lang['FACT_NAME'])."&delete_phrase=".$list['ID']."'>".ICONS('trash', 15, 'fa-fw')." ".LG('Удалить')."</a>";
ECHO "</div>";
}
ECHO "<div class='list-menu'>";
ECHO "<font color='white'><b>".LG('Всего фраз').": ".$s."</b></font>";
ECHO "</div>";
ECHO "</div>";
ECHO "</div>";
ECHO "</div>";
ECHO "<a href='?path=system§ion=lang'><div class='fon'>".ICONS('arrow-left', 15, 'fa-fw')." ".LG('Назад')."</div></a>";
REQUIRE (ROOT.'/style/panel/include/footer.php');
EXIT;
}
/*
---------------------------------
Включить/отключить языковой пакет
---------------------------------
*/
$on_lang = DB::GET_STRING("SELECT * FROM `LANGUAGES` WHERE `FACT_NAME` = '".TEXT_ABSOLUTE(GET('on_lang'))."' AND `ACT` = '0' LIMIT 1");
IF (GET('on_lang') && ISSET($on_lang['FACT_NAME'])){
DB::GET_SET("UPDATE `LANGUAGES` SET `ACT` = '1' WHERE `FACT_NAME` = '".TEXT_ABSOLUTE($on_lang['FACT_NAME'])."' AND `ACT` = '0' LIMIT 1");
SUCCESS('Языковой пакет успешно включен', 'session');
REDIRECT('?path=system§ion=lang');
}
$off_lang = DB::GET_STRING("SELECT * FROM `LANGUAGES` WHERE `FACT_NAME` = '".TEXT_ABSOLUTE(GET('off_lang'))."' AND `ACT` = '1' LIMIT 1");
IF (GET('off_lang') && ISSET($off_lang['FACT_NAME'])){
DB::GET_SET("UPDATE `LANGUAGES` SET `ACT` = '0' WHERE `FACT_NAME` = '".TEXT_ABSOLUTE($off_lang['FACT_NAME'])."' AND `ACT` = '1' LIMIT 1");
SUCCESS('Языковой пакет успешно отключен', 'session');
REDIRECT('?path=system§ion=lang');
}
/*
----------------------
Удалить языковой пакет
----------------------
*/
$delete = DB::GET_STRING("SELECT * FROM `LANGUAGES` WHERE `FACT_NAME` = '".TEXT_ABSOLUTE(GET('delete_lang'))."' LIMIT 1");
IF (GET('delete_lang') && ISSET($delete['FACT_NAME'])){
IF (GET('get') == 'delete_ok'){
DB::GET_SET("DELETE FROM `LANGUAGES_SHOW` WHERE `TYPE` = '".TEXT_ABSOLUTE($delete['FACT_NAME'])."'");
DB::GET_SET("DELETE FROM `LANGUAGES` WHERE `FACT_NAME` = '".TEXT_ABSOLUTE($delete['FACT_NAME'])."' LIMIT 1");
SUCCESS('Удаление прошло успешно', 'session');
REDIRECT('?path=system§ion=lang');
}
ECHO "<div class='fon'>".LG('Вы действительно хотите удалить языковой пакет? Отменить действие будет невозможно.')."<br /><br />";
ECHO "<a href='?path=system§ion=lang&delete_lang=".TEXT_ABSOLUTE($delete['FACT_NAME'])."&get=delete_ok' class='panel-button2'>".LG('Удалить')."</a>";
ECHO "</div>";
ECHO "<a href='?path=system§ion=lang'><div class='fon'>".ICONS('arrow-left', 15, 'fa-fw')." ".LG('Назад')."</div></a>";
REQUIRE (ROOT.'/style/panel/include/footer.php');
EXIT;
}
/*
----------------------------
Редактировать языковой пакет
----------------------------
*/
$edit = DB::GET_STRING("SELECT * FROM `LANGUAGES` WHERE `FACT_NAME` = '".TEXT_ABSOLUTE(GET('edit_lang'))."' LIMIT 1");
IF (GET('edit_lang') && ISSET($edit['FACT_NAME'])){
IF (POST('ok')){
$err_data = 0;
$name = ADSL(POST('name'));
$fact_name = CLEARSPECIALCHARS(ADSL(POST('fact_name')));
IF (STR($name) < 1){
ERROR('Имя не может быть меньше 1 символа', 'session');
$err_data = 1;
}
IF (STR($name) > 100){
ERROR('Имя не может быть больше 100 символов', 'session');
$err_data = 1;
}
IF (STR($fact_name) < 1){
ERROR('Значение языка не может быть меньше 1 символа', 'session');
$err_data = 1;
}
IF (STR($fact_name) > 20){
ERROR('Значение языка не может быть больше 20 символов', 'session');
$err_data = 1;
}
IF ($fact_name != $edit['FACT_NAME'] && $name != $edit['NAME'] && $name == 'Русский' && $fact_name == 'RU' || $fact_name != $edit['FACT_NAME'] && $name != $edit['NAME'] && DB::GET_COLUMN("SELECT COUNT(*) FROM `LANGUAGES` WHERE `NAME` = '".$name."' AND `FACT_NAME` = '".$fact_name."' LIMIT 1") == 1){
ERROR('Такой языковой пакет уже существует', 'session');
$err_data = 1;
}
IF ($err_data == 1){
REDIRECT('?path=system§ion=lang&edit_lang='.TEXT_ABSOLUTE($edit['FACT_NAME']));
}
DB::GET_SET("UPDATE `LANGUAGES` SET `NAME` = '".$name."', `FACT_NAME` = '".$fact_name."' WHERE `FACT_NAME` = '".TEXT_ABSOLUTE($edit['FACT_NAME'])."' LIMIT 1");
SUCCESS('Языковой пакет успешно отредактирован', 'session');
REDIRECT('?path=system§ion=lang');
}
ECHO "<form method='post' class='fon'>";
HTML::INPUT('name', 'От 1 до 100 символов', 'Имя языкового пакета, например: "Русский" или "English":', NULL, TEXT_ABSOLUTE($edit['NAME']));
HTML::INPUT('fact_name', 'От 1 до 20 символов', 'Значение языкового пакета в международном формате, например: "RU" или "EN":', NULL, TEXT_ABSOLUTE($edit['FACT_NAME']));
HTML::BUTTON('panel-button2', 'ok', 'save', 'Сохранить изменения');
ECHO "</form>";
ECHO "<a href='?path=site'><div class='fon'>".ICONS('arrow-left', 15, 'fa-fw')." ".LG('Назад')."</div></a>";
REQUIRE (ROOT.'/style/panel/include/footer.php');
EXIT;
}
/*
-----------------------
Добавить языковой пакет
-----------------------
*/
IF (GET('get') == 'add_lang'){
IF (POST('ok')){
$err_data = 0;
$name = ADSL(POST('name'));
$fact_name = CLEARSPECIALCHARS(ADSL(POST('fact_name')));
IF (STR($name) < 1){
ERROR('Имя не может быть меньше 1 символа', 'session');
$err_data = 1;
}
IF (STR($name) > 100){
ERROR('Имя не может быть больше 100 символов', 'session');
$err_data = 1;
}
IF (STR($fact_name) < 1){
ERROR('Значение языка не может быть меньше 1 символа', 'session');
$err_data = 1;
}
IF (STR($fact_name) > 20){
ERROR('Значение языка не может быть больше 20 символов', 'session');
$err_data = 1;
}
IF ($name == 'Русский' && $fact_name == 'RU' || DB::GET_COLUMN("SELECT COUNT(*) FROM `LANGUAGES` WHERE `NAME` = '".$name."' AND `FACT_NAME` = '".$fact_name."' LIMIT 1") == 1){
ERROR('Такой языковой пакет уже существует', 'session');
$err_data = 1;
}
IF ($err_data == 1){
REDIRECT('?path=system§ion=lang&get=add_lang');
}
DB::GET_ADD("INSERT INTO `LANGUAGES` (`NAME`, `FACT_NAME`) VALUES ('".$name."', '".$fact_name."')");
SUCCESS('Языковой пакет успешно создан', 'session');
REDIRECT('?path=system§ion=lang');
}
ECHO "<form method='post' class='fon'>";
HTML::INPUT('name', 'От 1 до 100 символов', 'Имя языкового пакета, например: "Русский" или "English":');
HTML::INPUT('fact_name', 'От 1 до 20 символов', 'Значение языкового пакета в международном формате, например: "RU" или "EN":');
HTML::BUTTON('panel-button2', 'ok', 'plus', 'Добавить');
ECHO "</form>";
ECHO "<a href='?path=site'><div class='fon'>".ICONS('arrow-left', 15, 'fa-fw')." ".LG('Назад')."</div></a>";
REQUIRE (ROOT.'/style/panel/include/footer.php');
EXIT;
}
IF (POST('ok')){
$pl = ADSL(POST('panel_lang'));
INI::UPGRADE(ROOT.'/system/config/global/settings.ini', 'LANGUAGE', $pl);
SUCCESS('Изменения успешно приняты', 'session');
REDIRECT('?path=system§ion=lang');
}
ECHO "<div class='fon'>";
ECHO "<form method='post'>";
ECHO "<b>".LG('Язык сайта по умолчанию')." (".LG('официальный язык сайта')."):</b><br />";
ECHO "<select name='panel_lang' class='form-control-select'>";
ECHO "<option value='RU' ".($panel_lang == 'RU' ?" selected='selected'":NULL).">Русский (RU)</option>";
$data = DB::GET_STRING_ALL("SELECT * FROM `LANGUAGES` WHERE `ACT` = '1'");
WHILE ($list = $data->FETCH()){
ECHO "<option value='".TEXT_ABSOLUTE($list['FACT_NAME'])."' ".($panel_lang == TEXT_ABSOLUTE($list['FACT_NAME']) ?" selected='selected'":NULL).">".TEXT_ABSOLUTE($list['NAME'])." (".TEXT_ABSOLUTE($list['FACT_NAME']).")</option>";
}
ECHO "</select>";
ECHO "<br /><br />";
HTML::BUTTON('panel-button2', 'ok', 'save', 'Сохранить изменения');
ECHO "</form>";
ECHO "</div>";
/*
-----------------------
Список языковых пакетов
-----------------------
*/
ECHO "<div class='fon2'>";
$count = DB::GET_COLUMN("SELECT COUNT(*) FROM `LANGUAGES`");
$count2 = $count + 1;
ECHO "<div class='list-title'><b>".LG('Языковые пакеты')." <span class='count2'>".$count2."</span></b></div>";
ECHO "<div class='list-menu'>";
ECHO "<a href='/panel/?path=system§ion=lang&get=add_lang' class='panel-button'>".ICONS('plus', 17, 'fa-fw')." ".LG('Создать')."</a>";
ECHO "</div>";
ECHO "<div class='list-menu'>";
ECHO ICONS('globe', 15, 'fa-fw')." <b>Русский (RU)</b> ".ICONS('lock', 15, 'fa-fw');
ECHO "</div>";
$data = DB::GET_STRING_ALL("SELECT * FROM `LANGUAGES`");
WHILE ($list = $data->FETCH()){
ECHO "<div class='list-menu'>";
ECHO ICONS('globe', 15, 'fa-fw')."<b> ".TEXT_ABSOLUTE($list['NAME'])." (".TEXT_ABSOLUTE($list['FACT_NAME']).")</b><br /><br />";
ECHO "<a class='panel-button' href='/panel/?path=system§ion=lang&lang=".TEXT_ABSOLUTE($list['FACT_NAME'])."'>".ICONS('pencil', 15, 'fa-fw')." ".LG('Редактор фраз')."</a> ";
ECHO "<a class='panel-button' href='/panel/?path=system§ion=lang&edit_lang=".TEXT_ABSOLUTE($list['FACT_NAME'])."'>".ICONS('pencil', 15, 'fa-fw')." ".LG('Редактировать')."</a> ";
ECHO "<a class='panel-button' href='/panel/?path=system§ion=lang&delete_lang=".TEXT_ABSOLUTE($list['FACT_NAME'])."'>".ICONS('trash', 15, 'fa-fw')." ".LG('Удалить')."</a> ";
IF ($list['ACT'] == 1){
ECHO "<a class='panel-button' href='/panel/?path=system§ion=lang&off_lang=".TEXT_ABSOLUTE($list['FACT_NAME'])."'>".ICONS('minus', 15, 'fa-fw')." ".LG('Отключить')."</a> ";
}ELSE{
ECHO "<a class='panel-button' href='/panel/?path=system§ion=lang&on_lang=".TEXT_ABSOLUTE($list['FACT_NAME'])."'>".ICONS('plus', 15, 'fa-fw')." ".LG('Включить')."</a> ";
}
ECHO "</div>";
}
ECHO "</div>";
?>