root/dev/common/class.item.php @ 133

Revision 133, 3.7 KB (checked in by exi, 14 years ago)

Reduced one potential sql-bug.
Added ability to identify items as t2 via their techlevel rather than just 'II'.
Fixed item location 0 to not cause skipping that item.
Added anzahl/quantity-replace for the german killpreparser.
Fixed final blow award to show correct numbers.
Removed unnecessary code from db.php.
Added a table data check to the sql importer and made the importer more verbose, this should minimize support requests caused by empty table data.
Fixed a small misalignment of the comment block.

Line 
1<?php
2require_once("db.php");
3
4class Item
5{
6    function Item($id = 0)
7    {
8        $this->id_ = $id;
9        $this->qry_ = new DBQuery();
10    }
11
12    function getID()
13    {
14        return $this->id_;
15    }
16
17    function getName()
18    {
19        $this->execQuery();
20//        if (!$this->row_['itm_name'])
21//        {
22//            return $this->id_;
23//        }
24        return $this->row_['itm_name'];
25    }
26
27
28
29    function getIcon($size = 32)
30    {
31        $this->execQuery();
32        global $smarty;
33
34        // slot 6 is dronebay
35        if ($this->row_['itt_slot'] == 6)
36        {
37            $img = IMG_URL.'/drones/'.$size.'_'.$size.'/'.$this->row_['itm_externalid'].'.png';
38        }
39        else
40        {
41            // fix for new db structure, just make sure old clients dont break
42            if (!strstr($this->row_['itm_icon'], 'icon'))
43            {
44                $this->row_['itm_icon'] = 'icon'.$this->row_['itm_icon'];
45            }
46            $img = IMG_URL.'/items/'.$size.'_'.$size.'/'.$this->row_['itm_icon'].'.png';
47        }
48
49        if (substr($this->getName(), strlen($this->getName()) - 2, 2) == "II" || $this->row_['techlevel'])
50        {
51            $icon .= IMG_URL.'/items/32_32/t2.gif';
52        }
53        else
54        {
55            $icon= IMG_URL.'/items/32_32/blank.gif';
56        }
57
58        $smarty->assign('img', $img);
59        $smarty->assign('icon', $icon);
60        return $smarty->fetch('icon.tpl');
61    }
62
63    function getSlot()
64    {
65        $this->execQuery();
66        return $this->row_['itt_slot'];
67    }
68
69    function execQuery()
70    {
71        if (!$this->qry_->executed_)
72        {
73            $this->sql_ = "select *
74                           from kb3_items, kb3_item_types
75                               where itm_id = '".$this->id_."'
76                               and itm_type = itt_id";
77            $this->qry_->execute($this->sql_);
78            $this->row_ = $this->qry_->getRow();
79        }
80    }
81
82    function lookup($name)
83    {
84        $qry = new DBQuery();
85        $qry->execute("select * from kb3_items itm
86                        where itm_name = '".slashfix($name)."'");
87        $row = $qry->getRow();
88        if (!isset($row['itm_id']))
89        {
90            global $config;
91            if ($config->getConfig('adapt_items'))
92            {
93                // if the item is a tec2 we likely have the tec1
94                if (substr($name, -2, 2) == 'II')
95                {
96                    $qry->execute("select * from kb3_items itm
97                                    where itm_name = '".slashfix(substr($name,0,-1))."'");
98                    $row = $qry->getRow();
99                    $qry->execute("INSERT INTO kb3_items (itm_name,itm_volume,itm_type,itm_externalid,itm_techlevel,itm_icon)
100                                    VALUES ('".slashfix($name)."','".$row['itm_volume']."','".$row['itm_type']."','".$row['itm_externalid']."','2','".$row['itm_icon']."')");
101                }
102                else
103                {
104                    // no idea what this is, insert as 'Temp'
105                    $qry->execute("INSERT INTO kb3_items (itm_name,itm_type)
106                                    VALUES ('".slashfix($name)."','721')");
107                }
108                $row['itm_id'] = $qry->getInsertID();
109            }
110        }
111        $this->id_ = $row['itm_id'];
112    }
113
114    function get_item_id($name)
115    {
116        $qry = new DBQuery();
117        $qry->execute("select *
118                        from kb3_items
119                        where itm_name = '".slashfix($name)."'");
120
121        $row = $qry->getRow();
122        if ($row['itm_id']) return $row['itm_id'];
123    }
124}
125?>
Note: See TracBrowser for help on using the browser.