forked from SusoGym/SEST
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclass.view.php
103 lines (81 loc) · 2.01 KB
/
class.view.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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
/**
* View Class
*/
class View {
/**
* @var View
*/
private static $instance;
/**
* @var bool
*/
public static $DEBUG = false;
/**
* @return View
*/
public static function getInstance() {
return self::$instance == null ? (self::$instance = new View()) : self::$instance;
}
/**
* @Constant string $PATH path to template files
*/
public static $PATH = 'templates';
/**
* @var array() various data to be shown in view
*/
private $dataForView = null;
/**
* @var bool whether or not the loadTemplate was called
*/
private $loaded = false;
/**
*Template Dateien werden geladen
*
* @param $template string
* @return void
*/
public function loadTemplate($template) {
if ($this->loaded)
return;
$this->loaded = true;
$templateFile = self::$PATH . DIRECTORY_SEPARATOR . $template . '.php';
$exists = file_exists($templateFile);
if (self::$DEBUG)
ChromePhp::info("Displaying 'templates/$template.php'");
if ($exists) {
/** @noinspection PhpIncludeInspection */
include($templateFile);
} else {
die('Could not find template. Please tell your system admin of choice.');
}
}
/**
* @param $str string Adds header
*/
public function header($str) {
if (!$this->loaded)
echo $str;
}
/**
*set dataForView
*
* @param array
*/
public function setDataForView($data) {
$this->dataForView = $data;
}
/**
* @return array
*/
public function getDataForView() {
return $this->dataForView;
}
/**
* @return string
*/
public function getTitle() {
return isset($this->dataForView['title']) ? $this->dataForView['title'] : "";
}
}
?>