Вход Регистрация
Файл: 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&section=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&section=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&section=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&section=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&section=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&section=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&section=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&section=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&section=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&section=lang');
    
  }
  
  ECHO 
"<div class='fon'>".LG('Вы действительно хотите удалить языковой пакет? Отменить действие будет невозможно.')."<br /><br />";
  ECHO 
"<a href='?path=system&section=lang&delete_lang=".TEXT_ABSOLUTE($delete['FACT_NAME'])."&get=delete_ok' class='panel-button2'>".LG('Удалить')."</a>";
  
  ECHO 
"</div>";
  
  ECHO 
"<a href='?path=system&section=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&section=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&section=lang');
    
  }
  
  ECHO 
"<form method='post' class='fon'>";
  
  
HTML::INPUT('name''От 1 до 100 символов''Имя языкового пакета, например: "Русский" или "English":'NULLTEXT_ABSOLUTE($edit['NAME']));
  
HTML::INPUT('fact_name''От 1 до 20 символов''Значение языкового пакета в международном формате, например: "RU" или "EN":'NULLTEXT_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&section=lang&get=add_lang');
    
    }
    
    
DB::GET_ADD("INSERT INTO `LANGUAGES` (`NAME`, `FACT_NAME`) VALUES ('".$name."', '".$fact_name."')");
    
    
SUCCESS('Языковой пакет успешно создан''session');
    
REDIRECT('?path=system&section=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&section=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&section=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&section=lang&lang=".TEXT_ABSOLUTE($list['FACT_NAME'])."'>".ICONS('pencil'15'fa-fw')." ".LG('Редактор фраз')."</a> ";
  ECHO 
"<a class='panel-button' href='/panel/?path=system&section=lang&edit_lang=".TEXT_ABSOLUTE($list['FACT_NAME'])."'>".ICONS('pencil'15'fa-fw')." ".LG('Редактировать')."</a> ";
  ECHO 
"<a class='panel-button' href='/panel/?path=system&section=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&section=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&section=lang&on_lang=".TEXT_ABSOLUTE($list['FACT_NAME'])."'>".ICONS('plus'15'fa-fw')." ".LG('Включить')."</a> ";
    
  }
    
  ECHO 
"</div>";
  
}

ECHO 
"</div>";

?>
Онлайн: 1
Реклама