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

Revision 288, 4.7 KB (checked in by ralle030583, 15 years ago)

- moved the checking for a default navigation

into the navigation class to solve problems after
installation

Line 
1<?php
2
3class Navigation{
4
5        function Navigation()
6        {
7                // checking if a minimum navigation exists
8                $this->check_navigationtable();
9               
10        $this->sql_start = "SELECT * FROM kb3_navigation";
11        $this->sql_end = " AND KBSITE LIKE '" . KB_SITE . "' ORDER BY posnr";
12        $this->type_ = 'top';
13        }
14
15        function execQuery()
16        {
17                $this->qry = new DBQuery();
18                $query = $this->sql_start;
19                $query .= " WHERE nav_type LIKE '$this->type_'";
20
21                if (killboard::hasContracts() == false){
22                        $query .= " AND url NOT LIKE '?a=contracts'";
23                }
24                if (killboard::hasCampaigns() == false){
25                        $query .= " AND url NOT LIKE '?a=campaigns'";
26                }
27                if (config::get('public_losses'))
28                {
29                        $query .= " AND url NOT LIKE '?a=losses'";
30                }
31                if (!config::get('show_standings'))
32                {
33                        $query .= " AND url NOT LIKE '?a=standings'";
34                }
35                if (config::get('public_stats')=='remove')
36                {
37                        $query .= " AND url NOT LIKE '?a=stats'";
38                }
39                $query .= " AND (page LIKE '".$this->site_."' OR page LIKE 'ALL_PAGES') AND hidden = 0";
40                $query .= $this->sql_end;
41                $this->qry->execute($query);
42        }
43
44        function getRow(){
45                return $this->qry->getRow();
46        }
47
48        function setNavType($type)
49        {
50                $this->type_ = $type;
51        }
52
53        function setSite($site){
54                $this->site_ = $site;
55        }
56
57        function generateMenu()
58    {
59        $this->site_ = $site;
60        $this->execQuery();
61
62        $menu = new Menu();
63        while ($row = $this->getRow())
64        {
65                // i know thats a bad hack
66                $url = $row['url'] .'" target="'.$row['target'].'"';
67                $menu->add($url , $row['descr']);
68        }
69        return $menu;
70    }
71
72    function generateMenuBox()
73    {
74        // TODO
75    }
76   
77    function check_navigationtable(){
78                if (CORP_ID)
79                {
80                    $statlink = '?a=corp_detail&crp_id='.CORP_ID;
81                }
82                elseif (ALLIANCE_ID)
83                {
84                    $statlink = '?a=alliance_detail&all_id='.ALLIANCE_ID;
85                }
86                $query = "select count(KBSITE) from kb3_navigation WHERE KBSITE = '".KB_SITE."'";
87                $result = @mysql_query($query);
88                $row = mysql_fetch_row($result);
89                if ($row[0] == 0)
90                {
91                        $queries = "INSERT IGNORE INTO `kb3_navigation` (`nav_type`,`intern`,`descr` ,`url` ,`target`,`posnr`,`page` ,`hidden`,`KBSITE`) VALUES ('top',1,'Home','?a=home','_self',1,'ALL_PAGES',0,'".KB_SITE."');
92                                                INSERT IGNORE INTO `kb3_navigation` (`nav_type`,`intern`,`descr` ,`url` ,`target`,`posnr` ,`page`,`hidden`,`KBSITE`) VALUES ('top',1,'Campaigns','?a=campaigns','_self',2,'ALL_PAGES',0,'".KB_SITE."');
93                                                INSERT IGNORE INTO `kb3_navigation` (`nav_type`,`intern`,`descr` ,`url` ,`target`,`posnr` ,`page`,`hidden`,`KBSITE`) VALUES ('top',1,'Contracts','?a=contracts','_self',3,'ALL_PAGES',0,'".KB_SITE."');
94                                                INSERT IGNORE INTO `kb3_navigation` (`nav_type`,`intern`,`descr` ,`url` ,`target`,`posnr` ,`page`,`hidden`,`KBSITE`) VALUES ('top',1,'Kills','?a=kills','_self',4,'ALL_PAGES',0,'".KB_SITE."');
95                                                INSERT IGNORE INTO `kb3_navigation` (`nav_type`,`intern`,`descr` ,`url` ,`target`,`posnr` ,`page`,`hidden`,`KBSITE`) VALUES ('top',1,'Losses','?a=losses','_self',5,'ALL_PAGES',0,'".KB_SITE."');
96                                                INSERT IGNORE INTO `kb3_navigation` (`nav_type`,`intern`,`descr` ,`url` ,`target`,`posnr` ,`page`,`hidden`,`KBSITE`) VALUES ('top',1,'Post Mail','?a=post','_self',6,'ALL_PAGES',0,'".KB_SITE."');
97                                                INSERT IGNORE INTO `kb3_navigation` (`nav_type`,`intern`,`descr` ,`url` ,`target`,`posnr` ,`page`,`hidden`,`KBSITE`) VALUES ('top',1,'Stats','$statlink','_self',7,'ALL_PAGES',0,'".KB_SITE."');
98                                                INSERT IGNORE INTO `kb3_navigation` (`nav_type`,`intern`,`descr` ,`url` ,`target`,`posnr` ,`page`,`hidden`,`KBSITE`) VALUES ('top',1,'Awards','?a=awards','_self',8,'ALL_PAGES',0,'".KB_SITE."');
99                                                INSERT IGNORE INTO `kb3_navigation` (`nav_type`,`intern`,`descr` ,`url` ,`target`,`posnr` ,`page`,`hidden`,`KBSITE`) VALUES ('top',1,'Standings','?a=standings','_self',9,'ALL_PAGES',0,'".KB_SITE."');
100                                                INSERT IGNORE INTO `kb3_navigation` (`nav_type`,`intern`,`descr` ,`url` ,`target`,`posnr` ,`page`,`hidden`,`KBSITE`) VALUES ('top',1,'Search','?a=search','_self',10,'ALL_PAGES',0,'".KB_SITE."');
101                                                INSERT IGNORE INTO `kb3_navigation` (`nav_type`,`intern`,`descr` ,`url` ,`target`,`posnr` ,`page`,`hidden`,`KBSITE`) VALUES ('top',1,'Admin','?a=admin','_self',11,'ALL_PAGES',0,'".KB_SITE."');
102                                                INSERT IGNORE INTO `kb3_navigation` (`nav_type`,`intern`,`descr` ,`url` ,`target`,`posnr` ,`page`,`hidden`,`KBSITE`) VALUES ('top',1,'About','?a=about','_self',12,'ALL_PAGES',0,'".KB_SITE."');";
103                        $query = explode("\n", $queries);
104                        $qry = new DBQuery();
105                        foreach ($query as $querystring)
106                        {
107                                if ($string = trim(str_replace(');', ')', $querystring)))
108                                {
109                                    $qry->execute($string);
110                                }
111                        }
112                }
113        }       
114}
115?>
Note: See TracBrowser for help on using the browser.