Changeset 89

Show
Ignore:
Timestamp:
11/25/06 16:25:57 (14 years ago)
Author:
exi
Message:

Moved img/banners to img/logo.
Added auto-addition for items as option.
Autoupgrade:
Changed comments to work on mysql < 4.1.
Changed pilot_name to be 64 chars long.
Added system-field for contract targets.
Added index on kb3_item_types.itt_id.
Dropped kb3_ships.shp_description.
Dropped kb3_items.itm_description.
Changed Value to itm_value on kb3_items in case you got that.
Added kb3_items.itm_value to store the market value of items.

Location:
dev
Files:
9 added
1 removed
3 modified

Legend:

Unmodified
Added
Removed
  • dev/common/admin.php

    r71 r89  
    11<?php 
    2 require_once("db.php"); 
    3 require_once("class.killboard.php"); 
    4 require_once("class.page.php"); 
    5 require_once("class.tabbedform.php"); 
    6 require_once("admin_menu.php"); 
     2require_once('db.php'); 
     3require_once('class.killboard.php'); 
     4require_once('class.page.php'); 
     5require_once('class.tabbedform.php'); 
     6require_once('admin_menu.php'); 
     7require_once('autoupgrade.php'); 
    78 
    89$killboard = new Killboard(KB_SITE); 
    9 $page = new Page("Administration - Generic"); 
     10$page = new Page('Administration - Generic (Current version: '.KB_VERSION.' Build '.SVN_REV.')'); 
    1011$page->setAdmin(); 
    11 require_once('autoupgrade.php'); 
     12 
     13// check tables for validity and fields 
     14// todo: tidy this mess up!!!!! 
     15check_pilots(); 
    1216check_invdetail(); 
     17check_contracts(); 
     18check_index(); 
     19check_tblstrct1(); 
     20check_tblstrct2(); 
     21check_tblstrct3(); 
     22check_tblstrct4(); 
    1323 
    1424if ($_POST['submit']) 
     
    2131    $config->checkCheckbox('ship_values'); 
    2232    $config->checkCheckbox('least_active'); 
     33    $config->checkCheckbox('adapt_items'); 
    2334 
    2435    if ($config->checkCheckbox('comments')) 
     
    5263$html .= "<tr><td width=120><b>Banner:</b></td><td><select id=style_banner name=style_banner>"; 
    5364 
    54 $dir = "img/banners/"; 
     65$dir = "img/logo/"; 
    5566if (is_dir($dir)) 
    5667{ 
     
    6071        { 
    6172            $file = substr($file, 0, strpos($file, ".")); 
    62             if (!is_dir($dir . $file)) 
     73            if (!is_dir($dir.$file)) 
    6374            { 
    64                 $html .= "<option value=\"" . $file . "\""; 
    65                 if ($file == $config->getStyleBanner()) 
     75                $html .= "<option value=\"".$file."\""; 
     76                if ($file == $config->getConfig('style_banner')) 
    6677                { 
    6778                    $html .= " selected=\"selected\""; 
    6879                } 
    69                 $html .= ">" . $file . "</option>"; 
     80                $html .= ">".$file."</option>"; 
    7081            } 
    7182        } 
     
    7384    } 
    7485} 
    75 $html .= "<option value=\"custom\""; 
    76 if ($config->getStyleBanner() == "custom") 
    77 { 
    78     $html .= " selected=\"selected\""; 
    79 } 
    80 $html .= ">custom</option></select></td></tr>"; 
     86$html .= "</td></tr>"; 
    8187$html .= "<tr><td width=120><b>Style:</b></td><td><select id=style_name name=style_name>"; 
    8288 
     
    8894        while (($file = readdir($dh)) !== false) 
    8995        { 
    90             if (is_dir($dir . $file)) 
     96            if (is_dir($dir.$file)) 
    9197            { 
    9298                if ($file == "." || $file == ".." || $file == ".svn") 
     
    94100                    continue; 
    95101                } 
    96                 $html .= "<option value=\"" . $file . "\""; 
    97                 if ($file == $config->getStyleName()) 
     102                $html .= "<option value=\"".$file."\""; 
     103                if ($file == $config->getConfig('style_name')) 
    98104                { 
    99105                    $html .= " selected=\"selected\""; 
    100106                } 
    101                 $html .= ">" . $file . "</option>"; 
     107                $html .= ">".$file."</option>"; 
    102108            } 
    103109        } 
     
    150156$html .= "<table class=kb-subtable>"; 
    151157 
    152 $html .= "<tr><td width=120><b>Post password:</b></td><td><input type=text name=post_password id=post_password size=20 maxlength=20 value=\"" . $config->getPostPassword() . "\"></td></tr>"; 
    153 $html .= "<tr><td width=120><b>Killmail CC:</b></td><td><input type=text name=post_mailto id=post_mailto size=20 maxlength=80 value=\"" . $config->getPostMailto() . "\"> (e-mail address)</td></tr>"; 
     158$html .= "<tr><td width=120><b>Post password:</b></td><td><input type=text name=post_password id=post_password size=20 maxlength=20 value=\"".$config->getPostPassword()."\"></td></tr>"; 
     159$html .= "<tr><td width=120><b>Killmail CC:</b></td><td><input type=text name=post_mailto id=post_mailto size=20 maxlength=80 value=\"".$config->getPostMailto()."\"> (e-mail address)</td></tr>"; 
    154160$html .= "<tr><td width=120><b>Mailhost:</b></td><td><input type=text name=post_mailhost id=post_mailhost size=20 maxlength=80 value=\"".$config->getConfig('mail_host')."\"></td></tr>"; 
    155 $html .= "<tr><td width=120><b>Disallow any killmails before:</b></td><td>" . dateSelector($config->getConfig('filter_apply'), $config->getConfig('filter_date')) . "</td></tr>"; 
     161$html .= "<tr><td width=120><b>Disallow any killmails before:</b></td><td>".dateSelector($config->getConfig('filter_apply'), $config->getConfig('filter_date'))."</td></tr>"; 
     162$html .= "<tr><td width=120><b>Enable auto-addition of unknown Items:</b></td><td><input type=checkbox name=adapt_items id=adapt_items"; 
     163if ($config->getConfig('adapt_items')) 
     164{ 
     165    $html .= " checked=\"checked\""; 
     166} 
     167$html .= "> (This is in case we can't supply a dump with the new items when Kali goes live)</td></tr>"; 
    156168$html .= "</table>"; 
    157169 
  • dev/common/autoupgrade.php

    r71 r89  
    1616`comment` TEXT NOT NULL , 
    1717`name` TINYTEXT NOT NULL , 
    18 `posttime` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, 
     18`posttime` TIMESTAMP DEFAULT \'0000-00-00 00:00:00\' NOT NULL, 
    1919PRIMARY KEY ( `ID` ) 
    2020) TYPE = MYISAM'; 
     
    2525{ 
    2626    $qry = new DBQuery(); 
    27     $query = 'select count(posttime) from kb3_comments'; 
     27    $query = 'select posttime from kb3_comments limit 1'; 
    2828    $result = mysql_query($query); 
    2929    if ($result) 
     
    3333        return; 
    3434    } 
    35     $query = 'ALTER TABLE `kb3_comments` ADD `posttime` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL'; 
     35    $query = 'ALTER TABLE `kb3_comments` ADD `posttime` TIMESTAMP DEFAULT \'0000-00-00 00:00:00\' NOT NULL'; 
    3636    $qry->execute($query); 
    3737} 
     
    5252) TYPE = MYISAM ;'; 
    5353    $qry->execute($query); 
     54    $qry->execute('ALTER TABLE `kb3_ships_values` ADD PRIMARY KEY ( `shp_id` ) '); 
    5455    $qry->execute('UPDATE kb3_ships set shp_class = 8 WHERE shp_id=257 limit 1'); 
    5556    $qry->execute('UPDATE kb3_ships set shp_class = 8 WHERE shp_id=252 limit 1'); 
     
    5960    $qry->execute('UPDATE kb3_ships set shp_class = 4 WHERE shp_id=246 limit 1'); 
    6061    $qry->execute('UPDATE kb3_ships set shp_class = 4 WHERE shp_id=249 limit 1'); 
     62    $qry->execute('UPDATE kb3_ships set shp_techlevel = 2 where shp_class = 22'); 
    6163} 
    6264 
     
    6971    if ($len == 4) 
    7072    { 
    71         $query = 'ALTER TABLE `kb3_inv_detail` CHANGE `ind_sec_status` `ind_sec_status` VARCHAR( 5 )'; 
     73        $query = 'ALTER TABLE `kb3_inv_detail` CHANGE `ind_sec_status` `ind_sec_status` VARCHAR(5)'; 
    7274        $qry->execute($query); 
    7375    } 
    7476} 
     77 
     78function check_pilots() 
     79{ 
     80    $qry = new DBQuery(); 
     81    $query = 'select plt_name from kb3_pilots limit 1'; 
     82    $qry->execute($query); 
     83    $len = mysql_field_len($qry->resid_,0); 
     84    if ($len == 32) 
     85    { 
     86        $query = 'ALTER TABLE `kb3_pilots` CHANGE `plt_name` `plt_name` VARCHAR(64) NOT NULL'; 
     87        $qry->execute($query); 
     88    } 
     89} 
     90 
     91function check_contracts() 
     92{ 
     93    $qry = new DBQuery(); 
     94    $query = 'select ctd_sys_id from kb3_contract_details limit 1'; 
     95    $result = mysql_query($query); 
     96    if ($result) 
     97    { 
     98        return; 
     99    } 
     100    $qry->execute('ALTER TABLE `kb3_contract_details` ADD `ctd_sys_id` INT(11) NOT NULL DEFAULT \'0\''); 
     101    $qry->execute('ALTER TABLE `kb3_contract_details` ADD INDEX (`ctd_ctr_id`) '); 
     102} 
     103function check_index() 
     104{ 
     105    $qry = new DBQuery(); 
     106    $qry->execute('SHOW columns from kb3_item_types like \'itt_id\''); 
     107    $arr = $qry->getRow(); 
     108    if ($arr['Key'] == 'PRI') 
     109    { 
     110        return; 
     111    } 
     112    $qry->execute('ALTER TABLE `kb3_item_types` ADD PRIMARY KEY ( `itt_id` ) '); 
     113} 
     114function check_tblstrct1() 
     115{ 
     116    $qry = new DBQuery(); 
     117    $query = 'select shp_description from kb3_ships limit 1'; 
     118    $result = mysql_query($query); 
     119    if (!$result) 
     120    { 
     121        return; 
     122    } 
     123    $query = 'ALTER TABLE `kb3_ships` DROP `shp_description`'; 
     124    $qry->execute($query); 
     125} 
     126function check_tblstrct2() 
     127{ 
     128    $qry = new DBQuery(); 
     129    $query = 'select itm_description from kb3_items limit 1'; 
     130    $result = mysql_query($query); 
     131    if (!$result) 
     132    { 
     133        return; 
     134    } 
     135    $query = 'ALTER TABLE `kb3_items` DROP `itm_description`'; 
     136    $qry->execute($query); 
     137} 
     138function check_tblstrct3() 
     139{ 
     140    $qry = new DBQuery(); 
     141    $query = 'select Value from kb3_items limit 1'; 
     142    $result = mysql_query($query); 
     143    if ($result) 
     144    { 
     145        $query = 'ALTER TABLE `kb3_items` CHANGE `Value` `itm_value` INT( 11 ) NOT NULL DEFAULT \'0\''; 
     146        $qry->execute($query); 
     147    } 
     148} 
     149function check_tblstrct4() 
     150{ 
     151    $qry = new DBQuery(); 
     152    $query = 'select itm_value from kb3_items limit 1'; 
     153    $result = mysql_query($query); 
     154    if ($result) 
     155    { 
     156        return; 
     157    } 
     158    $query = 'ALTER TABLE `kb3_items` ADD `itm_value` INT( 11 ) NOT NULL DEFAULT \'0\''; 
     159    $qry->execute($query); 
     160    $qry->execute('ALTER TABLE `kb3_items` CHANGE `itm_externalid` `itm_externalid` INT( 11 ) NOT NULL DEFAULT \'0\''); 
     161} 
    75162?> 
  • dev/common/class.item.php

    r56 r89  
    1 <? 
    2   require_once( "db.php" ); 
     1<?php 
     2require_once("db.php"); 
    33 
    4   class Item { 
    5  
    6     function Item( $id = 0 ) 
     4class Item 
     5{ 
     6    function Item($id = 0) 
    77    { 
    8       $this->id_ = $id; 
    9       $this->qry_ = new DBQuery(); 
    10  
     8        $this->id_ = $id; 
     9        $this->qry_ = new DBQuery(); 
    1110    } 
    1211 
    1312    function getID() 
    1413    { 
    15       return $this->id_; 
     14        return $this->id_; 
    1615    } 
    1716 
    1817    function getName() 
    1918    { 
    20       $this->execQuery(); 
    21       return $this->row_['itm_name']; 
     19        $this->execQuery(); 
     20        return $this->row_['itm_name']; 
    2221    } 
    2322 
    24     function getIcon( $size = 32 ) 
     23    function getIcon($size = 32) 
    2524    { 
    26       $this->execQuery(); 
    27 //      return IMG_URL."/items/".$size."_".$size."/".$this->row_['itm_icon'].".png"; 
    28       $html .= "<td class=item-icon width=\"30\" height=\"34\" background=\"".IMG_URL."/items/".$size."_".$size."/".$this->row_['itm_icon'].".png\" valign=top>"; 
    29       if ( substr( $this->getName(), strlen( $this->getName() ) - 2, 2 ) == "II" ) 
    30         $html .= "<img src=\"".IMG_URL."/items/32_32/t2.gif\" border=\"0\">"; 
    31       else 
    32         $html .= "<img src=\"".IMG_URL."/items/32_32/blank.gif\" border=\"0\">"; 
     25        $this->execQuery(); 
     26//        if (strstr($this->row_['itt_name'], 'Drone')) 
     27//        { 
     28//            $html .= "<td class=item-icon width=\"30\" height=\"34\" background=\"".IMG_URL."/drones/".$size."_".$size."/".$this->row_['itm_externalid'].".png\" valign=top>"; 
     29//        } 
     30//        else 
     31//        { 
     32            $html .= "<td class=item-icon width=\"30\" height=\"34\" background=\"".IMG_URL."/items/".$size."_".$size."/".$this->row_['itm_icon'].".png\" valign=top>"; 
     33//        } 
     34        // return IMG_URL."/items/".$size."_".$size."/".$this->row_['itm_icon'].".png"; 
    3335 
    34       $hmtl .= "</td>"; 
     36        if (substr($this->getName(), strlen($this->getName()) - 2, 2) == "II") 
     37            $html .= "<img src=\"".IMG_URL."/items/32_32/t2.gif\" border=\"0\">"; 
     38        else 
     39            $html .= "<img src=\"".IMG_URL."/items/32_32/blank.gif\" border=\"0\">"; 
    3540 
    36       return $html; 
     41        $hmtl .= "</td>"; 
     42 
     43        return $html; 
    3744    } 
    38      
     45 
    3946    function getSlot() 
    4047    { 
    41       $this->execQuery(); 
    42       return $this->row_['itt_slot']; 
     48        $this->execQuery(); 
     49        return $this->row_['itt_slot']; 
    4350    } 
    4451 
    4552    function execQuery() 
    4653    { 
    47       if ( !$this->qry_->executed_ ) { 
    48         $this->sql_ = "select * 
    49                          from kb3_items, kb3_item_types 
    50                         where itm_id = ".$this->id_." 
    51                           and itm_type = itt_id";       
    52         $this->qry_->execute( $this->sql_ ) or die( $this->qry_->getErrorMsg() ); 
    53         $this->row_ = $this->qry_->getRow(); 
    54       } 
     54        if (!$this->qry_->executed_) 
     55        { 
     56            $this->sql_ = "select * 
     57                           from kb3_items, kb3_item_types 
     58                               where itm_id = ".$this->id_." 
     59                               and itm_type = itt_id"; 
     60            $this->qry_->execute($this->sql_) or die($this->qry_->getErrorMsg()); 
     61            $this->row_ = $this->qry_->getRow(); 
     62        } 
    5563    } 
    5664 
    57     function lookup( $name ) 
     65    function lookup($name) 
    5866    { 
    59       $qry = new DBQuery(); 
    60       $qry->execute( "select * 
    61                         from kb3_items itm 
    62                        where itm_name = '".slashfix( $name )."'" ); 
    63                                                                                  
    64       $row = $qry->getRow(); 
    65       $this->id_ = $row['itm_id']; 
     67        $qry = new DBQuery(); 
     68        $qry->execute("select * from kb3_items itm 
     69                        where itm_name = '".slashfix($name)."'"); 
     70        $row = $qry->getRow(); 
     71        if (!isset($row['itm_id'])) 
     72        { 
     73            global $config; 
     74            if ($config->getConfig('adapt_items')) 
     75            { 
     76                // if the item is a tec2 we likely have the tec1 
     77                if (substr($name, -2, 2) == 'II') 
     78                { 
     79                    $qry->execute("select * from kb3_items itm 
     80                                    where itm_name = '".slashfix(substr($name,0,-1))."'"); 
     81                    $row = $qry->getRow(); 
     82                    $qry->execute("INSERT INTO kb3_items (itm_name,itm_volume,itm_type,itm_externalid,itm_techlevel, itm_icon) 
     83                                    VALUES ('".slashfix($name)."','".$row['itm_volume']."','".$row['itm_type']."','".$row['itm_externalid']."','2','".$row['itm_icon']."')"); 
     84                    $this->id_ = $qry->getInsertID(); 
     85                } 
     86                else 
     87                { 
     88                    // no idea what this is, insert as 'Temp' 
     89                    $qry->execute("INSERT INTO kb3_items (itm_name,itm_type) 
     90                                    VALUES ('".slashfix($name)."','721')"); 
     91                    $this->id_ = $qry->getInsertID(); 
     92                } 
     93            } 
     94        } 
     95        $this->id_ = $row['itm_id']; 
    6696    } 
    67          
    68         function get_item_id($name) 
     97 
     98    function get_item_id($name) 
    6999    { 
    70100        $qry = new DBQuery(); 
    71101        $qry->execute("select * 
    72102                        from kb3_items 
    73                        where itm_name = '" . slashfix($name) . "'"); 
     103                        where itm_name = '".slashfix($name)."'"); 
    74104 
    75105        $row = $qry->getRow(); 
    76106        if ($row['itm_id']) return $row['itm_id']; 
    77107    } 
    78   } 
     108} 
    79109?>