root/dev/common/includes/class.navigation.php @ 220

Revision 220, 1.7 KB (checked in by ralle030583, 16 years ago)

- autoupgrade if somebody hasnt or has an old kb3_navigation table

Line 
1<?php
2//for easier patching
3
4
5class Navigation{
6       
7        function Navigation()
8        {
9                require_once('common/includes/autoupgrade.php');
10                check_navigationtable();
11                $this->contracts_ = killboard::hasContracts();
12        $this->campaigns_ = killboard::hasCampaigns();
13        $this->sql_start = "SELECT * FROM kb3_navigation";
14        $this->sql_end = " AND KBSITE LIKE '" . KB_SITE . "' ORDER BY posnr";
15        $this->type_ = 'top';
16        }
17       
18        function execQuery()
19        {
20                $this->qry = new DBQuery();
21                $query = $this->sql_start;
22                $query .= " WHERE nav_type LIKE '$this->type_'";
23               
24                if (!$this->contracts_){
25                        $query .= " AND url NOT LIKE '?a=contracts'";
26                }
27                if (!$this->campaigns_){
28                        $query .= " AND url NOT LIKE '?a=campaigns'";
29                }
30                if (config::get('public_losses'))
31                {
32                        $query .= " AND url NOT LIKE '?a=losses'";
33                }
34                if (!config::get('show_standings'))
35                {
36                        $query .= " AND url NOT LIKE '?a=standings'";
37                }
38                if (config::get('public_stats')=='remove')
39                {
40                        $query .= " AND url NOT LIKE '?a=stats'";
41                }
42                $query .= " AND (page LIKE '$site' OR page LIKE 'ALL_PAGES')";
43                $query .= $this->sql_end;
44                $this->qry->execute($query);
45        }
46       
47        function getRow(){
48                return $this->qry->getRow();
49        }
50       
51        function setNavType($type)
52        {
53                $this->type_ = $type;
54        }
55       
56        function setSite($site){
57                $this->site_ = $site;
58        }
59       
60        function generateMenu()
61    {
62        $this->site_ = $site;
63        $this->execQuery();
64       
65        $menu = new Menu();
66        while ($row = $this->getRow())
67        {
68                // i know thats a bad hack
69                $url = $row['url'] .'" target="'.$row['target'].'"';
70                $menu->add($url , $row['descr']);
71        }   
72        return $menu;
73    }
74   
75    function generateMenuBox()
76    {
77        // TODO
78    }
79}
80?>
Note: See TracBrowser for help on using the browser.