-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.php
48 lines (38 loc) · 1.39 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
<?php
/**
* Solution for assignment 2
* @author Daniel Toll
*/
require_once("Settings.php");
require_once("controller/AdminPanelController.php");
require_once("controller/LoginController.php");
require_once("controller/PageController.php");
require_once("controller/MasterController.php");
require_once("view/LayoutView.php");
require_once("view/PageView.php");
require_once("model/PageModel.php");
require_once("model/PageCollection.php");
require_once("model/PageDAL.php");
if (Settings::DISPLAY_ERRORS) {
error_reporting(-1);
ini_set('display_errors', 'ON');
}
//session must be started before LoginModel is created
session_start();
//Create the models
$lm = new \model\LoginModel();
$pd = new \model\PageDAL();
$pages = new \model\PageCollection($pd); //Dependency inject the DAL
//Create the views
$v = new \view\LoginView($lm); //Dependency inject the LoginModel
$av = new \view\AdminPanelView($pages); //Dependency inject the PageCollection
$pv = new \view\PageView($pages); //Dependency inject the PageCollection
//Create the controllers
$c = new \controller\LoginController($lm, $v);
$pc = new \controller\PageController($pages, $pv);
$ac = new \controller\AdminPanelController($av, $pages);
$mc = new \controller\MasterController($lm, $v,$ac,$pc,$c);
$mc->doControl();
//Generate output
$lv = new \view\LayoutView($pages);
$lv->render($lm->isLoggedIn($v->getUserClient()), $v, $pv, $av);