-
Notifications
You must be signed in to change notification settings - Fork 2
/
Lang.php
67 lines (60 loc) · 1.92 KB
/
Lang.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
namespace liw\core;
class Lang
{
static private $_ = [];
static public function add($arr)
{
self::$_ = array_merge($arr, self::$_);
}
static public function uage($_)
{
if(isset(self::$_[$_])){
return self::$_[$_];
}
/**
* закомментировать следующую линию, если не нужно автозаполнение файлов
*/
//self::insertLine($_);
return '?' . $_ . '?';
}
static private function insertLine($field)
{
if(defined("DEVELOP") && DEVELOP === true){
$file = LIW_CORE . "core/develop/lang/lang.php";
$lines = file($file);
$lines[sizeof($lines)-1] = " '{$field}' => '$field',\n];";
file_put_contents($file, implode("", $lines));
}
}
/**
* Загружаем язык
* @param null|string $lang
* @throws \Exception
*/
static public function checkLanguage($lang = null)
{
if($lang !== null){
$file = LIW_WEB . 'config/languages/' . $lang . '/' . $lang . '.php';
if(file_exists($file)){
$_SESSION['language'] = $lang;
Lang::add(require $file);
return;
} else {
throw new \Exception("Файл " . $file . " не существует.");
}
}
if(!empty($_SESSION['language'])){
$lang = $_SESSION['language'];
$file = LIW_WEB . 'config/languages/' . $lang . '/' . $lang . '.php';
if(file_exists($file)){
Lang::add(require $file);
return;
}
}
if(isset($_SESSION['language'])) unset($_SESSION['language']);
$lang = Liw::$config['def_lang'];
$file = LIW_WEB . 'config/languages/' . $lang . '/' . $lang . '.php';
Lang::add(require $file);
}
}