root/dev/common/includes/autoupgrade.php @ 310

Revision 310, 3.5 KB (checked in by ralle030583, 14 years ago)
Line 
1<?php
2// for easier patching
3
4// Note: DO UPDATES ALWAYS OVER THE ITEM NAMES, SO NO KB's
5//       DATABASES GET SCREWED UP.
6//
7//
8if (!config::get("DBUpdate"))
9        config::set("DBUpdate","000");
10       
11// Current update version of Database
12define(CURRENT_DB_UPDATE,config::get("DBUpdate"));
13//Update version of this autoupgrade.php
14define(LASTEST_DB_UPDATE,"002");
15
16function updateDB(){
17        // if update nesseary run updates
18        if (CURRENT_DB_UPDATE < LASTEST_DB_UPDATE ){
19                update001();
20                update002();
21        }
22}
23
24function update001(){
25        //Checking if this Update already done
26        if (CURRENT_DB_UPDATE < "001" )
27        {
28                require_once("common/includes/class.item.php");
29                // Changing ShieldBooster Slot from None to Mid Slot
30                $ShieldBoosterGroup = item::get_group_id("Small Shield Booster I");
31                update_slot_of_group($ShieldBoosterGroup,0,2);
32               
33                // Changing Tracking Scripts Slot from None to Mid Slot
34                $ScriptGroupID1 = item::get_group_id("Optimal Range");
35                update_slot_of_group($ScriptGroupID1,0,2);
36
37                // Changing Warp Disruption Scripts Slot from None to Mid Slot
38                $ScriptGroupID2 = item::get_group_id("Focused Warp Disruption");
39                update_slot_of_group($ScriptGroupID2,0,2);
40               
41                // Changing Tracking Disruption Scripts Slot from None to Mid Slot
42                $ScriptGroupID3 = item::get_group_id("Optimal Range Disruption");
43                update_slot_of_group($ScriptGroupID3,0,2);
44               
45                // Changing Sensor Booster Scripts Slot from None to Mid Slot
46                $ScriptGroupID4 = item::get_group_id("Targeting Range");
47                update_slot_of_group($ScriptGroupID4,0,2);
48               
49                // Changing Sensor Dampener Scripts Slot from None to Mid Slot
50                $ScriptGroupID5 = item::get_group_id("Scan Resolution Dampening");
51                update_slot_of_group($ScriptGroupID5,0,2);
52               
53                // Changing Energy Weapon Slot from None to High Slot
54                $EnergyWeaponGroup = item::get_group_id("Gatling Pulse Laser I");
55                update_slot_of_group($EnergyWeaponGroup,0,1);
56               
57                // Changing Group of Salvager I to same as Small Tractor Beam I         
58                $item = new Item();
59                $item->lookup("Salvager I");
60                $SalvagerTypeId =  $item->getId();
61                $SalvagerGroup  =  item::get_group_id("Salvager I");
62                $TractorBeam    =  item::get_group_id("Small Tractor Beam I"); 
63                move_item_to_group($SalvagerTypeId,$SalvagerGroup ,$TractorBeam);
64       
65                //writing Update Status into ConfigDB
66                config::set("DBUpdate","001"); 
67        }
68}
69
70function update002(){
71        // to correct the already existing Salvager in med slots.
72        // missed it in update001
73        if (CURRENT_DB_UPDATE < "002" )
74        {
75                require_once("common/includes/class.item.php");
76                $SalvagerGroup  =  item::get_group_id("Salvager I");
77                update_slot_of_group($SalvagerGroup,2,1);
78        }
79}
80
81function update_slot_of_group($id,$oldSlot = 0 ,$newSlot){
82        $qry  = new DBQuery();
83        $query = "UPDATE kb3_item_types
84                                SET itt_slot = $newSlot WHERE itt_id = $id and itt_slot = $oldSlot;";
85        $qry->execute($query);
86        $query = "UPDATE kb3_items_destroyed
87                                INNER JOIN kb3_invtypes ON groupID = $id AND itd_itm_id = typeID
88                                SET itd_itl_id = $newSlot
89                                WHERE itd_itl_id = $oldSlot;";
90        $qry->execute($query);
91       
92        $query = "UPDATE kb3_items_dropped
93                                INNER JOIN kb3_invtypes ON groupID = $id AND itd_itm_id = typeID
94                                SET itd_itl_id = $newSlot
95                                WHERE itd_itl_id = $oldSlot;";
96        $qry->execute($query);
97}
98
99function move_item_to_group($id,$oldGroup ,$newGroup){
100        $qry  = new DBQuery();
101        $query = "UPDATE kb3_invtypes
102                                SET groupID = $newGroup 
103                                WHERE typeID = $id AND groupID = $oldGroup;";
104        $qry->execute($query);
105}
106
107?>
Note: See TracBrowser for help on using the browser.