This repository has been archived by the owner on Mar 2, 2020. It is now read-only.
/
index.php
55 lines (51 loc) · 1.74 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
require_once "src/FreshPHP/Config/ClassAutoloader.php";
use FreshPHP\Config\ClassAutoloader;
use FreshPHP\Config\ConfigFileHandler;
use FreshPHP\Config\LocaleTransfer;
use FreshPHP\HTTP\Request;
use FreshPHP\MVC\MVCRouter;
use FreshPHP\MVC\Controller\ErrorController;
session_start();
ClassAutoloader::register() || die("Cannot register autoloader");
error_reporting((Request::getVariable("debug")) ? E_ALL : 0);
$lDir = (int) ConfigFileHandler::getInstance()->getParam("framework", "mvc", "locale_index");
if ($lDir >= 0 && Request::getDir($lDir) == "") {
Request::redirect("/" .
(!Request::getSessionVar("locale", "%s", false))
? ConfigFileHandler::getInstance()->getParam("framework", "mvc", "default_locale")
: Request::getSessionVar("locale")
);
}
try {
LocaleTransfer::setLocale(
Request::getDir(
(int) ConfigFileHandler::getInstance()->getParam("framework", "mvc", "locale_index")
)
);
Request::setSessionVar("locale", LocaleTransfer::getLocale());
MVCRouter::getController()->main();
} catch (Exception $e) {
$errorController = new ErrorController();
$errorData = array();
$exception = explode("\\", get_class($e));
switch ($exception[count($exception)-1]) {
case "NoIndexRouteException":
case "UndefinedControllerException":
$errorData["code"] = 404;
break;
case "InvalidControllerException":
$errorData["code"] = 500;
break;
case "Exception":
default:
$errorData["code"] = 400;
break;
}
$errorData["data"] = array(
"exception" => get_class($e),
"message" => $e->getMessage()
);
$errorController->main($errorData);
}
exit;