Changeset 216

Show
Ignore:
Timestamp:
05/10/07 15:17:09 (15 years ago)
Author:
ralle030583
Message:

- new table kb3_navigation
- new Admin Section Navigation - Top Navigation
- removes customable top nav bar changes which came with last revs
- new tablestruct added to autoupgrade.php
- db_cache error when creating new table fixed

Location:
dev/common
Files:
1 added
5 modified

Legend:

Unmodified
Added
Removed
  • dev/common/admin/admin_menu.php

    r190 r216  
    6363options::oldMenu('User', 'Roles', '?a=admin_roles'); 
    6464#options::oldMenu('User', 'Titles', '?a=admin_titles'); 
     65 
     66options::oldMenu('Navigation', "Top Navigation", "?a=admin_navmanager"); 
    6567?> 
  • dev/common/admin/option_db.php

    r207 r216  
    2424        chk_kb3_items2(); 
    2525        check_tblstrct6(); 
    26  
     26                check_navigationtable(); 
    2727        return 'Maintenance complete.<br/>'; 
    2828    } 
  • dev/common/includes/autoupgrade.php

    r201 r216  
    1212    } 
    1313    $query = 'CREATE TABLE `kb3_comments` ( 
    14 `ID` INT NOT NULL AUTO_INCREMENT , 
    15 `kll_id` INT NOT NULL , 
    16 `comment` TEXT NOT NULL , 
    17 `name` TINYTEXT NOT NULL , 
    18 `posttime` TIMESTAMP DEFAULT \'0000-00-00 00:00:00\' NOT NULL, 
    19 PRIMARY KEY ( `ID` ) 
    20 ) TYPE = MYISAM'; 
    21     $qry->execute($query); 
    22 } 
     14        `ID` INT NOT NULL AUTO_INCREMENT , 
     15        `kll_id` INT NOT NULL , 
     16        `comment` TEXT NOT NULL , 
     17        `name` TINYTEXT NOT NULL , 
     18        `posttime` TIMESTAMP DEFAULT \'0000-00-00 00:00:00\' NOT NULL, 
     19        PRIMARY KEY ( `ID` ) 
     20        ) TYPE = MYISAM'; 
     21    $qry->execute($query); 
     22} 
     23 
     24function check_navigationtable(){ 
     25        $qry = new DBQuery(); 
     26        $query = 'select count(*) from kb3_navigation'; 
     27        $result = mysql_query($query); 
     28        if ($result) 
     29        { 
     30            return; 
     31        } 
     32        $query = 'CREATE TABLE `kb3_navigation` ( 
     33        `ID` INT NOT NULL AUTO_INCREMENT , 
     34        `nav_type` TINYTEXT NOT NULL, 
     35        `intern` INT ( 1 ) NOT NULL,  
     36        `descr` TINYTEXT NOT NULL , 
     37        `url` TINYTEXT NOT NULL , 
     38        `target` VARCHAR( 10 )  NOT NULL, 
     39        `posnr` INT NOT NULL, 
     40        `page` TINYTEXT NOT NULL, 
     41        PRIMARY KEY ( `ID` ) 
     42        ) TYPE = MYISAM'; 
     43           $qry->execute($query); 
     44        if (CORP_ID) 
     45        { 
     46            $statlink = '?a=corp_detail&crp_id='.CORP_ID; 
     47        } 
     48        elseif (ALLIANCE_ID) 
     49        { 
     50            $statlink = '?a=alliance_detail&all_id='.ALLIANCE_ID; 
     51        } 
     52        $queries = "INSERT IGNORE INTO `kb3_navigation` VALUES (1,'top',1,'Home','?a=home','_self',1,'ALL_PAGES'); 
     53                INSERT IGNORE INTO `kb3_navigation` VALUES (2,'top',1,'Campaings','?a=campaigns','_self',2,'ALL_PAGES'); 
     54                INSERT IGNORE INTO `kb3_navigation` VALUES (3,'top',1,'Contracts','?a=contracts','_self',3,'ALL_PAGES'); 
     55                INSERT IGNORE INTO `kb3_navigation` VALUES (4,'top',1,'Kills','?a=home','_self',4,'ALL_PAGES'); 
     56                INSERT IGNORE INTO `kb3_navigation` VALUES (5,'top',1,'Losses','?a=losses','_self',5,'ALL_PAGES'); 
     57                INSERT IGNORE INTO `kb3_navigation` VALUES (6,'top',1,'Post Mail','?a=post','_self',6,'ALL_PAGES'); 
     58                INSERT IGNORE INTO `kb3_navigation` VALUES (7,'top',1,'Stats','$statlink','_self',7,'ALL_PAGES'); 
     59                INSERT IGNORE INTO `kb3_navigation` VALUES (8,'top',1,'Awards','?a=awards','_self',8,'ALL_PAGES'); 
     60                INSERT IGNORE INTO `kb3_navigation` VALUES (9,'top',1,'Standings','?a=standings','_self',9,'ALL_PAGES'); 
     61                INSERT IGNORE INTO `kb3_navigation` VALUES (10,'top',1,'Search','?a=search','_self',10,'ALL_PAGES'); 
     62                INSERT IGNORE INTO `kb3_navigation` VALUES (11,'top',1,'Admin','?a=admin','_self',11,'ALL_PAGES'); 
     63                INSERT IGNORE INTO `kb3_navigation` VALUES (12,'top',1,'About','?a=about','_self',12,'ALL_PAGES');"; 
     64        $query = explode("\n", $queries); 
     65        foreach ($query as $querystring) 
     66        { 
     67                if ($string = trim(str_replace(');', ')', $querystring))) 
     68                { 
     69                    $qry->execute($string); 
     70                } 
     71        } 
     72}        
    2373 
    2474function check_commenttablerow() 
  • dev/common/includes/class.db_cache.php

    r209 r216  
    156156            return false; 
    157157        } 
     158        elseif ($ta[0] == 'create') 
     159        { 
     160            return false; 
     161        } 
    158162        else 
    159163        { 
  • dev/common/includes/class.page.php

    r215 r216  
    44    function Page($title = '', $cachable = true) 
    55    { 
    6                 if (config::get('page_pos_home') == '') 
     6                if (!config::get('public_stats')) 
    77                { 
    8                         config::set('page_count',0); 
    9                         config::set('page_pos_home', 1); 
    10                         config::set('page_pos_campaigns',2); 
    11                         config::set('page_pos_contracts',3); 
    12                         config::set('page_pos_kills',4); 
    13                         config::set('page_pos_losses',5); 
    14                         config::set('page_pos_post',6); 
    15                         config::set('page_pos_stats',7); 
    16                         config::set('page_pos_awards',8); 
    17                         config::set('page_pos_standings',9); 
    18                         config::set('page_pos_search',10); 
    19                         config::set('page_pos_admin',11); 
    20                         config::set('page_pos_about',12); 
     8                        config::set('public_stats','do nothing'); 
    219                } 
    2210         
     
    3220        $this->cachable_ = $cachable; 
    3321        $this->cachetime_ = 5; 
     22         
     23        // if you have probs with missing tables uncomment this and  
     24                // require_once('common/includes/autoupgrade.php'); 
     25        // check_navigationtable(); 
    3426    } 
    3527 
     
    170162        $campaigns = $this->killboard_->hasCampaigns(); 
    171163        $layout = array(); 
     164        $statlink = ''; 
    172165         
    173         // Check which stat page should be schown 
    174             if (config::get('public_stats')=='do nothing') 
    175         { 
    176             if (CORP_ID) 
    177             { 
    178                 $statlink = 'corp_detail&crp_id='.CORP_ID; 
    179             } 
    180             elseif (ALLIANCE_ID) 
    181             { 
    182                 $link = 'alliance_detail&all_id='.ALLIANCE_ID; 
    183             } 
    184         } 
    185         if (config::get('public_stats')=='replace') 
    186         { 
    187                 // Public Stats Page not rdy yet.        
    188                 $statlink = ''; 
    189         } 
    190          
    191          
    192                 //preparing default pages 
    193         $layout[config::get('page_pos_home')] = array('Home','?a=home'); 
    194                 if ($campaigns)  
    195                         $layout[config::get('page_pos_campaigns')] = array('Campaigns','?a=campaigns'); 
    196                 if ($contracts)  
    197                         $layout[config::get('page_pos_contracts')] = array('Contracts','?a=contracts'); 
    198                 $layout[config::get('page_pos_kills')] = array('Kills','?a=kills'); 
    199                 if (!config::get('public_losses')) 
    200                         $layout[config::get('page_pos_losses')] = array('Losses','?a=losses'); 
    201                 $layout[config::get('page_pos_awards')] = array('Awards','?a=awards'); 
    202                 if (config::get('show_standings')) 
    203                         $layout[config::get('page_pos_standings')] = array('Standings','?a=standings'); 
    204                 $layout[config::get('page_pos_search')] = array('Search','?a=search'); 
    205                 $layout[config::get('page_pos_admin')] = array('Admin','?a=admin'); 
    206                 $layout[config::get('page_pos_stats')] = array('Stats',$statlink); 
    207                 $layout[config::get('page_pos_admin')] = array('Admin','?a=admin'); 
    208                 $layout[config::get('page_pos_post')] = array('Post mail','?a=post'); 
    209                 $layout[config::get('page_pos_about')] = array('About','?a=about'); 
    210          
    211                 //preparing custom pages 
    212                 for ($i = 1; $i <= config::get('page_count');$i++) 
    213                 { 
    214                         $layout[config::get('page_pos_'.$i)] = array(config::get('page_descr_'.$i),config::get('page_url_'.$i).'" target="_blank"'); 
    215                 } 
    216                  
    217                 //sorting menu 
    218                 ksort($layout,SORT_NUMERIC); 
    219                                          
    220                 //building menu 
    221                 foreach ($layout as $item){ 
    222                         $menu->add($item[1] , $item[0]);                 
    223                 } 
    224          
     166        $qry = new DBQuery(); 
     167        $query = "SELECT * FROM kb3_navigation WHERE nav_type ='top' ORDER BY posnr"; 
     168        $qry->execute($query); 
     169        while ($row = $qry->getRow()){ 
     170                $url = $row['url']; 
     171                // i know thats a bad hack :-) 
     172                if ($row['target'] == '_blank') 
     173                        $url .= '" target="_blank"'; 
     174                         
     175                if (!$contracts && ($row['ID']==3)){ 
     176                        continue; 
     177                }elseif (!$campaigns && ($row['ID']==2)){ 
     178                        continue; 
     179                }elseif ((((config::get('public_stats')=='replace')||(config::get('public_stats')=='remove')))&& $row['ID']==7) { 
     180                        continue; 
     181                }elseif (!config::get('show_standings')&& $row['ID']==9){ 
     182                        continue; 
     183                }elseif ((config::get('public_losses')&& $row['ID']==5)){ 
     184                        continue; 
     185                }else $menu->add($url , $row['descr']); 
     186        } 
    225187        return $menu; 
    226188    }