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

Revision 317, 4.4 KB (checked in by ralle030583, 14 years ago)

- ADD (TEST) api class for testing, getCharId from eve, atm commented out
- fixes for Tickets #74,#75,#77
- DBUpdate004: trinity ships had wrong tech level
- mailer should now send the killmail per email instead of msg that is classified
- and fixed the version in readme cause of the confusion ;-)

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,"004");
15
16function updateDB(){
17        // if update nesseary run updates
18        if (CURRENT_DB_UPDATE < LASTEST_DB_UPDATE ){
19                update001();
20                update002();
21                update003();
22        }
23}
24
25function update001(){
26        //Checking if this Update already done
27        if (CURRENT_DB_UPDATE < "001" )
28        {
29                require_once("common/includes/class.item.php");
30                // Changing ShieldBooster Slot from None to Mid Slot
31                $ShieldBoosterGroup = item::get_group_id("Small Shield Booster I");
32                update_slot_of_group($ShieldBoosterGroup,0,2);
33               
34                // Changing Tracking Scripts Slot from None to Mid Slot
35                $ScriptGroupID1 = item::get_group_id("Optimal Range");
36                update_slot_of_group($ScriptGroupID1,0,2);
37
38                // Changing Warp Disruption Scripts Slot from None to Mid Slot
39                $ScriptGroupID2 = item::get_group_id("Focused Warp Disruption");
40                update_slot_of_group($ScriptGroupID2,0,2);
41               
42                // Changing Tracking Disruption Scripts Slot from None to Mid Slot
43                $ScriptGroupID3 = item::get_group_id("Optimal Range Disruption");
44                update_slot_of_group($ScriptGroupID3,0,2);
45               
46                // Changing Sensor Booster Scripts Slot from None to Mid Slot
47                $ScriptGroupID4 = item::get_group_id("Targeting Range");
48                update_slot_of_group($ScriptGroupID4,0,2);
49               
50                // Changing Sensor Dampener Scripts Slot from None to Mid Slot
51                $ScriptGroupID5 = item::get_group_id("Scan Resolution Dampening");
52                update_slot_of_group($ScriptGroupID5,0,2);
53               
54                // Changing Energy Weapon Slot from None to High Slot
55                $EnergyWeaponGroup = item::get_group_id("Gatling Pulse Laser I");
56                update_slot_of_group($EnergyWeaponGroup,0,1);
57               
58                // Changing Group of Salvager I to same as Small Tractor Beam I         
59                $item = new Item();
60                $item->lookup("Salvager I");
61                $SalvagerTypeId =  $item->getId();
62                $SalvagerGroup  =  item::get_group_id("Salvager I");
63                $TractorBeam    =  item::get_group_id("Small Tractor Beam I"); 
64                move_item_to_group($SalvagerTypeId,$SalvagerGroup ,$TractorBeam);
65       
66                //writing Update Status into ConfigDB
67                config::set("DBUpdate","001"); 
68        }
69}
70
71function update002(){
72        // to correct the already existing Salvager in med slots.
73        // missed it in update001
74        if (CURRENT_DB_UPDATE < "002" )
75        {
76                require_once("common/includes/class.item.php");
77                $SalvagerGroup  =  item::get_group_id("Salvager I");
78                update_slot_of_group($SalvagerGroup,2,1);
79                config::set("DBUpdate","002"); 
80        }
81}
82
83function update003(){
84        // Warefare Links and Command Prozessor were midslot items in install file, should be high slot
85        if (CURRENT_DB_UPDATE < "003" )
86        {
87                require_once("common/includes/class.item.php");
88                $WarfareLinkGroup  =  item::get_group_id("Skirmish Warfare Link - Rapid Deployment");
89                update_slot_of_group($WarfareLinkGroup,2,1);
90                config::set("DBUpdate","003"); 
91        }
92}
93
94function update004(){
95        // new trinity ships are wrong saved as T1 shipes
96        if (CURRENT_DB_UPDATE < "004" )
97        {
98                $qry = new DBQuery();
99               
100                $query = "UPDATE kb3_ships
101                                        INNER JOIN kb3_ship_classes ON scl_id = shp_class
102                                        SET shp_techlevel = 2
103                                        WHERE scl_class IN ('Electronic Attack Ship','Heavy Interdictor','Black Ops','Marauder','Heavy Interdictor','Jump Freighter')
104                                        AND shp_techlevel = 1;";
105                $qry->execute($query);         
106                config::set("DBUpdate","004"); 
107        }
108}
109
110function update_slot_of_group($id,$oldSlot = 0 ,$newSlot){
111        $qry  = new DBQuery();
112        $query = "UPDATE kb3_item_types
113                                SET itt_slot = $newSlot WHERE itt_id = $id and itt_slot = $oldSlot;";
114        $qry->execute($query);
115        $query = "UPDATE kb3_items_destroyed
116                                INNER JOIN kb3_invtypes ON groupID = $id AND itd_itm_id = typeID
117                                SET itd_itl_id = $newSlot
118                                WHERE itd_itl_id = $oldSlot;";
119        $qry->execute($query);
120       
121        $query = "UPDATE kb3_items_dropped
122                                INNER JOIN kb3_invtypes ON groupID = $id AND itd_itm_id = typeID
123                                SET itd_itl_id = $newSlot
124                                WHERE itd_itl_id = $oldSlot;";
125        $qry->execute($query);
126}
127
128function move_item_to_group($id,$oldGroup ,$newGroup){
129        $qry  = new DBQuery();
130        $query = "UPDATE kb3_invtypes
131                                SET groupID = $newGroup 
132                                WHERE typeID = $id AND groupID = $oldGroup;";
133        $qry->execute($query);
134}
135
136?>
Note: See TracBrowser for help on using the browser.