root/dev/common/includes/class.page.php @ 219

Revision 219, 4.3 KB (checked in by ralle030583, 15 years ago)

- moved the new navigation stuff from page in a new class and prepared for dynamic menuBox :-)

Line 
1<?php
2require_once('common/includes/class.navigation.php');
3
4class Page
5{
6    function Page($title = '', $cachable = true)
7    {
8                if (!config::get('public_stats'))
9                {
10                        config::set('public_stats','do nothing');
11                }
12       
13        $this->title_ = $title;
14        $this->admin_ = false;
15
16        $this->igb_ = IS_IGB;
17
18        $this->timestart_ = strtok(microtime(), ' ') + strtok('');
19
20        $this->killboard_ = new Killboard(KB_SITE);
21
22        $this->cachable_ = $cachable;
23        $this->cachetime_ = 5;
24       
25        // if you have probs with missing tables uncomment this and
26                // require_once('common/includes/autoupgrade.php');
27        // check_navigationtable();
28    }
29
30    function setContent($html)
31    {
32        $this->contenthtml_ = $html;
33    }
34
35    function addContext($html)
36    {
37        $this->contexthtml_ .= $html;
38    }
39
40    function error($message)
41    {
42        global $smarty;
43
44        $smarty->assign('error', $message);
45        $this->setContent($smarty->fetch(get_tpl('error')));
46        $this->generate();
47    }
48
49    function generate()
50    {
51        global $smarty;
52
53        $smarty->assign('kb_title', KB_TITLE.' Killboard - '.$this->title_);
54
55        $style = config::get('style_name');
56        $smarty->assign('style', $style);
57
58        $smarty->assign('common_url', COMMON_URL);
59        if ($this->onload_)
60        {
61            $smarty->assign('on_load', ' onload="'.$this->onload_.'"');
62        }
63        // header
64
65        if (!$this->igb_)
66        {
67            if (strpos(config::get('mods_active'), 'rss_feed') !== false)
68            {
69                $smarty->assign('rss_feed', 1);
70            }
71            if (MAIN_SITE)
72            {
73                $smarty->assign('banner_link', MAIN_SITE);
74            }
75            $banner = config::get('style_banner');
76            if ($banner == 'custom')
77            {
78                $banner = 'kb-banner.jpg';
79            }
80            $smarty->assign('banner', $banner);
81                       
82            $nav = new Navigation();
83            $nav->setSite($_GET['a']);
84            $menu = $nav->generateMenu();
85            $w = floor(100 / count($menu->get()));
86           
87            $smarty->assign('menu_w',$w.'%');
88            $smarty->assign('menu', $menu->get());
89        }
90        $smarty->assign('page_title', $this->title_);
91
92        $this->timeend_ = strtok(microtime(), ' ') + strtok('');
93        $this->processingtime_ = $this->timeend_ - $this->timestart_;
94
95        $qry = new DBQuery();
96        if (method_exists($qry, 'queryCachedCount'))
97        {
98            $smarty->assign('profile_sql_cached', $qry->queryCachedCount());
99        }
100        $smarty->assign('profile_sql', $qry->queryCount());
101        $smarty->assign('profile_time', $this->processingtime_);
102        $smarty->assign('profile', KB_PROFILE);
103        $smarty->assign('content_html', $this->contenthtml_);
104        if (config::get('user_showmenu'))
105        {
106            $this->contexthtml_ = user::menu().$this->contexthtml_;
107        }
108        $smarty->assign('context_html', $this->contexthtml_);
109        $smarty->display(get_tpl('index'));
110    }
111
112    function igb()
113    {
114        return $this->igb_;
115    }
116
117    function setOnLoad($onload)
118    {
119        $this->onload_ = $onload;
120    }
121
122    function setTitle($title)
123    {
124        $this->title_ = $title;
125    }
126
127    function setAdmin()
128    {
129        if (!Session::isAdmin())
130        {
131            header("Location: ?a=login");
132            echo '<a href="?a=login">Login</a>';
133            exit;
134        }
135    }
136
137    function isAdmin()
138    {
139        return Session::isAdmin();
140    }
141
142    function isSuperAdmin()
143    {
144        return Session::isSuperAdmin();
145    }
146
147    function setSuperAdmin()
148    {
149        if (!Session::isSuperAdmin())
150            Header("Location: ?a=login");
151    }
152
153    function setCachable($cachable)
154    {
155        $this->cachable_ = $cachable;
156    }
157
158    function setCacheTime($cachetime)
159    {
160        $this->cachetime_ = $cachetime;
161    }
162     
163}
164
165class Menu
166{
167    function Menu()
168    {
169        $this->menu_ = array();
170    }
171
172    function get()
173    {
174        return $this->menu_;
175    }
176
177    function add($link, $text)
178    {
179        $this->menu_[] = array('link' => $link, 'text' => $text);
180    }
181}
182?>
Note: See TracBrowser for help on using the browser.