-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.php
executable file
·55 lines (41 loc) · 2.2 KB
/
index.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
<?php
// Отримання кореня сайту
$root_result = str_replace("\\","/",dirname(__FILE__));
define('ROOT',$root_result);
// перевірка на виключення
try {
// Створення масиву з адресами основних файлів (класи core, підключення о БД, клас core admin)
$include_list = array( ROOT."/engine/classes/core.class.php", ROOT."/engine/classes/translate.php", ROOT."/engine/classes/db.class.php", ROOT."/engine/classes/coreadmin.class.php" );
// Підключення файлів з масиву
for($i = 0; $i < count($include_list); $i++) {
if(file_exists($include_list[$i])){
require_once $include_list[$i];
}
}
// Підключення класу index за промовчанням
$option = "index";
$req_option_index = ROOT."/engine/classes/index.class.php";
// якщо встановлений пареметр option отримуємо його
if(isset($_GET['option'])) {
//формування змінної, значення якої отримується з GET параметра option
$ob_option = $_GET['option'];
//підключаєтсья файл для класу з папки engine/classes
$req_class = ROOT."/engine/classes/".$ob_option.".class.php";
if(file_exists($req_class)) {//якщо файл існує
require_once $req_class;//підключається файл
if(class_exists($ob_option)) {//перевіряється в ньому наявність відповідного класу
$option = $ob_option;//і якщо клас у файлі існує, то підключається поція
}
}
}
// якщо option index - отримуємо головну сторінку
if($option == "index")
require_once $req_option_index;
$view = new $option; //закінчується підключення класів
$mysqli = db::getObject();//підключається БД
$view->getBody();//отримується код сторіки з класу
}
catch(Exception $e) {//якщо є помилка, то вона виводиться
header("Location: error.php?error=".$e->getMessage());
}
?>