Вход Регистрация
Файл: 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":', 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&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>";

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