root/dev/common/includes/class.item.php @ 357

Revision 357, 7.4 KB (checked in by ralle, 14 years ago)

-fix of swf banner parth <br/>-upd of history mod and fix of trac linking -del of old DB_USE_CCP stuff -CHG of inserts to name adressed ones

Line 
1<?php
2define('DGM_TECHLEVEL', 422);
3
4class Item
5{
6    function Item($id = 0)
7    {
8        $this->id_ = $id;
9    }
10
11    function getID()
12    {
13        return $this->id_;
14    }
15
16    function getName()
17    {
18        $this->execQuery();
19        return $this->row_['typeName']; 
20    }
21
22    function getIcon($size)
23    {
24        $this->execQuery();
25        global $smarty;
26       
27        // cat 18 are combat drones
28        if ($this->row_['itt_cat'] == 18)
29        {
30            $img = IMG_URL.'/drones/'.$size.'_'.$size.'/'.$this->row_['itm_externalid'].'.png';
31        }
32        // cat 6 are ships (destroyed in cargo)
33        elseif ($this->row_['itt_cat'] == 6)
34        {
35            $img = IMG_URL.'/ships/'.$size.'_'.$size.'/'.$this->row_['itm_externalid'].'.png';
36        }
37        // cat 9 are blueprints
38        elseif ($this->row_['itt_cat'] == 9)
39        {
40                $img = IMG_URL.'/blueprints/'.$size.'_'.$size.'/'.$this->row_['itm_externalid'].'.png';
41        }
42       
43        if ($size == 24)
44        {
45                $show_style .= '_'.config::get('fp_ammostyle');
46                $t_s = config::get('fp_ttag');
47                $f_s = config::get('fp_ftag');
48                $d_s = 0;
49                $o_s = 0;
50        } 
51        elseif ($size == 48)
52        {
53                $show_style .= '_'.config::get('fp_highstyle');
54                $t_s = config::get('fp_ttag');
55                $f_s = config::get('fp_ftag');
56                $d_s = config::get('fp_dtag');
57                $o_s = config::get('fp_otag');
58        } 
59        else
60        {
61                $show_style = "";
62                $t_s = 1;
63                $f_s = config::get('kd_ftag');
64                $d_s = config::get('kd_dtag');
65                $o_s = config::get('kd_otag');
66       
67        }
68        $it_name = $this->getName();
69        if (($this->row_['itm_techlevel'] == 5) && $t_s) // is a T2?
70        {
71            $icon .= IMG_URL.'/items/'.$size.'_'.$size.'/t2'.$show_style.'.png';
72        }
73        elseif (($this->row_['itm_techlevel'] > 5) && ($this->row_['itm_techlevel'] < 10) && $f_s) // is a faction item?
74        {
75            $icon .= IMG_URL.'/items/'.$size.'_'.$size.'/f'.$show_style.'.png';
76        }
77        elseif (($this->row_['itm_techlevel'] > 10) && strstr($it_name,"Modified") && $o_s) // or it's an officer?
78        {
79                $icon .= IMG_URL.'/items/'.$size.'_'.$size.'/o'.$show_style.'.png';
80        }
81        elseif (($this->row_['itm_techlevel'] > 10) && $d_s && !(strstr($it_name,"Modified"))) // or it's just a deadspace item.
82        {
83                $icon .= IMG_URL.'/items/'.$size.'_'.$size.'/d'.$show_style.'.png';
84        }
85        elseif ($f_s 
86                && (
87                strstr($it_name,"Blood ")
88                || strstr($it_name,"Sansha")
89                || strstr($it_name,"Arch")
90                || strstr($it_name,"Domination")
91                || strstr($it_name,"Republic")
92                || strstr($it_name,"Navy")
93                || strstr($it_name,"Guardian")
94                || strstr($it_name,"Guristas")
95                || strstr($it_name,"Shadow")
96                )
97                ) // finally if it's a faction should have its prefix
98        {
99                $icon = IMG_URL.'/items/'.$size.'_'.$size.'/f'.$show_style.'.png';
100        }
101        else // but maybe it was only a T1 item :P
102        {
103            $icon = IMG_URL.'/items/'.$size.'_'.$size.'/blank.gif';
104        }
105
106        if (($size == 48) && ($show_style == '_backglowing'))
107        {
108                $temp = $img;
109                $img = $icon;
110                $icon = $temp;
111        }
112
113        $smarty->assign('img', $img);
114        $smarty->assign('icon', $icon);
115        $smarty->assign('name', $it_name);
116        return $smarty->fetch(get_tpl('icon'.$size));
117    }
118
119    function getSlot()
120    {
121        $this->execQuery();
122       
123        // if item has no slot get the slot from parent item
124        if ($this->row_['itt_slot'] == 0)
125        {
126            $qry = new DBQuery();
127            $query = "select itt_slot from kb3_item_types
128                        inner join kb3_dgmtypeattributes d
129                        where itt_id = d.value
130                        and d.typeID = ".$this->row_['typeID']."
131                        and d.attributeID in (137,602);";
132            $qry->execute($query);
133            $row = $qry->getRow();
134           
135                if (!$row['itt_slot'])
136                        return 0;
137                       
138            return $row['itt_slot'];
139        } 
140        return $this->row_['itt_slot'];
141    }
142   
143    function execQuery()
144    {
145        if (!isset($this->qry_))
146        {
147            $this->qry_ = new DBQuery();
148        }
149
150        if (!$this->qry_->executed_)
151        {
152            if (!$this->id_)
153            {
154                return false;
155            }
156           
157            $this->sql_ = "select inv.*, kb3_item_types.*, dga.value as techlevel, itp.price
158                               from kb3_invtypes inv
159                               left join kb3_dgmtypeattributes dga on dga.typeID=inv.typeID and dga.attributeID=633
160                               left join kb3_item_price itp on itp.typeID=inv.typeID
161                               left join kb3_item_types on groupID=itt_id
162                                   where inv.typeID = '".$this->id_."'";
163            $this->qry_->execute($this->sql_);
164            $this->row_ = $this->qry_->getRow();
165            $this->row_['itm_icon'] = $this->row_['icon'];
166            $this->row_['itm_techlevel'] = $this->row_['techlevel'];
167            $this->row_['itm_externalid'] = $this->row_['typeID'];
168            $this->row_['itm_value'] = $this->row_['price'];
169        }
170    }
171
172    // loads $this->id_  by name
173    function lookup($name)
174    {
175        $name = trim($name);
176        $qry = new DBQuery();
177        $query = "select *,typeID as itm_id from kb3_invtypes itm
178                  where typeName = '".slashfix($name)."'";
179        $qry->execute($query);
180        $row = $qry->getRow();
181        if (!isset($row['itm_id']))
182        {
183                return false; 
184        }
185        $this->id_ = $row['itm_id'];
186    }
187 
188    // return typeID by name, dont change $this->id_
189    function get_item_id($name)
190    {
191        $qry = new DBQuery();
192        $query = "select *,typeID as itm_id
193                  from kb3_items
194                  where typeName = '".slashfix($name)."'";
195        $qry->execute($query);
196
197        $row = $qry->getRow();
198        if ($row['itm_id']) return $row['itm_id'];
199    }
200   
201    function get_used_launcher_group($name)
202    {
203             $qry  = new DBQuery();
204             // I dont think CCP will change this attribute in near future ;-)
205             $query = "SELECT value
206                     FROM kb3_dgmtypeattributes d
207                     INNER JOIN kb3_invtypes i ON i.typeID = d.typeID
208                     WHERE i.typeName = '".slashfix($name)."' AND d.attributeID IN (137,602);";
209             $qry->execute($query);
210             $row = $qry->getRow();
211             return $row['value'];
212    }
213
214    function get_used_charge_size($name)
215    {
216             $qry  = new DBQuery();
217             // I dont think CCP will change this attribute in near future ;-)
218             $query = "SELECT value
219                     FROM kb3_dgmtypeattributes d
220                     INNER JOIN kb3_invtypes i ON i.typeID = d.typeID
221                     WHERE i.typeName = '".slashfix($name)."' AND d.attributeID IN (128);";
222             $qry->execute($query);
223             $row = $qry->getRow();
224             return $row['value'];
225    }
226
227    function get_ammo_size($name)
228    {
229        $temp = substr($name, strlen($name) - 2, 2);
230        if (strstr($name,'Mining'))
231        {
232                $a_size = 1;
233        }
234        elseif ($temp == 'XL')
235        {
236                $a_size = 4;
237        }
238        elseif ($temp == ' L')
239        {
240                $a_size = 3;
241        }
242        elseif ($temp == ' M')
243        {
244                $a_size = 2;
245        }
246        elseif ($temp == ' S')
247        {
248                $a_size = 1;
249        }
250        else
251        {
252                $a_size = 0;
253
254        }
255        return $a_size;
256    }   
257   
258    function get_group_id($name)
259    {
260        $qry = new DBQuery();
261        $query = "select groupID
262                        from kb3_invtypes
263                        where typeName = '".slashfix($name)."'";
264        $qry->execute($query);
265
266        $row = $qry->getRow();
267        if ($row['groupID']) return $row['groupID'];
268    }
269}
270?>
Note: See TracBrowser for help on using the browser.