-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.php
61 lines (47 loc) · 1.64 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
56
57
58
59
60
61
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
define('GRAD_PAGE', true);
require_once __DIR__.'/core/includes.php';
$request = Request::fromRequest();
$sessionManager = new SessionManager($request, new DatabaseBackedSessionDriver());
$act = 'index.php';
if($request->has('__REQ_URL')) {
$act = $request->getString('__REQ_URL');
}
$controllerMap = array(
'index.php' => 'IndexController',
'404' => 'Http404Controller',
'dashboard' => 'DashboardController',
'settings/submit' => 'SettingsSubmitController',
'onboarding' => 'OnboardingController',
'onboarding/submit' => 'OnboardingUpdateController',
'login' => 'LoginController',
'login/submit' => 'LoginSubmitController',
'logout' => 'LogoutController',
'signout' => 'SignoutController',
'ajax/post_seat' => 'PostSeatController',
'admin/viewseat' => 'AdminSeatController',
'admin/changeseat' => 'AdminChangeSeatSubmitController',
'admin/export.csv' => 'AdminExportSeatsCSV',
'intern/create_seats' => 'CreateSeatsController',
'intern/create_students' => 'CreateStudentsController',
);
$controller_name = $controllerMap['404'];
if(isset($controllerMap[$act])) {
$controller_name = $controllerMap[$act];
}
require_once __DIR__.'/controllers/'.$controller_name.'.php';
$controller = new $controller_name($request, $sessionManager);
header('Content-Type: text/html; charset=utf-8');
Response::start();
try {
$output = $controller->render();
Response::setView($output);
} catch (RedirectException $re) {
ob_end_clean();
Response::sendCookies();
header('Location: ' . $re->getURL());
die();
}
Response::send();