:-( missed this file last commit
[dylansserver.git] / controller.php
1 <?php
2
3 require_once("model/model.php");
4
5 abstract class cms {
6
7 public function __construct() {
8 $this->model = new model();
9 }
10
11 public static function determine_type() {
12 if (isset($_GET['page']) && is_numeric($_GET['page'])) {
13 return 'page';
14 } else if (isset($_GET['year'])) {
15 return 'archive';
16 } else if (isset($_GET['note'])) {
17 return 'note';
18 } else if ($_SERVER['REQUEST_URI'] == '/') {
19 return 'index';
20 } else if (isset($_GET['project'])) {
21 return 'project';
22 } else if (isset($_GET['rss'])) {
23 return 'rss';
24 } else if (isset($_GET['challenge'])) {
25 return 'captcha';
26 }
27 }
28
29 public function init() {
30 switch (cms::determine_type()) {
31 case 'index':
32 require_once("model/index.php");
33 $index = new index();
34 $index->display();
35 break;
36 case 'project':
37 require_once("model/project.php");
38 $project = new project();
39 $project->display();
40 break;
41 case 'note':
42 require_once("model/note.php");
43 $note = new note();
44 $note->display();
45 break;
46 case 'page':
47 require_once("model/page.php");
48 $page = new page();
49 $page->display();
50 break;
51 case "rss":
52 require_once("model/rss.php");
53 $rss = new rss();
54 $rss->display();
55 break;
56 case 'archive':
57 require_once("model/archive.php");
58 $archive = new archive();
59 $archive->display();
60 break;
61 case "captcha":
62 require_once("model/captcha.php");
63 $captcha = new captcha();
64 $captcha->display();
65 break;
66 }
67 }
68
69 }
70
71 class notFound extends Exception {
72
73 public function __construct() {
74 header('HTTP/1.0 404 Not Found');
75 ob_end_clean();
76 include('404.php');
77 exit();
78 }
79
80 }
81
82
83 ?>