Changeset 416

Show
Ignore:
Timestamp:
07/11/09 03:56:22 (11 years ago)
Author:
kovell
Message:

Fixes: upgrade no longer relies on install directory existing, upgrade variables correctly named, legacy code removed, error notices reduced.

Location:
dev
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • dev/common/includes/autoupgrade.php

    r404 r416  
    1111// Current update version of Database 
    1212define(CURRENT_DB_UPDATE,config::get("DBUpdate")); 
    13 //Update version of this autoupgrade.php 
    14 // Moved to index.php 
    15 //define(LASTEST_DB_UPDATE,"008"); 
    1613 
    1714function updateDB(){ 
    18         // if update nesseary run updates 
     15        // if update necessary run upgrade.php 
    1916        if (CURRENT_DB_UPDATE < LASTEST_DB_UPDATE ){ 
    20         header('Location: '.KB_HOST."/upgrade.php"); 
    21         die; 
    22  
    23         // Functional but very rough 
    24  
    25         // Plan for the future: 
    26         // Check here to see if an update is needed. If so redirect to 
    27         // KB_HOST/upgrade.php 
    28                 update001(); 
    29                 update002(); 
    30                 update003(); 
    31                 update004(); 
    32                 update005(); 
    33  
    34                 update007(); 
    35                 update008(); 
    36                 update009(); 
    37                 update010(); 
    38                 touch ('install/install.lock'); 
     17                header('Location: '.KB_HOST."/upgrade.php"); 
     18                die; 
    3919        } 
    4020} 
    41  
    42 /* 
    43  * Too much has changed between update005 and current status for a clean 
    44  * update006. Restarting from update007 in the hope that the differences 
    45  * between 5 and 7 are worked out and an update006 implemented 
    46  */ 
    47  
    48  function update001(){ 
    49         //Checking if this Update already done 
    50         if (CURRENT_DB_UPDATE < "001" ) 
    51         { 
    52                 require_once("common/includes/class.item.php"); 
    53                 // Changing ShieldBooster Slot from None to Mid Slot 
    54                 $ShieldBoosterGroup = item::get_group_id("Small Shield Booster I"); 
    55                 update_slot_of_group($ShieldBoosterGroup,0,2); 
    56                  
    57                 // Changing Tracking Scripts Slot from None to Mid Slot 
    58                 $ScriptGroupID1 = item::get_group_id("Optimal Range"); 
    59                 update_slot_of_group($ScriptGroupID1,0,2); 
    60  
    61                 // Changing Warp Disruption Scripts Slot from None to Mid Slot 
    62                 $ScriptGroupID2 = item::get_group_id("Focused Warp Disruption"); 
    63                 update_slot_of_group($ScriptGroupID2,0,2); 
    64                  
    65                 // Changing Tracking Disruption Scripts Slot from None to Mid Slot 
    66                 $ScriptGroupID3 = item::get_group_id("Optimal Range Disruption"); 
    67                 update_slot_of_group($ScriptGroupID3,0,2); 
    68                  
    69                 // Changing Sensor Booster Scripts Slot from None to Mid Slot 
    70                 $ScriptGroupID4 = item::get_group_id("Targeting Range"); 
    71                 update_slot_of_group($ScriptGroupID4,0,2); 
    72                  
    73                 // Changing Sensor Dampener Scripts Slot from None to Mid Slot 
    74                 $ScriptGroupID5 = item::get_group_id("Scan Resolution Dampening"); 
    75                 update_slot_of_group($ScriptGroupID5,0,2); 
    76                  
    77                 // Changing Energy Weapon Slot from None to High Slot 
    78                 $EnergyWeaponGroup = item::get_group_id("Gatling Pulse Laser I"); 
    79                 update_slot_of_group($EnergyWeaponGroup,0,1); 
    80                  
    81                 // Changing Group of Salvager I to same as Small Tractor Beam I          
    82                 $item = new Item(); 
    83                 $item->lookup("Salvager I"); 
    84                 $SalvagerTypeId =  $item->getId(); 
    85                 $SalvagerGroup  =  item::get_group_id("Salvager I"); 
    86                 $TractorBeam    =  item::get_group_id("Small Tractor Beam I");   
    87                 move_item_to_group($SalvagerTypeId,$SalvagerGroup ,$TractorBeam); 
    88          
    89                 //writing Update Status into ConfigDB 
    90                 config::set("DBUpdate","001");   
    91         } 
    92 } 
    93  
    94 function update002(){ 
    95         // to correct the already existing Salvager in med slots.  
    96         // missed it in update001 
    97         if (CURRENT_DB_UPDATE < "002" ) 
    98         { 
    99                 require_once("common/includes/class.item.php"); 
    100                 $SalvagerGroup  =  item::get_group_id("Salvager I"); 
    101                 update_slot_of_group($SalvagerGroup,2,1); 
    102                 config::set("DBUpdate","002");   
    103         } 
    104 } 
    105  
    106 function update003(){ 
    107         // Warefare Links and Command Prozessor were midslot items in install file, should be high slot 
    108         if (CURRENT_DB_UPDATE < "003" ) 
    109         { 
    110                 require_once("common/includes/class.item.php"); 
    111                 $WarfareLinkGroup  =  item::get_group_id("Skirmish Warfare Link - Rapid Deployment"); 
    112                 update_slot_of_group($WarfareLinkGroup,2,1); 
    113                 config::set("DBUpdate","003");   
    114         } 
    115 } 
    116  
    117 function update004(){ 
    118         // new trinity ships are wrong saved as T1 shipes 
    119         if (CURRENT_DB_UPDATE < "004" ) 
    120         { 
    121                 $qry = new DBQuery(); 
    122                  
    123                 $query = "UPDATE kb3_ships  
    124                                         INNER JOIN kb3_ship_classes ON scl_id = shp_class 
    125                                         SET shp_techlevel = 2  
    126                                         WHERE scl_class IN ('Electronic Attack Ship','Heavy Interdictor','Black Ops','Marauder','Heavy Interdictor','Jump Freighter') 
    127                                         AND shp_techlevel = 1;"; 
    128                 $qry->execute($query);           
    129                 config::set("DBUpdate","004");   
    130         } 
    131 } 
    132  
    133 function update005(){ 
    134         // Blueprints and small fixes 
    135         if (CURRENT_DB_UPDATE < "005" ) 
    136         { 
    137                 $qry = new DBQuery(); 
    138 $query = <<<EOF 
    139 INSERT INTO `kb3_invtypes` (`typeID`, `groupID`, `typeName`, `description`, `icon`, `radius`, `mass`, `volume`, `capacity`, `portionSize`, `raceID`, `basePrice`, `marketGroupID`) VALUES (29249, 105, 'Magnate Blueprint', '', '0', 0, 0, 0.01, 0, 1, 0, 0, 0); 
    140  
    141 INSERT INTO `kb3_invtypes` (`typeID`, `groupID`, `typeName`, `description`, `icon`, `radius`, `mass`, `volume`, `capacity`, `portionSize`, `raceID`, `basePrice`, `marketGroupID`) VALUES (29267, 111, 'Apotheosis Blueprint', '', '0', 0, 0, 0.01, 0, 1, 0, 0, 0); 
    142  
    143 INSERT INTO `kb3_invtypes` (`typeID`, `groupID`, `typeName`, `description`, `icon`, `radius`, `mass`, `volume`, `capacity`, `portionSize`, `raceID`, `basePrice`, `marketGroupID`) VALUES (29338, 106, 'Omen Navy Issue Blueprint', '', '0', 0, 0, 0.01, 0, 1, 0, 0, 0); 
    144  
    145 INSERT INTO `kb3_invtypes` (`typeID`, `groupID`, `typeName`, `description`, `icon`, `radius`, `mass`, `volume`, `capacity`, `portionSize`, `raceID`, `basePrice`, `marketGroupID`) VALUES (29339, 106, 'Scythe Fleet Issue Blueprint', '', '0', 0, 0, 0.01, 0, 1, 0, 0, 0); 
    146  
    147 INSERT INTO `kb3_invtypes` (`typeID`, `groupID`, `typeName`, `description`, `icon`, `radius`, `mass`, `volume`, `capacity`, `portionSize`, `raceID`, `basePrice`, `marketGroupID`) VALUES (29341, 106, 'Osprey Navy Issue Blueprint', '', '0', 0, 0, 0.01, 0, 1, 0, 0, 0); 
    148  
    149 INSERT INTO `kb3_invtypes` (`typeID`, `groupID`, `typeName`, `description`, `icon`, `radius`, `mass`, `volume`, `capacity`, `portionSize`, `raceID`, `basePrice`, `marketGroupID`) VALUES (29345, 106, 'Exequror Navy Issue Blueprint', '', '0', 0, 0, 0.01, 0, 1, 0, 0, 0); 
    150  
    151 INSERT INTO `kb3_dgmtypeattributes` (`typeID`, `attributeID`, `value`) VALUES ('29249', '422', '1'); 
    152  
    153 UPDATE `kb3_dgmattributetypes` SET `icon` = '50_11' WHERE `attributeID`='180'; 
    154 UPDATE `kb3_dgmattributetypes` SET `icon` = '50_11' WHERE `attributeID`='181'; 
    155  
    156 UPDATE `kb3_dgmattributetypes` SET `icon` = '50_11' WHERE `attributeID`='182'; 
    157 UPDATE `kb3_dgmattributetypes` SET `icon` = '50_11' WHERE `attributeID`='183'; 
    158 UPDATE `kb3_dgmattributetypes` SET `icon` = '50_11' WHERE `attributeID`='184'; 
    159  
    160 UPDATE `kb3_dgmattributetypes` SET `icon` = '50_11' WHERE `attributeID`='228'; 
    161 UPDATE `kb3_dgmattributetypes` SET `icon` = '50_11' WHERE `attributeID`='229'; 
    162 UPDATE `kb3_dgmattributetypes` SET `icon` = '50_11' WHERE `attributeID`='230'; 
    163 UPDATE `kb3_dgmattributetypes` SET `icon` = '50_11' WHERE `attributeID`='231'; 
    164 UPDATE `kb3_dgmattributetypes` SET `icon` = '50_11' WHERE `attributeID`='232'; 
    165  
    166 UPDATE `kb3_dgmattributetypes` SET `icon` = '50_11' WHERE `attributeID`='277'; 
    167 UPDATE `kb3_dgmattributetypes` SET `icon` = '50_11' WHERE `attributeID`='278'; 
    168 UPDATE `kb3_dgmattributetypes` SET `icon` = '50_11' WHERE `attributeID`='279'; 
    169  
    170 UPDATE `kb3_dgmattributetypes` SET `icon` = '04_12' WHERE `attributeID`='193'; 
    171 UPDATE `kb3_dgmattributetypes` SET `icon` = '04_12' WHERE `attributeID`='235'; 
    172  
    173 UPDATE `kb3_dgmattributetypes` SET `icon` = '22_14' WHERE `attributeID`='108'; 
    174 UPDATE `kb3_dgmattributetypes` SET `icon` = '22_14' WHERE `attributeID`='197'; 
    175  
    176 UPDATE `kb3_dgmattributetypes` SET `icon` = '07_15' WHERE `attributeID`='137'; 
    177  
    178 UPDATE `kb3_dgmattributetypes` SET `icon` = '24_01' WHERE `attributeID`='77'; 
    179  
    180 UPDATE `kb3_dgmattributetypes` SET `icon` = '22_08' WHERE `attributeID`='153'; 
    181  
    182 UPDATE `kb3_dgmattributetypes` SET `icon` = '07_15' WHERE `attributeID`='484'; 
    183 EOF; 
    184  
    185         $qry->execute($query); 
    186         config::set("DBUpdate","005"); 
    187  
    188         } 
    189 } 
    190  
    191 function update007() 
    192 { 
    193         //Checking if this Update already done 
    194         if (CURRENT_DB_UPDATE < "007" ) 
    195         { 
    196                 if(!config::get('007updatestatus')) config::set('007updatestatus',0); 
    197                 $qry = new DBQuery(true); 
    198                 // Add columns for external ids. 
    199                 $qry->execute("SHOW COLUMNS FROM kb3_alliances LIKE 'all_external_id'"); 
    200                 $testresult = $qry->recordCount(); 
    201                 if(!$testresult) 
    202                 { 
    203                         $sql = "ALTER TABLE `kb3_alliances` ". 
    204                                 "ADD `all_external_id` INT( 11 ) UNSIGNED NULL ". 
    205                                 "DEFAULT NULL , ADD UNIQUE ( all_external_id )"; 
    206                         $qry->execute($sql); 
    207                 } 
    208  
    209                 $qry->execute("SHOW COLUMNS FROM kb3_corps LIKE 'crp_external_id'"); 
    210                 $testresult = $qry->recordCount(); 
    211                 if(!$testresult) 
    212                 { 
    213                         $sql = "ALTER TABLE `kb3_corps` ". 
    214                                 "ADD `crp_external_id` INT( 11 ) UNSIGNED NULL ". 
    215                                 "DEFAULT NULL , ADD UNIQUE ( crp_external_id )"; 
    216                         $qry->execute($sql); 
    217                 } 
    218  
    219 /* 
    220  * Needs more code changes first to change 
    221  * plt_externalid == 0 checks to plt_externalid IS NULL 
    222  *  
    223                 $sql = " ALTER TABLE `kb3_pilots` CHANGE `plt_externalid` `plt_externalid` INT( 11 ) UNSIGNED NULL DEFAULT NULL  "; 
    224                 $qry->execute($sql); 
    225  
    226                 // Remove bugged non-unique external ids. 
    227                 $sql = "UPDATE kb3_pilots old JOIN ". 
    228                         "(SELECT DISTINCT a.plt_id ". 
    229                         "FROM kb3_pilots a, kb3_pilots b ". 
    230                         "WHERE a.plt_externalid = b.plt_externalid ". 
    231                         "AND a.plt_id <> b.plt_id AND a.plt_externalid > 0) new ". 
    232                         "ON old.plt_id = new.plt_id SET old.plt_externalid = 0 "; 
    233                 $qry->execute($sql); 
    234  
    235                 $sql = "UPDATE kb3_pilots set plt_externalid = NULL WHERE plt_externalid = 0"; 
    236                 if( $qry->execute($sql)) 
    237                 { 
    238                         $qry->execute(" ALTER TABLE `kb3_pilots` ". 
    239                                 "DROP INDEX `plt_externalid` , ". 
    240                                 "ADD UNIQUE `plt_externalid` ( `plt_externalid` ) "); 
    241                 } 
    242 */ 
    243                 $qry->execute("SHOW COLUMNS FROM kb3_kills LIKE 'kll_external_id'"); 
    244                 if(!$qry->recordCount()) 
    245                 { 
    246                         $sql = "ALTER TABLE `kb3_kills` ". 
    247                                 "ADD `kll_external_id` INT( 11 ) UNSIGNED NULL ". 
    248                                 "DEFAULT NULL , ADD UNIQUE ( kll_external_id )"; 
    249                         $qry->execute($sql); 
    250                 } 
    251                 // Add isk loss column to kb3_kills 
    252                 if(config::get('007updatestatus') <8) 
    253                 { 
    254                         // Update price with items destroyed and ship value, excluding 
    255                         // blueprints since default cost is for BPO and BPC looks identical 
    256                         $sql = "CREATE TABLE IF NOT EXISTS `tmp_price_ship` ( 
    257                           `kll_id` int(11) NOT NULL DEFAULT '0', 
    258                           `value` float NOT NULL DEFAULT '0', 
    259                           PRIMARY KEY (`kll_id`) 
    260                         ) ENGINE=MyISAM"; 
    261                         $qry->execute($sql); 
    262                         $sql = "CREATE TABLE IF NOT EXISTS `tmp_price_destroyed` ( 
    263                           `kll_id` int(11) NOT NULL DEFAULT '0', 
    264                           `value` float NOT NULL DEFAULT '0', 
    265                           PRIMARY KEY (`kll_id`) 
    266                         ) ENGINE=MyISAM"; 
    267                         $qry->execute($sql); 
    268                         $sql = "CREATE TABLE IF NOT EXISTS `tmp_price_dropped` ( 
    269                           `kll_id` int(11) NOT NULL DEFAULT '0', 
    270                           `value` float NOT NULL DEFAULT '0', 
    271                           PRIMARY KEY (`kll_id`) 
    272                         ) ENGINE=MyISAM"; 
    273                         $qry->execute($sql); 
    274                         $qry->execute("LOCK TABLES tmp_price_ship WRITE, tmp_price_destroyed WRITE,  
    275                                 tmp_price_dropped WRITE, kb3_kills WRITE, kb3_ships WRITE, 
    276                                 kb3_ships_values WRITE, kb3_items_destroyed WRITE, kb3_items_dropped WRITE, 
    277                                 kb3_invtypes WRITE, kb3_item_price WRITE, kb3_config WRITE"); 
    278                         if(config::get('007updatestatus') <1) 
    279                         { 
    280                                 $qry->execute("INSERT IGNORE INTO tmp_price_ship select 
    281                                         kll_id,if(isnull(shp_value),shp_baseprice,shp_value) FROM kb3_kills  
    282                                         INNER JOIN kb3_ships ON kb3_ships.shp_id = kll_ship_id 
    283                                         LEFT JOIN kb3_ships_values ON kb3_ships_values.shp_id = kll_ship_id"); 
    284                                 $qry->execute($sql); 
    285                                 config::set('007updatestatus',1); 
    286                         } 
    287                         if(config::get('007updatestatus') <2) 
    288                         { 
    289                                 $sql = "INSERT IGNORE INTO tmp_price_destroyed 
    290                                         SELECT itd_kll_id, 
    291                                         sum(if(typeName LIKE '%Blueprint%',0,if(isnull(itd_quantity), 
    292                                         0,itd_quantity * if(price = 0 OR isnull(price),basePrice,price)))) 
    293                                         FROM kb3_items_destroyed 
    294                                         LEFT JOIN kb3_item_price ON kb3_item_price.typeID = itd_itm_id 
    295                                         LEFT JOIN kb3_invtypes ON itd_itm_id = kb3_invtypes.typeID 
    296                                         GROUP BY itd_kll_id"; 
    297                                 $qry->execute($sql); 
    298                                 config::set('007updatestatus',2); 
    299                         } 
    300                         if(config::get('007updatestatus') <5) 
    301                         { 
    302                                 if(config::get(kd_droptototal)) 
    303                                 { 
    304                                         $sql = "INSERT INTO tmp_price_dropped 
    305                                                 SELECT itd_kll_id, 
    306                                                 sum(if(typeName LIKE '%Blueprint%',0,if(isnull(itd_quantity), 
    307                                                 0,itd_quantity * if(price = 0 OR isnull(price),basePrice,price)))) 
    308                                                 FROM kb3_items_dropped 
    309                                                 LEFT JOIN kb3_item_price ON kb3_item_price.typeID = itd_itm_id 
    310                                                 LEFT JOIN kb3_invtypes ON itd_itm_id = kb3_invtypes.typeID 
    311                                                 GROUP BY itd_kll_id"; 
    312                                         $qry->execute($sql); 
    313                                 } 
    314                                 config::set('007updatestatus',5); 
    315                         } 
    316                         if(config::get('007updatestatus') <7) 
    317                         { 
    318                                 $qry->execute("SHOW COLUMNS FROM kb3_kills LIKE 'kll_isk_loss'"); 
    319                                 if(!$qry->recordCount()) $qry->execute("ALTER TABLE `kb3_kills` ADD `kll_isk_loss` FLOAT NOT NULL DEFAULT '0'"); 
    320                                 config::set('007updatestatus',7); 
    321                         } 
    322                         if(config::get('007updatestatus') <8) 
    323                         {$sql = 'UPDATE kb3_kills  
    324                                         natural join tmp_price_ship  
    325                                         natural left join tmp_price_destroyed '; 
    326                                 if(config::get(kd_droptototal)) $sql .= ' natural left join tmp_price_dropped '; 
    327                                 $sql .= 'SET kb3_kills.kll_isk_loss = tmp_price_ship.value + ifnull(tmp_price_destroyed.value,0) '; 
    328                                 if(config::get(kd_droptototal)) $sql .= ' + ifnull(tmp_price_dropped.value,0) '; 
    329                                 $qry->execute ($sql); 
    330                                 config::set('007updatestatus',8); 
    331                         } 
    332                         $qry->execute("UNLOCK TABLES"); 
    333                         $qry->execute('DROP TABLE tmp_price_ship'); 
    334                         $qry->execute('DROP TABLE tmp_price_destroyed'); 
    335                         $qry->execute('DROP TABLE tmp_price_dropped'); 
    336                 } 
    337                 $qry->execute("SHOW COLUMNS FROM kb3_kills LIKE 'kll_fb_crp_id'"); 
    338                 if($qry->recordCount()) $qry->execute("ALTER TABLE `kb3_kills` DROP `kll_fb_crp_id`"); 
    339                 $qry->execute("SHOW COLUMNS FROM kb3_kills LIKE 'kll_fb_all_id'"); 
    340                 if($qry->recordCount()) $qry->execute("ALTER TABLE `kb3_kills` DROP `kll_fb_all_id`"); 
    341                 // Drop unused columns 
    342                 $qry->execute("SHOW COLUMNS FROM kb3_corps LIKE 'crp_trial'"); 
    343                 if($qry->recordCount()) $qry->execute("ALTER TABLE kb3_corps DROP crp_trial"); 
    344                 $qry->execute("SHOW COLUMNS FROM kb3_pilots LIKE 'plt_killpoints'"); 
    345                 if($qry->recordCount()) $qry->execute("ALTER TABLE kb3_pilots DROP plt_killpoints"); 
    346                 $qry->execute("SHOW COLUMNS FROM kb3_pilots LIKE 'plt_losspoints'"); 
    347                 if($qry->recordCount()) $qry->execute("ALTER TABLE kb3_pilots DROP plt_losspoints"); 
    348  
    349                 // Add corp and alliance index to kb3_inv_detail 
    350                 $qry->execute("SHOW INDEX FROM kb3_inv_detail"); 
    351  
    352                 $indexcexists = false; 
    353                 $indexaexists = false; 
    354                 while($testresult = $qry->getRow()) 
    355                         if($testresult['Column_name'] == 'ind_crp_id') 
    356                                 $indexcexists = true; 
    357                         if($testresult['Column_name'] == 'ind_all_id') 
    358                                 $indexaexists = true; 
    359                 if(!indexcexists) 
    360                         $qry->execute("ALTER  TABLE `kb3_inv_detail` ADD INDEX ( `ind_crp_id` ) "); 
    361                 if(!indexaexists) 
    362                         $qry->execute("ALTER  TABLE `kb3_inv_detail` ADD INDEX ( `ind_all_id` ) "); 
    363                 // Add table for api cache 
    364                 $sql = "CREATE TABLE IF NOT EXISTS `kb3_apicache` ( 
    365                  `cfg_site` varchar(16) NOT NULL default '', 
    366                          `cfg_key` varchar(32) NOT NULL default '', 
    367                          `cfg_value` text NOT NULL, 
    368                          PRIMARY KEY  (`cfg_site`,`cfg_key`) 
    369                          )"; 
    370                 $qry->execute($sql); 
    371                 $qry->execute("CREATE TABLE IF NOT EXISTS `kb3_apilog` ( 
    372                         `log_site` VARCHAR( 20 ) NOT NULL , 
    373                         `log_keyname` VARCHAR( 20 ) NOT NULL , 
    374                         `log_posted` INT NOT NULL , 
    375                         `log_errors` INT NOT NULL , 
    376                         `log_ignored` INT NOT NULL , 
    377                         `log_verified` INT NOT NULL , 
    378                         `log_totalmails` INT NOT NULL , 
    379                         `log_source` VARCHAR( 20 ) NOT NULL , 
    380                         `log_type` VARCHAR( 20 ) NOT NULL , 
    381                         `log_timestamp` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' 
    382                         ) ENGINE = MYISAM "); 
    383  
    384                 // set API update complete 
    385                 config::set('API_DBUpdate', '1'); 
    386  
    387                 // Add subsystem slot 
    388                 $qry->execute("SELECT 1 FROM kb3_item_locations WHERE itl_id = 7"); 
    389                 if(!$qry->recordCount()) 
    390                 { 
    391                         $qry->execute("INSERT INTO `kb3_item_locations` (`itl_id`, `itl_location`) VALUES(7, 'Subsystem Slot')"); 
    392                         $qry->execute("UPDATE `kb3_item_types` SET `itt_slot` = '7' WHERE `kb3_item_types`.`itt_id` = 954 LIMIT 1"); 
    393                         $qry->execute("UPDATE `kb3_item_types` SET `itt_slot` = '7' WHERE `kb3_item_types`.`itt_id` = 955 LIMIT 1"); 
    394                         $qry->execute("UPDATE `kb3_item_types` SET `itt_slot` = '7' WHERE `kb3_item_types`.`itt_id` = 956 LIMIT 1"); 
    395                         $qry->execute("UPDATE `kb3_item_types` SET `itt_slot` = '7' WHERE `kb3_item_types`.`itt_id` = 957 LIMIT 1"); 
    396                         $qry->execute("UPDATE `kb3_item_types` SET `itt_slot` = '7' WHERE `kb3_item_types`.`itt_id` = 958 LIMIT 1"); 
    397                 } 
    398                 $qry->execute('SHOW TABLES'); 
    399                 $qry2 = new DBQuery(true); 
    400                 while($row = $qry->getRow()) 
    401                 { 
    402                         $tablename = implode($row); 
    403                         if($tablename == 'kb3_inv_all') $qry2->execute("TRUNCATE kb3_inv_all"); 
    404                         if($tablename == 'kb3_inv_crp') $qry2->execute("TRUNCATE kb3_inv_crp"); 
    405                         if($tablename == 'kb3_inv_plt') $qry2->execute("TRUNCATE kb3_inv_plt"); 
    406                 } 
    407                 killCache(); 
    408                 config::del('007updatestatus'); 
    409                 config::set("DBUpdate","007"); 
    410         } 
    411 } 
    412 // Add unique name indices to alliance, corp and pilot 
    413 // Check kb3_inv_detail has correct indices 
    414 function update008() 
    415 { 
    416         //Checking if this Update already done 
    417         if (CURRENT_DB_UPDATE < "008" ) 
    418         { 
    419                 if(!config::get('008updatestatus')) config::set('008updatestatus',0); 
    420                 $qry = new DBQuery(true); 
    421  
    422                 if(config::get('008updatestatus') <1) 
    423                 { 
    424                         // Add pilot, corp and alliance index to kb3_inv_detail 
    425                         // Incomplete in update007 
    426                         $qry->execute("SHOW INDEXES FROM kb3_inv_detail"); 
    427                         $indexcexists = false; 
    428                         $indexaexists = false; 
    429                         $indexpexists = false; 
    430                         $indexkexists = false; 
    431                         while($testresult = $qry->getRow()) 
    432                         { 
    433                                 if($testresult['Column_name'] == 'ind_kll_id' && $testresult['Seq_in_index'] == 1) 
    434                                         $indexkexists = true; 
    435                                 if($testresult['Column_name'] == 'ind_crp_id' && $testresult['Seq_in_index'] == 1) 
    436                                         $indexcexists = true; 
    437                                 if($testresult['Column_name'] == 'ind_all_id' && $testresult['Seq_in_index'] == 1) 
    438                                         $indexaexists = true; 
    439                                 if($testresult['Column_name'] == 'ind_plt_id' && $testresult['Seq_in_index'] == 1) 
    440                                         $indexpexists = true; 
    441                         } 
    442                         // 
    443                         if(!indexkexists) 
    444                                 $qry->execute("ALTER TABLE `kb3_inv_detail` ADD INDEX ( `ind_kll_id`, `ind_order` ) "); 
    445                         if(!indexcexists) 
    446                                 $qry->execute("ALTER TABLE `kb3_inv_detail` ADD INDEX ( `ind_crp_id` ) "); 
    447                         if(!indexaexists) 
    448                                 $qry->execute("ALTER TABLE `kb3_inv_detail` ADD INDEX ( `ind_all_id` ) "); 
    449                         if(!indexpexists) 
    450                                 $qry->execute("ALTER TABLE `kb3_inv_detail` ADD INDEX ( `ind_plt_id` ) "); 
    451                         config::set('008updatestatus', 1); 
    452                 } 
    453  
    454                 $qry->execute("SHOW INDEXES FROM kb3_corps"); 
    455                 $indexaexists = false; 
    456                 while($testresult = $qry->getRow()) 
    457                 { 
    458                         if($testresult['Column_name'] == 'crp_name' && $testresult['Non_unique'] == 0) 
    459                                 $indexcexists = true; 
    460                 } 
    461                 if(!$indexcexists) 
    462                 { 
    463                         $sqlcrp = 'select a.crp_id as newid, b.crp_id as oldid from kb3_corps a, kb3_corps b where a.crp_name = b.crp_name and a.crp_id < b.crp_id'; 
    464  
    465                         if(config::get('008updatestatus') <2) 
    466                         { 
    467                                 $qry->execute('update kb3_inv_detail join ('.$sqlcrp.') c on c.oldid = ind_crp_id set ind_crp_id = c.newid'); 
    468                                 config::set('008updatestatus', 2); 
    469                         } 
    470                         if(config::get('008updatestatus') <3) 
    471                         { 
    472                                 $qry->execute('update kb3_pilots join ('.$sqlcrp.') c on (c.oldid = plt_crp_id) set plt_crp_id = c.newid'); 
    473                                 config::set('008updatestatus', 3); 
    474                         } 
    475                         if(config::get('008updatestatus') <4) 
    476                         { 
    477                                 $qry->execute('update kb3_kills join ('.$sqlcrp.') c on (c.oldid = kll_crp_id) set kll_crp_id = c.newid'); 
    478                                 config::set('008updatestatus', 4); 
    479                         } 
    480  
    481                         if(config::get('008updatestatus') <6) 
    482                         { 
    483                                 $qry->execute('delete b from kb3_corps a, kb3_corps b where a.crp_name = b.crp_name and a.crp_id < b.crp_id'); 
    484                                 config::set('008updatestatus', 6); 
    485                         } 
    486                         if(config::get('008updatestatus') <7) 
    487                         { 
    488                                 $qry->execute("SHOW INDEXES FROM kb3_corps"); 
    489                                 $indexcexists = false; 
    490                                 while($testresult = $qry->getRow()) 
    491                                 { 
    492                                         if($testresult['Column_name'] == 'crp_name' && $testresult['Seq_in_index'] == 1) 
    493                                         { 
    494                                                 $indexcname = $testresult['Key_name']; 
    495                                                 $indexcexists = true; 
    496                                         } 
    497                                         // Don't replace a custom multi-column index. 
    498                                         elseif($testresult['Key_name'] == $indexcname && $testresult['Seq_in_index'] == 2) 
    499                                                 $indexcexists = false; 
    500                                 } 
    501                                 if($indexcexists) $qry->execute("ALTER TABLE `kb3_corps` DROP INDEX `".$indexcname."`"); 
    502                                 $qry->execute("ALTER TABLE `kb3_corps` ADD UNIQUE INDEX ( `crp_name` ) "); 
    503  
    504  
    505                                 config::set('008updatestatus', 7); 
    506                         } 
    507                 } 
    508                 // Make kb3_alliances.all_name unique without losing kills 
    509                 $qry->execute("SHOW INDEXES FROM kb3_alliances"); 
    510                 $indexaexists = false; 
    511                 while($testresult = $qry->getRow()) 
    512                 { 
    513                         if($testresult['Column_name'] == 'all_name' && $testresult['Non_unique'] == 0) 
    514                                 $indexaexists = true; 
    515                 } 
    516                 if(!$indexaexists) 
    517                 { 
    518                         $sqlall = 'select a.all_id as newid, b.all_id as oldid from kb3_alliances a, kb3_alliances b where a.all_name = b.all_name and a.all_id < b.all_id'; 
    519                         if(config::get('008updatestatus') <8) 
    520                         { 
    521                                 $qry->execute('update kb3_inv_detail join ('.$sqlall.') c on c.oldid = ind_all_id set ind_all_id = c.newid'); 
    522                                 config::set('008updatestatus', 8); 
    523                         } 
    524                         if(config::get('008updatestatus') <9) 
    525                         { 
    526                                 $qry->execute('update kb3_corps join ('.$sqlall.') c on (c.oldid = crp_all_id) set crp_all_id = c.newid'); 
    527                                 config::set('008updatestatus', 9); 
    528                         } 
    529                         if(config::get('008updatestatus') <10) 
    530                         { 
    531                                 $qry->execute('update kb3_kills join ('.$sqlall.') c on (c.oldid = kll_all_id) set kll_all_id = c.newid'); 
    532                                 config::set('008updatestatus', 10); 
    533                         } 
    534  
    535                         if(config::get('008updatestatus') <12) 
    536                         { 
    537                                 $qry->execute('delete b from kb3_alliances a, kb3_alliances b where a.all_name = b.all_name and a.all_id < b.all_id'); 
    538                                 config::set('008updatestatus', 12); 
    539                         } 
    540                         if(config::get('008updatestatus') <13) 
    541                         { 
    542                                 $qry->execute("SHOW INDEXES FROM kb3_alliances"); 
    543                                 $indexaexists = false; 
    544                                 while($testresult = $qry->getRow()) 
    545                                 { 
    546                                         if($testresult['Column_name'] == 'all_name' && $testresult['Seq_in_index'] == 1) 
    547                                         { 
    548                                                 $indexaname = $testresult['Key_name']; 
    549                                                 $indexaexists = true; 
    550                                         } 
    551                                         // Don't replace a custom multi-column index. 
    552                                         elseif($testresult['Key_name'] == $indexaname && $testresult['Seq_in_index'] == 2) 
    553                                                 $indexaexists = false; 
    554                                 } 
    555                                 if($indexaexists) $qry->execute("ALTER TABLE `kb3_alliances` DROP INDEX `".$indexaname."`"); 
    556                                 $qry->execute("ALTER TABLE `kb3_alliances` ADD UNIQUE INDEX ( `all_name` ) "); 
    557                                 config::set('008updatestatus', 13); 
    558                         } 
    559                 } 
    560  
    561                 // Make kb3_pilots.plt_name unique without losing kills 
    562                 $qry->execute("SHOW INDEXES FROM kb3_pilots"); 
    563                 $indexaexists = false; 
    564                 while($testresult = $qry->getRow()) 
    565                 { 
    566                         if($testresult['Column_name'] == 'plt_name' && $testresult['Non_unique'] == 0) 
    567                                 $indexaexists = true; 
    568                 } 
    569                 if(!$indexaexists) 
    570                 { 
    571                         $sqlplt = 'select a.plt_id as newid, b.plt_id as oldid from kb3_pilots a, kb3_pilots b where a.plt_name = b.plt_name and a.plt_id < b.plt_id'; 
    572                         if(config::get('008updatestatus') <14) 
    573                         { 
    574                                 $qry->execute('update kb3_inv_detail join ('.$sqlplt.') c on c.oldid = ind_plt_id set ind_plt_id = c.newid'); 
    575                                 config::set('008updatestatus', 14); 
    576                         } 
    577                         if(config::get('008updatestatus') <15) 
    578                         { 
    579                                 $qry->execute('update kb3_kills join ('.$sqlplt.') c on (c.oldid = kll_victim_id) set kll_victim_id = c.newid'); 
    580                                 config::set('008updatestatus', 15); 
    581                         } 
    582                         if(config::get('008updatestatus') <16) 
    583                         { 
    584                                 $qry->execute('update kb3_kills join ('.$sqlplt.') c on (c.oldid = kll_fb_plt_id) set kll_fb_plt_id = c.newid'); 
    585                                 config::set('008updatestatus', 16); 
    586                         } 
    587                         if(config::get('008updatestatus') <17) 
    588                         { 
    589                                 $qry->execute('delete b from kb3_pilots a, kb3_pilots b where a.plt_name = b.plt_name and a.plt_id < b.plt_id'); 
    590                                 config::set('008updatestatus', 17); 
    591                         } 
    592                         if(config::get('008updatestatus') <18) 
    593                         { 
    594                                 $qry->execute("SHOW INDEXES FROM kb3_pilots"); 
    595                                 $indexpexists = false; 
    596                                 while($testresult = $qry->getRow()) 
    597                                 { 
    598                                         if($testresult['Column_name'] == 'plt_name' && $testresult['Seq_in_index'] == 1) 
    599                                         { 
    600                                                 $indexpname = $testresult['Key_name']; 
    601                                                 $indexpexists = true; 
    602                                         } 
    603                                         // Don't replace a custom multi-column index. 
    604                                         elseif($testresult['Key_name'] == $indexpname && $testresult['Seq_in_index'] == 2) 
    605                                                 $indexpexists = false; 
    606                                 } 
    607                                 if($indexpexists)  $qry->execute("ALTER TABLE `kb3_pilots` DROP INDEX `".$indexpname."`"); 
    608                                 $qry->execute("ALTER TABLE `kb3_pilots` ADD UNIQUE INDEX ( `plt_name` ) "); 
    609                                 config::set('008updatestatus', 18); 
    610                         } 
    611                 } 
    612                 config::del("008updatestatus"); 
    613                 config::set('cache_update', '*'); 
    614                 config::set('cache_time', '10'); 
    615  
    616                 killCache(); 
    617                 config::set("DBUpdate", "008"); 
    618         } 
    619 } 
    620  
    621 // Add alliance and corp summary tables. 
    622 function update009() 
    623 { 
    624         //Checking if this Update already done 
    625         if (CURRENT_DB_UPDATE < "009" ) 
    626         { 
    627                 $qry = new DBQuery(); 
    628                 $sql = "CREATE TABLE IF NOT EXISTS `kb3_sum_alliance` ( 
    629                   `asm_all_id` int(11) NOT NULL DEFAULT '0', 
    630                   `asm_shp_id` int(3) NOT NULL DEFAULT '0', 
    631                   `asm_kill_count` int(11) NOT NULL DEFAULT '0', 
    632                   `asm_kill_isk` float NOT NULL DEFAULT '0', 
    633                   `asm_loss_count` int(11) NOT NULL DEFAULT '0', 
    634                   `asm_loss_isk` float NOT NULL DEFAULT '0', 
    635                   PRIMARY KEY (`asm_all_id`,`asm_shp_id`) 
    636                 ) ENGINE=InnoDB"; 
    637                 $qry->execute($sql); 
    638                 $sql = "CREATE TABLE IF NOT EXISTS `kb3_sum_corp` ( 
    639                   `csm_crp_id` int(11) NOT NULL DEFAULT '0', 
    640                   `csm_shp_id` int(3) NOT NULL DEFAULT '0', 
    641                   `csm_kill_count` int(11) NOT NULL DEFAULT '0', 
    642                   `csm_kill_isk` float NOT NULL DEFAULT '0', 
    643                   `csm_loss_count` int(11) NOT NULL DEFAULT '0', 
    644                   `csm_loss_isk` float NOT NULL DEFAULT '0', 
    645                   PRIMARY KEY (`csm_crp_id`,`csm_shp_id`) 
    646                 ) ENGINE=InnoDB"; 
    647                 $qry->execute($sql); 
    648                 config::set("DBUpdate", "009"); 
    649         } 
    650 } 
    651  
    652 // Add alliance and corp summary tables. 
    653 function update010() 
    654 { 
    655         //Checking if this Update already done 
    656         if (CURRENT_DB_UPDATE < "010" ) 
    657         { 
    658                 $qry = new DBQuery(); 
    659                 $sql = "CREATE TABLE IF NOT EXISTS `kb3_sum_pilot` ( 
    660                   `psm_plt_id` int(11) NOT NULL DEFAULT '0', 
    661                   `psm_shp_id` int(3) NOT NULL DEFAULT '0', 
    662                   `psm_kill_count` int(11) NOT NULL DEFAULT '0', 
    663                   `psm_kill_isk` float NOT NULL DEFAULT '0', 
    664                   `psm_loss_count` int(11) NOT NULL DEFAULT '0', 
    665                   `psm_loss_isk` float NOT NULL DEFAULT '0', 
    666                   PRIMARY KEY (`psm_plt_id`,`psm_shp_id`) 
    667                 ) ENGINE=InnoDB"; 
    668                 $qry->execute($sql); 
    669  
    670                 config::set("DBUpdate", "010"); 
    671         } 
    672 } 
    673  
    674 function update_slot_of_group($id,$oldSlot = 0 ,$newSlot){ 
    675         $qry  = new DBQuery(); 
    676         $query = "UPDATE kb3_item_types 
    677                                 SET itt_slot = $newSlot WHERE itt_id = $id and itt_slot = $oldSlot;"; 
    678         $qry->execute($query); 
    679         $query = "UPDATE kb3_items_destroyed 
    680                                 INNER JOIN kb3_invtypes ON groupID = $id AND itd_itm_id = typeID 
    681                                 SET itd_itl_id = $newSlot 
    682                                 WHERE itd_itl_id = $oldSlot;"; 
    683         $qry->execute($query); 
    684          
    685         $query = "UPDATE kb3_items_dropped 
    686                                 INNER JOIN kb3_invtypes ON groupID = $id AND itd_itm_id = typeID 
    687                                 SET itd_itl_id = $newSlot 
    688                                 WHERE itd_itl_id = $oldSlot;"; 
    689         $qry->execute($query); 
    690 } 
    691  
    692 function move_item_to_group($id,$oldGroup ,$newGroup){ 
    693         $qry  = new DBQuery(); 
    694         $query = "UPDATE kb3_invtypes 
    695                                 SET groupID = $newGroup  
    696                                 WHERE typeID = $id AND groupID = $oldGroup;"; 
    697         $qry->execute($query); 
    698 } 
    699  
    700 function killCache() 
    701 { 
    702         if(!is_dir(KB_CACHEDIR)) return; 
    703         $dir = opendir(KB_CACHEDIR); 
    704         while ($line = readdir($dir)) 
    705         { 
    706                 if (strstr($line, 'qcache_qry') !== false) 
    707                 { 
    708                         @unlink(KB_CACHEDIR.'/'.$line); 
    709                 } 
    710                 elseif (strstr($line, 'qcache_tbl') !== false) 
    711                 { 
    712                         @unlink(KB_CACHEDIR.'/'.$line); 
    713                 } 
    714         } 
    715 } 
    716 ?> 
  • dev/common/includes/class.db.php

    r404 r416  
    4848                if (DB_TYPE_USED === 'mysqli' ) 
    4949                { 
    50                         if (DB_USE_MEMCACHE === true && !$forceNormal) 
     50                        if (defined('DB_USE_MEMCACHE') && DB_USE_MEMCACHE === true && !$forceNormal) 
    5151                        { 
    5252                                $object = new DBMemCachedQuery_mysqli(); 
    5353                        } 
    54                         elseif (DB_USE_QCACHE === true && !$forceNormal) 
     54                        elseif (defined('DB_USE_QCACHE') && DB_USE_QCACHE === true && !$forceNormal) 
    5555                        { 
    5656                                $object = new DBCachedQuery_mysqli(); 
     
    6161                        } 
    6262                } 
    63                 elseif (DB_USE_MEMCACHE === true && !$forceNormal) 
     63                elseif (defined('DB_USE_MEMCACHE') && DB_USE_MEMCACHE === true && !$forceNormal) 
    6464                { 
    6565                        $object = new DBMemCachedQuery(); 
    6666                } 
    67                 elseif (DB_USE_QCACHE === true && !$forceNormal) 
     67                elseif (defined('DB_USE_QCACHE') && DB_USE_QCACHE === true && !$forceNormal) 
    6868                { 
    6969                        $object = new DBCachedQuery(); 
     
    110110                if (DB_TYPE_USED === 'mysqli' ) 
    111111                { 
    112                         if (DB_USE_MEMCACHE === true && !$forceNormal) 
     112                        if (defined('DB_USE_MEMCACHE') && DB_USE_MEMCACHE === true && !$forceNormal) 
    113113                        { 
    114114                                $object = new DBMemCachedQuery_mysqli(); 
    115115                        } 
    116                         elseif (DB_USE_QCACHE === true && !$forceNormal) 
     116                        elseif (defined('DB_USE_QCACHE') && DB_USE_QCACHE === true && !$forceNormal) 
    117117                        { 
    118118                                $object = new DBCachedQuery_mysqli(); 
     
    123123                        } 
    124124                } 
    125                 elseif (DB_USE_MEMCACHE === true && !$forceNormal) 
     125                elseif (defined('DB_USE_MEMCACHE') && DB_USE_MEMCACHE === true && !$forceNormal) 
    126126                { 
    127127                        $object = new DBMemCachedQuery(); 
    128128                } 
    129                 elseif (DB_USE_QCACHE === true && !$forceNormal) 
     129                elseif (defined('DB_USE_QCACHE') && DB_USE_QCACHE === true && !$forceNormal) 
    130130                { 
    131131                        $object = new DBCachedQuery(); 
  • dev/common/includes/class.session.php

    r354 r416  
    1717    function isAdmin() 
    1818    { 
    19         return (bool)($_SESSION['admin'] && $_SESSION['rsite'] == $_SERVER["HTTP_HOST"] && md5(KB_SITE) == $_SESSION['site']); 
     19        return (bool)(isset($_SESSION['admin']) && $_SESSION['rsite'] == $_SERVER["HTTP_HOST"] && md5(KB_SITE) == $_SESSION['site']); 
    2020    } 
    2121 
    2222    function isSuperAdmin() 
    2323    { 
    24         return (bool)($_SESSION['admin_super']&& $_SESSION['rsite'] == $_SERVER["HTTP_HOST"] && md5(KB_SITE) == $_SESSION['site']); 
     24        return (bool)(isset($_SESSION['admin_super']) && $_SESSION['rsite'] == $_SERVER["HTTP_HOST"] && md5(KB_SITE) == $_SESSION['site']); 
    2525    } 
    2626 
     
    2929        session_start(); 
    3030        $_SESSION['admin'] = $admin; 
    31         $_SESSION['rsite'] = $_SERVER["HTTP_HOST"]; 
    32         $_SESSION['site'] = md5(KB_SITE); 
     31                $_SESSION['rsite'] = $_SERVER["HTTP_HOST"]; 
     32                $_SESSION['site'] = md5(KB_SITE); 
    3333    } 
    3434 
  • dev/common/includes/db.php

    r401 r416  
    77if(!defined('DB_TYPE')) define('DB_TYPE', 'mysql'); 
    88if(DB_TYPE == 'mysqli' and function_exists('mysqli_connect')) define('DB_TYPE_USED', 'mysqli'); 
     9else define('DB_TYPE_USED', 'mysql'); 
    910if(DB_TYPE_USED == 'mysqli') require_once('common/includes/class.db.mysqli.php'); 
    1011 
     
    2324} 
    2425 
    25 if(!$config) $config = new Config(KB_SITE); 
    26 define('DB_HALTONERROR', (bool)config::get('cfg_sqlhalt')); 
     26if(!isset($config)) $config = new Config(KB_SITE); 
     27// DB_HALTONERROR may have been defined externally for sensitive operations. 
     28if(!defined('DB_HALTONERROR')) define('DB_HALTONERROR', (bool)config::get('cfg_sqlhalt')); 
    2729define('DB_USE_QCACHE', (bool)config::get('cfg_qcache')); 
    2830 
  • dev/common/includes/globals.php

    r415 r416  
    1010} 
    1111define('SVN_REV', $svn_rev); 
     12 
     13define('LASTEST_DB_UPDATE',"010"); 
    1214 
    1315// current version: major.minor.sub 
  • dev/common/index.php

    r414 r416  
    145145else define('KB_CACHE', 0); 
    146146 
    147 // Hardcode the DBUpdate 
    148 define(LASTEST_DB_UPDATE,"010"); 
    149  
    150147if(config::get('DBUpdate') < LASTEST_DB_UPDATE) $page = 'admin'; 
    151148 
  • dev/upgrade.php

    r415 r416  
    1515$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']; 
    1616if($_SERVER['QUERY_STRING'] != "") $url .= '?'.$_SERVER['QUERY_STRING']; 
    17 // Move to an include for neatness? 
    18 $header = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    19 <html> 
    20 <head> 
    21 <meta http-equiv="refresh" content="5;url='.$url.'" > 
    22 <meta http-equiv="content-type" content="text/html; charset=UTF8"> 
     17 
     18// Define style. 
     19$style = '<style type="text/css"> 
     20body{margin: 0px;  color: #fff9ff;  padding: 0px;  height: 100%;  background-color: #0D2323;} 
     21font,th,td,p,a,div{  font-family: Verdana, Bitstream Vera Sans, Arial, Helvetica;} 
     22a{  color: #ffffff;  text-decoration: underline;} 
     23#content{  margin-top: 10px;  padding: 10px;  background: #3B5353;  font-size: 11px;} 
     24#page-title{  margin: 5px;  padding-top: 3px;  height: 25px;  color: #ffffff;  border-bottom: 1px solid #ffffff;  font-size: 16px;  font-weight: bold;} 
     25</style> 
     26'; 
     27 
     28$header1 = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
     29<html><head>'; 
     30$header2 = '<meta http-equiv="content-type" content="text/html; charset=UTF8"> 
    2331<title>EVE Development Network Killboard Upgrade Script</title> 
    24 <link rel="stylesheet" type="text/css" href="install/common.css"> 
    25 <link rel="stylesheet" type="text/css" href="install/style.css"> 
     32'.$style.' 
    2633</head> 
    27 <body bgcolor="#222222"  style="height: 100%"> 
    28 <table class="main-table" height="100%" align="center" bgcolor="#111111" border="0" cellspacing="1" style="height: 100%"> 
     34<body> 
     35<table align="center" bgcolor="#111111" border="0" cellspacing="1" style="height: 100%"> 
    2936<tr style="height: 100%"> 
    30 <td valign="top" height="100%" style="height: 100%"> 
    31 <div id="header"> 
    32 <img src="install/quantum_rise.jpg" border="0"> 
    33 </div> 
     37<td valign="top" style="height: 100%"> 
     38<img src="banner/revelations_gray.jpg" border="0"> 
    3439<div id="page-title">Upgrade</div> 
    3540<table cellpadding="0" cellspacing="0" width="100%" border="0"> 
    3641<tr><td valign="top"><div id="content">'; 
    3742 
    38  
    39 $footer = '</div></td> 
    40 </tr></table> 
     43$header = $header1.'<meta http-equiv="refresh" content="5;url='.$url.'" >'.$header2; 
     44 
     45$footer = '</div></td></tr></table> 
    4146<div class="counter"><font style="font-size: 9px;">&copy;2006-2009 <a href="http://www.eve-dev.net/" target="_blank">EVE Development Network</a></font></div> 
    42 </td></tr></table> 
    43 </body> 
    44 </html>'; 
     47</td></tr></table></body></html>'; 
    4548 
    4649if (!session::isAdmin()) 
    4750{ 
    48     if (crypt($_POST['usrpass'],ADMIN_PASSWORD) == ADMIN_PASSWORD || $_POST['usrpass'] == ADMIN_PASSWORD) 
     51    if (isset($_POST['usrpass']) && (crypt($_POST['usrpass'],ADMIN_PASSWORD) == ADMIN_PASSWORD || $_POST['usrpass'] == ADMIN_PASSWORD)) 
    4952    { 
    5053        session::create(true); 
     
    5457    } 
    5558        else 
    56         { ?> 
    57 <html><head><title>Upgrade admin login</title></head><body> 
     59        {  
     60                echo $header1.$header2; ?> 
     61You must log in as admin to complete an upgrade. 
    5862<form method="post" action="<?php echo $url; ?>"> 
    59 <table class="kb-subtable"> 
     63<table> 
    6064<tr> 
    6165  <td width="160"><b>Admin Password:</b></td> 
     
    6670  <td><input type="submit" name="submit" value="Login"></td> 
    6771</tr> 
    68 </table></form></body> 
    69  
     72</table></form> 
    7073<?php 
     74        echo $footer; 
    7175        die; 
    7276        } 
    7377} 
    7478$qry=new DBQuery(true); 
    75 define(CURRENT_DB_UPDATE,config::get("DBUpdate")); 
    76 //Update version of this autoupgrade.php 
    77 // Moved to index.php 
    78 define(LASTEST_DB_UPDATE,"010"); 
     79define('CURRENT_DB_UPDATE', config::get("DBUpdate")); 
     80define('LASTEST_DB_UPDATE', "010"); 
    7981if (CURRENT_DB_UPDATE >= LASTEST_DB_UPDATE ) 
    8082{ 
    81         echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    82 <html> 
    83 <head> 
    84 <meta http-equiv="content-type" content="text/html; charset=UTF8"> 
    85 <title>EVE Development Network Killboard Upgrade Script</title> 
    86 <link rel="stylesheet" type="text/css" href="install/common.css"> 
    87 <link rel="stylesheet" type="text/css" href="install/style.css"> 
    88 </head> 
    89 <body bgcolor="#222222"  style="height: 100%"> 
    90 <table class="main-table" height="100%" align="center" bgcolor="#111111" border="0" cellspacing="1" style="height: 100%"> 
    91 <tr style="height: 100%"> 
    92 <td valign="top" height="100%" style="height: 100%"> 
    93 <div id="header"> 
    94 <img src="install/quantum_rise.jpg" border="0"> 
    95 </div> 
    96 <div id="page-title">Upgrade</div> 
    97 <table cellpadding="0" cellspacing="0" width="100%" border="0"> 
    98 <tr><td valign="top"><div id="content">'; 
     83        echo $header1.$header2; 
    9984        echo"Board is up to date.<br><a href='".config::get('cfg_kbhost')."'>Return to your board</a>"; 
    10085        echo $footer; 
     
    10287} 
    10388updateDB(); 
    104 touch ('install/install.lock'); 
    105         echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    106 <html> 
    107 <head> 
    108 <meta http-equiv="content-type" content="text/html; charset=UTF8"> 
    109 <title>EVE Development Network Killboard Upgrade Script</title> 
    110 <link rel="stylesheet" type="text/css" href="install/common.css"> 
    111 <link rel="stylesheet" type="text/css" href="install/style.css"> 
    112 </head> 
    113 <body bgcolor="#222222"  style="height: 100%"> 
    114 <table class="main-table" height="100%" align="center" bgcolor="#111111" border="0" cellspacing="1" style="height: 100%"> 
    115 <tr style="height: 100%"> 
    116 <td valign="top" height="100%" style="height: 100%"> 
    117 <div id="header"> 
    118 <img src="install/quantum_rise.jpg" border="0"> 
    119 </div> 
    120 <div id="page-title">Upgrade</div> 
    121 <table cellpadding="0" cellspacing="0" width="100%" border="0"> 
    122 <tr><td valign="top"><div id="content">'; 
     89@touch ('install/install.lock'); 
     90        echo $header1.$header2; 
    12391echo "Upgrade complete.<br><a href='".config::get('cfg_kbhost')."'>Return to your board</a>"; 
    12492echo $footer; 
     
    298266        { 
    299267                $qry = new DBQuery(true); 
    300                 if(!config::get('007updatestatus')) 
    301                 { 
     268                if(is_null(config::get('007updatestatus'))) 
    302269                        config::set('007updatestatus',0); 
     270                if(config::get('007updatestatus') <1) 
     271                { 
    303272                        // Add columns for external ids. 
    304273                        $qry->execute("SHOW COLUMNS FROM kb3_alliances LIKE 'all_external_id'"); 
     
    339308                        // Update price with items destroyed and ship value, excluding 
    340309                        // blueprints since default cost is for BPO and BPC looks identical 
    341                         $sql = "CREATE TABLE IF NOT EXISTS `tmp_price_ship` ( 
    342                           `kll_id` int(11) NOT NULL DEFAULT '0', 
    343                           `value` float NOT NULL DEFAULT '0', 
    344                           PRIMARY KEY (`kll_id`) 
    345                         ) ENGINE=MyISAM"; 
    346                         $qry->execute($sql); 
    347                         $sql = "CREATE TABLE IF NOT EXISTS `tmp_price_destroyed` ( 
    348                           `kll_id` int(11) NOT NULL DEFAULT '0', 
    349                           `value` float NOT NULL DEFAULT '0', 
    350                           PRIMARY KEY (`kll_id`) 
    351                         ) ENGINE=MyISAM"; 
    352                         $qry->execute($sql); 
    353                         $sql = "CREATE TABLE IF NOT EXISTS `tmp_price_dropped` ( 
    354                           `kll_id` int(11) NOT NULL DEFAULT '0', 
    355                           `value` float NOT NULL DEFAULT '0', 
    356                           PRIMARY KEY (`kll_id`) 
    357                         ) ENGINE=MyISAM"; 
    358                         $qry->execute($sql); 
     310                        if(config::get('007updatestatus') <2) 
     311                        { 
     312                                $sql = "CREATE TABLE IF NOT EXISTS `tmp_price_ship` ( 
     313                                  `kll_id` int(11) NOT NULL DEFAULT '0', 
     314                                  `value` float NOT NULL DEFAULT '0', 
     315                                  PRIMARY KEY (`kll_id`) 
     316                                ) ENGINE=MyISAM"; 
     317                                $qry->execute($sql); 
     318                                $sql = "CREATE TABLE IF NOT EXISTS `tmp_price_destroyed` ( 
     319                                  `kll_id` int(11) NOT NULL DEFAULT '0', 
     320                                  `value` float NOT NULL DEFAULT '0', 
     321                                  PRIMARY KEY (`kll_id`) 
     322                                ) ENGINE=MyISAM"; 
     323                                $qry->execute($sql); 
     324                                $sql = "CREATE TABLE IF NOT EXISTS `tmp_price_dropped` ( 
     325                                  `kll_id` int(11) NOT NULL DEFAULT '0', 
     326                                  `value` float NOT NULL DEFAULT '0', 
     327                                  PRIMARY KEY (`kll_id`) 
     328                                ) ENGINE=MyISAM"; 
     329                                $qry->execute($sql); 
     330                                config::set('007updatestatus',2); 
     331                        } 
    359332                        $qry->execute("LOCK TABLES tmp_price_ship WRITE, tmp_price_destroyed WRITE, 
    360333                                tmp_price_dropped WRITE, kb3_kills WRITE, kb3_ships WRITE, 
     
    393366                        if(config::get('007updatestatus') <5) 
    394367                        { 
    395                                 if(config::get(kd_droptototal)) 
     368                                if(config::get('kd_droptototal')) 
    396369                                { 
    397370                                        $action = "calculated"; 
     
    451424                                                natural join tmp_price_ship 
    452425                                                left join tmp_price_destroyed on kb3_kills.kll_id = tmp_price_destroyed.kll_id '; 
    453                                         if(config::get(kd_droptototal)) $sql .= ' left join tmp_price_dropped on kb3_kills.kll_id = tmp_price_dropped.kll_id '; 
     426                                        if(config::get('kd_droptototal')) $sql .= ' left join tmp_price_dropped on kb3_kills.kll_id = tmp_price_dropped.kll_id '; 
    454427                                        $sql .= 'SET kb3_kills.kll_isk_loss = tmp_price_ship.value + ifnull(tmp_price_destroyed.value,0) '; 
    455                                         if(config::get(kd_droptototal)) $sql .= ' + ifnull(tmp_price_dropped.value,0) '; 
     428                                        if(config::get('kd_droptototal')) $sql .= ' + ifnull(tmp_price_dropped.value,0) '; 
    456429                                        $sql .= ' WHERE kb3_kills.kll_id >= '.config::get('007.8status').' AND kb3_kills.kll_id < '. 
    457430                                                (intval(config::get('007.8status')) + intval(config::get('007.8step'))); 
     
    520493                if(config::get('007updatestatus') <12) 
    521494                { 
    522                         if(!indexcexists) 
     495                        if(!$indexcexists) 
    523496                                $qry->execute("ALTER  TABLE `kb3_inv_detail` ADD INDEX ( `ind_crp_id` ) "); 
    524497                        config::set('007updatestatus',12); 
     
    530503                if(config::get('007updatestatus') <13) 
    531504                { 
    532                         if(!indexaexists) 
     505                        if(!$indexaexists) 
    533506                                $qry->execute("ALTER  TABLE `kb3_inv_detail` ADD INDEX ( `ind_all_id` ) "); 
    534507                        config::set('007updatestatus',13); 
     
    620593        { 
    621594 
    622                 if(!config::get('008updatestatus')) config::set('008updatestatus',0); 
     595                if(is_null(config::get('008updatestatus'))) config::set('008updatestatus',0); 
    623596                $qry = new DBQuery(true); 
    624597 
     
    643616                                        $indexpexists = true; 
    644617                        } 
    645                         // 
    646                         if(!indexkexists) 
     618                         
     619                        if(!$indexkexists) 
    647620                        { 
    648621                                $qry->execute("ALTER TABLE `kb3_inv_detail` ADD INDEX ( `ind_kll_id`, `ind_order` ) "); 
     
    652625                                die(); 
    653626                        } 
    654                         if(!indexcexists) 
     627                        if(!$indexcexists) 
    655628                        { 
    656629                                $qry->execute("ALTER TABLE `kb3_inv_detail` ADD INDEX ( `ind_crp_id` ) "); 
     
    660633                                die(); 
    661634                        } 
    662                         if(!indexaexists) 
     635                        if(!$indexaexists) 
    663636                        { 
    664637                                $qry->execute("ALTER TABLE `kb3_inv_detail` ADD INDEX ( `ind_all_id` ) "); 
     
    668641                                die(); 
    669642                        } 
    670                         if(!indexpexists) 
     643                        if(!$indexpexists) 
    671644                        { 
    672645                                $qry->execute("ALTER TABLE `kb3_inv_detail` ADD INDEX ( `ind_plt_id` ) ");