-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathadmin.php
137 lines (129 loc) · 4.78 KB
/
admin.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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<?php
/**
* Главный административный файл ЦМС
*
* Производит логин пользователя и восстановление забытого пароля
*
* @filesource admin.php
* @author blade39 <[email protected]>, Ilya Doroshko <[email protected]>, north-e <[email protected]>
*
* @version 1.0
* @since 25.03.2009
*
* 1. Переход к поддержке разнообразных кодировок и языковых файлов.
* 2. Установка кодировки UTF-8 базовой кодировкой.
*
* @version 1.1
* @since 11.05.2009
*
* Исправлены ошибки при восстановлении пароля
*
* @version 2.5
* Добавлена поддержка текстовых констант из файла version.php
*
* @version 2.5.4
* Добавлена поддержка команды update, и команды restore
* для выполнения операций связанных с работой системы обновления
* и восстановления системы в случае провала обновления
*
* @version 2.5.5
* @since 17.03.2010
* @author blade39 <[email protected]>
* Добавлен поиск шаблона, в случае если не обнаружен шаблон с именем модуля
* и именем страницы, шаблон ищется в списке стандартных шаблонов
*/
// Получаем время запуска скрипта
$begin=microtime(1);
//Принудительно выключаем поддержку magic_quotes_gpc
ini_set('magic_quotes_gpc','0');
define('KS_ENGINE', true); //< Установка константы движка ЦМС.
define('ROOT_DIR', dirname (__FILE__)); //< Получения корневого каталога ЦМС.
define('MODULES_DIR', ROOT_DIR . '/modules'); //< Установка папки для модулей.
define('CONFIG_DIR', ROOT_DIR . '/cnf'); //< Установка папки для хранения конфигурационных файлов.
define('SYS_TEMPLATES_DIR', ROOT_DIR . '/templates'); //< Папка для хранения шаблонов.
define('JS_DIR', '/js');
define('UPLOADS_DIR', ROOT_DIR.'/uploads');
define('TEMPLATES_DIR', UPLOADS_DIR.'/templates');
define('EVENT_TEMPLATES_DIR', ROOT_DIR.'/templates/admin/eventTemplates');
define('IS_ADMIN', true); //< Флаг указывающий на то что работает административный раздел.
//Устанавливаем заголовок о том что отдаем все в UTF-8
header('Content-Type: text/html; charset=UTF-8');
setlocale(LC_ALL, "ru_RU.UTF-8");
//Работа системы обновления
if(array_key_exists('update',$_GET))
{
if(file_exists(MODULES_DIR.'/main/libs/class.CUpdate.php'))
{
include_once(MODULES_DIR.'/main/libs/class.CUpdate.php');
$obUpdate=new CUpdate();
$obUpdate->Go();
}
}
elseif(array_key_exists('restore',$_GET))
{
if(file_exists(MODULES_DIR.'/main/libs/class.CUpdate.php'))
{
include_once(MODULES_DIR.'/main/libs/class.CUpdate.php');
$obUpdate=new CUpdate();
$obUpdate->Restore();
}
}
if (file_exists(MODULES_DIR.'/main'))
{
try
{
//! Подключение главного модуля ЦМС, определение пользователя и др.
include_once(MODULES_DIR.'/main/admin.inc.php');
}
catch(CAccessError $e)
{
if($smarty)
{
$smarty->assign('last_error',$e->GetErrorText());
$KS_MODULES->LoadModulePage('main','password');
}
else
{
echo "<html><title>{$KS_VERSION['TITLE']} {$KS_VERSION['ID']} Init Error</title><body>$e</body></html>";
die();
}
}
catch(CDBError $e)
{
echo "<html><title>Init Error</title><body>$e</body></html>";
die();
}
catch(CError $e)
{
if($smarty)
{
$smarty->assign('last_error',$e->GetErrorText());
}
else
{
echo "<html><title>{$KS_VERSION['TITLE']} {$KS_VERSION['ID']} Init Error</title><body>$e</body></html>";
die();
}
}
/* Пользователь не вошел на сайт */
if (!$USER->IsLogin())
{
$KS_MODULES->LoadModulePage('main','password');
}
else
{
//Проверяем наличие модуля справки, если он установлен, вызываем генерацию ссылки помощи
if($KS_MODULES->IsModule('help'))
{
include_once(MODULES_DIR.'/help/pages/getHelpUrl.php');
}
// Выводим текущий модуль (определяется по параметрам в УРЛ).
$KS_MODULES->AdminShowModule($KS_MODULES->current);
}
$KS_MODULES->Draw($smarty);
}
else
{
echo "Система KS-CMS не установлена! (KS-CMS system is not setup)";
die();
}