1 | <?php
|
---|
2 |
|
---|
3 | // Grafic user interface class
|
---|
4 | // Date: 2012-06-13
|
---|
5 |
|
---|
6 | class Gui
|
---|
7 | {
|
---|
8 | private $Config;
|
---|
9 | private $Messages;
|
---|
10 | private $ActivePage = 'home';
|
---|
11 | private $Links = array();
|
---|
12 | private $Pages = array();
|
---|
13 | private $Language;
|
---|
14 | private $User;
|
---|
15 |
|
---|
16 | function __construct($User)
|
---|
17 | {
|
---|
18 | $this->Config = new Config();
|
---|
19 | $this->Messages = new Messages();
|
---|
20 | $this->Language = new Language();
|
---|
21 |
|
---|
22 | $this->InitLinks();
|
---|
23 | $this->InitPages();
|
---|
24 | $this->User = $User;
|
---|
25 |
|
---|
26 | //have to be after inicialization of pages
|
---|
27 | $this->Feedback($User);
|
---|
28 | }
|
---|
29 |
|
---|
30 | //init links
|
---|
31 | private function InitLinks() {
|
---|
32 | $this->Links['SourceCode'] = new Link('Zdrojové kódy','http://svn.zdechov.net/svn/phpvpsadmin/','');
|
---|
33 | $this->Links['logout'] = new Link('Odhlásit', '?logout' , 'Odhlásit se z webového systému');
|
---|
34 |
|
---|
35 | }
|
---|
36 |
|
---|
37 | //init Pages
|
---|
38 | private function InitPages() {
|
---|
39 | $this->Pages['home'] = new PageHome($this->Language);
|
---|
40 | $this->Pages['login'] = new PageLogin($this->Language);
|
---|
41 | $this->Pages['register'] = new PageRegister($this->Language);
|
---|
42 |
|
---|
43 | }
|
---|
44 |
|
---|
45 | //gets feedback from post and get
|
---|
46 | private function Feedback($User) {
|
---|
47 | $this->Messages->RegMess($User);
|
---|
48 | $this->ActivePage = $this->Messages->WhichPage($this->Pages);
|
---|
49 | }
|
---|
50 |
|
---|
51 | //shows page concent
|
---|
52 | public function ShowPage() {
|
---|
53 | $this->ShowHeader();
|
---|
54 |
|
---|
55 | //generate and shows active page
|
---|
56 | if (isset($this->Pages[$this->ActivePage])) $this->Pages[$this->ActivePage]->Show();
|
---|
57 |
|
---|
58 | $this->ShowFooter();
|
---|
59 | }
|
---|
60 |
|
---|
61 |
|
---|
62 | //shows header of web page
|
---|
63 | private function ShowHeader()
|
---|
64 | {
|
---|
65 |
|
---|
66 | echo('<?xml version="1.0" encoding="'.$this->Config->Web['Charset'].'"?>
|
---|
67 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
---|
68 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cz">'.
|
---|
69 | '<head>'.
|
---|
70 | '<meta http-equiv="content-type" content="application/xhtml+xml; charset='.$this->Config->Web['Charset'].'" />'.
|
---|
71 | '<meta name="keywords" content="virtualizace, virtuálnÃ, server, hosting, webhosting, web, virtualization" />'.
|
---|
72 | '<meta name="description" content="'.$this->Config->Web['Title'].'" />'.
|
---|
73 | '<meta name="robots" content="all" />'.
|
---|
74 | '<link rel="stylesheet" href="'.$this->Config->Web['Style'].'" type="text/css" media="all" />'.
|
---|
75 | '<script type="text/javascript" src="'.$this->Config->Web['Script'].'"></script>'.
|
---|
76 | '<link rel="shortcut icon" href="'.$this->Config->Web['Icon'].'" />');
|
---|
77 | echo('<title>'.$this->Config->Web['Title'].'</title></head><body><table><tr><td>');
|
---|
78 | //left panel
|
---|
79 |
|
---|
80 | foreach($this->Pages as $Key => $Page )
|
---|
81 | {
|
---|
82 | echo $Page->Link->Get();
|
---|
83 | echo '<br />';
|
---|
84 | }
|
---|
85 |
|
---|
86 | if ($this->User->Licence(0)) {
|
---|
87 | echo 'PÅihlášen ';
|
---|
88 | echo $this->Links['logout']->Get();
|
---|
89 | }
|
---|
90 | // else echo 'notlog';
|
---|
91 |
|
---|
92 |
|
---|
93 | echo ('</td><td>');
|
---|
94 | //right panel
|
---|
95 | }
|
---|
96 |
|
---|
97 | //shows footer of webpage
|
---|
98 | private function ShowFooter()
|
---|
99 | {
|
---|
100 | echo('</td>'.
|
---|
101 | '</tr><tr>'.
|
---|
102 | '<td colspan="4" class="page-bottom">'.$this->Language->Texts['autors'].': '.$this->Config->Web['Authors'].' '.$this->Links['SourceCode']->Get().'');
|
---|
103 |
|
---|
104 | echo('</td></tr>');
|
---|
105 | echo('</table>'.
|
---|
106 | '</body>'.
|
---|
107 | '</html>');
|
---|
108 | }
|
---|
109 |
|
---|
110 | }
|
---|
111 | ?>
|
---|