source: trunk/www/Application/View/Page.php

Last change on this file was 95, checked in by chronos, 10 years ago
  • Upraveno: Soubory různých logických částí systému odděleny do aplikačních modulů.
File size: 5.6 KB
Line 
1<?php
2
3include_once(dirname(__FILE__).'/../../Base/View.php');
4include_once(dirname(__FILE__).'/../../Module/News/View.php');
5
6class PageView extends View
7{
8 var $TimeStart;
9 var $ShortTitle;
10 var $FullTitle;
11 var $Load;
12 var $Unload;
13 var $Content;
14
15 function ShowHeader($Title, $Path)
16 {
17 $BodyParam = '';
18 if($this->Load != '') $BodyParam .= ' onload="'.$this->Load.'"';
19 if($this->Unload != '') $BodyParam .= ' onunload="'.$this->Unload.'"';
20 $Output = '<?xml version="1.0" encoding="'.$this->Config['Web']['Charset'].'"?>'."\n".
21 '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'.
22 '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">'.
23 '<head><link rel="stylesheet" href="'.$this->Config['Web']['RootFolder'].'/Application/Style/Style.css" type="text/css" media="all" />'.
24 '<meta http-equiv="content-type" content="application/xhtml+xml; charset='.$this->Config['Web']['Charset'].'" />'.
25 '<script type="text/javascript" src="'.$this->Config['Web']['RootFolder'].'/Application/Style/Global.js"></script>'.
26 '<title>'.$this->Config['Web']['Title'].' - '.$Path.'</title>
27 </head><body'.$BodyParam.'>'.$this->ShowTopPanel();
28 return($Output);
29 }
30
31 function ShowTopPanel()
32 {
33 $Output = '<div class="Navigation"><span class="MenuItem">'.
34 '<a href="?Module=HomePage&amp;Action=Info">Informace</a>'.
35 ' <a href="?Module=HomePage&amp;Action=State">Stav systému</a>'.
36 ' <a href="?Module=Server&amp;Action=ItemList">Seznam serverů</a>'.
37 ' <a href="?Module=Client&amp;Action=ItemList">Verze klienta</a>'.
38 ' <a href="?Module=Emulator&amp;Action=ItemList">Verze emulátoru</a>'.
39 '</span><div class="MenuItem2">';
40 if($this->System->Modules['User']->Data['Id'] == $this->Config['Web']['UserAnonymousId'])
41 {
42 $Output .= '<a href="'.$this->System->Config['Web']['RootFolder'].'/?Module=User&amp;Action=Login">Přihlášení</a>';
43 if($this->Config['Web']['UserRegistrationEnabled']) $Output .= ' <a href="'.$this->System->Config['Web']['RootFolder'].'/?Module=User&amp;Action=Register">Registrace</a>';
44 } else $Output .= $this->System->Modules['User']->Data['Name'].' <a href="'.$this->Config['Web']['RootFolder'].'/?Module=User&amp;Action=Logout">Odhlásit</a>'.
45 ' <a href="'.$this->Config['Web']['RootFolder'].'/?Module=User&amp;Action=Options">Nastavení</a>';
46 $Output .= '</div></div>';
47 return($Output);
48 }
49
50 function ShowFooter()
51 {
52 global $ScriptTimeStart;
53
54 $Time = round($this->System->GetMicrotime() - $ScriptTimeStart, 2);
55 $Output = '<div class="Footer">
56 <ul><li>Založeno na projektu <a href="http://svn.zdechov.net/trac/wowhosting/">WoW hosting</a></li>'.
57 '<li><a href="http://svn.zdechov.net/trac/wowhosting/browser">Zdrojové kódy</a></li>'.
58 '<li><a href="http://svn.zdechov.net/trac/wowhosting/log?verbose=on">Novinky</a></li>'.
59 '<li>Správce: '.$this->Config['Web']['Admin'].'</li>'.
60 '<li>E-mail: '.$this->Config['Web']['AdminEmail'].'</li>';
61 if($this->Config['Web']['ShowRuntimeInfo'] == true) $Output .= '<li>Doba generování: '.$Time.' s / '.ini_get('max_execution_time').' s</li><li>Použitá paměť: '.$this->System->AddPrefixMultipliers(memory_get_peak_usage(FALSE), 'B').' / '.ini_get('memory_limit').'B</li>';
62 $Output .= '</ul></div></body></html>';
63 return($Output);
64 }
65
66 function CenterPanel($Content)
67 {
68 $Output = '<table class="BasicTable"><tr>';
69 if($this->System->Modules['User']->Data['Id'] != $this->Config['Web']['UserAnonymousId'])
70 $Output .= '<td class="UserMenu">'.$this->UserMenu().'</td>';
71 $Output .= '<td class="Content">'.$Content.'</td>';
72 if(!array_key_exists('Action', $_GET))
73 {
74 $NewsView = new NewsView($this->System);
75 $Output .= $NewsView->View();
76 }
77 $Output .= '</tr></table>';
78 return($Output);
79 }
80
81 function UserMenu()
82 {
83 $Output = '<strong>Uživatelské menu</strong><br />';
84 if($this->System->Modules['User']->Data['Id'] != $this->Config['Web']['UserAnonymousId'])
85 {
86 $Output .= '<div><a href="?Module=Cluster&amp;Action=ItemList">Uzly skupiny</a></div>';
87 $Output .= '<div><a href="?Module=Server&amp;Action=ItemList&amp;Filter=User">Moje servery</a></div>';
88 //$Output .= '<div><a href="?Action=RealmList&amp;Filter=User">Moje světy</a></div>';
89 //$Output .= '<div><a href="?Action=DebugList&amp;Id='.$Server['Id'].'">Ladící záznamy</a></div>';
90 //$Output .= '<div><a href="?Action=BackupList&amp;Id='.$Server['Id'].'">Zálohy</a></div>';
91 $Output .= '<div><a href="?Module=Task&amp;Action=ItemList">Fronta úloh</a></div>';
92 //$Output .= '<div><a href="?Action=UpdateList&amp;Id='.$Server['Id'].'">Dostupné aktualizace</a></div>';
93
94 if($this->System->Modules['Permission']->Check('News', 'Add'))
95 {
96 $Output .= '<div><a href="?Module=News&amp;Action=Add">Přidat aktualitu</a></div>';
97 }
98 }
99 return($Output);
100 }
101
102 function GetOutput($Content)
103 {
104 $Output = $this->ShowHeader($this->FullTitle, $this->ShortTitle).
105 $this->CenterPanel($Content);
106 $Output .= $this->ShowFooter();
107 if($this->Config['Web']['FormatHTML'] == true) echo($this->FormatOutput($Output));
108 else echo($Output);
109 }
110
111 function SystemMessage($Text)
112 {
113 return('<table align="center"><tr><td><div class="SystemMessage"><h3>Systémová zpráva</h3><div>'.$Text.'</div></div</td></tr></table>');
114 //ShowFooter();
115 //die();
116 }
117
118 function AccessDenied()
119 {
120 return($this->GetOutput($this->SystemMessage($this->System->Translate('AccessDenied'))));
121 }
122}
Note: See TracBrowser for help on using the repository browser.