root/dev/common/class.ship.php @ 123

Revision 123, 4.7 KB (checked in by exi, 16 years ago)

Admin: admin_mapoptions.php now deletes all regioncache images on submit of new values.
SQL: default inxed for kb3_ships_values.shp_id is now primary key.
Killlists should now properly show the old date format.
Fixed a typo in admin_mapoptions.tpl.
Added debug code to class.map.php.
The killmail importer should now work also with 1 killmail per request.

Line 
1<?php
2
3/**
4 *  Changes
5 *  11/23/06 - function getActualValue()
6 *             Returns actual value of the ship unrounded, rounding is retarded but
7 *             I dont want to fuck anything else up - Coni
8 *
9*/
10
11require_once("db.php");
12
13class Ship
14{
15    function Ship($id = 0)
16    {
17        $this->id_ = $id;
18    }
19
20    function getID()
21    {
22        return $this->id_;
23    }
24
25    function getName()
26    {
27        if ($this->shipname_ == "") $this->execQuery();
28        return $this->shipname_;
29    }
30
31    function getClass()
32    {
33        if (!$this->shipclass_) $this->execQuery();
34        return $this->shipclass_;
35    }
36
37    function getTechLevel()
38    {
39        $this->execQuery();
40        return $this->row_['shp_techlevel'];
41    }
42
43    function getImage($size)
44    {
45        if (!$this->externalid_)
46        {
47            $this->execQuery();
48        }
49        return IMG_URL."/ships/".$size."_".$size."/".$this->externalid_.".png";
50    }
51
52    function setName($shipname)
53    {
54        $this->shipname_ = $shipname;
55    }
56
57    function setClass($shipclass)
58    {
59        $this->shipclass_ = $shipclass;
60    }
61
62    function getPrice()
63    {
64        return $this->value_;
65    }
66
67    function execQuery()
68    {
69        if (!$this->qry_)
70        {
71            global $config;
72            $this->qry_ = new DBQuery();
73
74            $this->sql_ = "select * from kb3_ships shp
75                           inner join kb3_ship_classes scl on shp.shp_class = scl.scl_id";
76            if ($config->getConfig('ship_values'))
77            {
78                $this->sql_ .= ' left join kb3_ships_values ksv on (shp.shp_id = ksv.shp_id) ';
79            }
80            $this->sql_ .= " where shp.shp_id = ".$this->id_;
81
82            $this->qry_->execute($this->sql_);
83            $row = $this->qry_->getRow();
84            $this->shipname_ = $row['shp_name'];
85            $this->shipclass_ = new ShipClass($row['scl_id']);
86            $this->shiptechlevel_ = $row['shp_techlevel'];
87            $this->externalid_ = $row['shp_externalid'];
88            if ($config->getConfig('ship_values'))
89            {
90                if (!$this->value_ = $row['shp_value'])
91                {
92                    $this->value_ = $row['shp_baseprice'];
93                }
94            }
95            else
96            {
97                $this->value_ = $row['shp_baseprice'];
98            }
99        }
100    }
101
102    function lookup($name)
103    {
104        $qry = new DBQuery();
105        $qry->execute("select *
106                        from kb3_ships
107                       where shp_name = '".slashfix($name)."'");
108
109        $row = $qry->getRow();
110        if ($row['shp_id']) $this->id_ = $row['shp_id'];
111    }
112}
113
114class ShipClass
115{
116    function ShipClass($id = 0)
117    {
118        if (!$id) $id = 0;
119        $this->id_ = $id;
120
121        $this->qry_ = new DBQuery();
122    }
123
124    function getID()
125    {
126        return $this->id_;
127    }
128
129    function getName()
130    {
131        if ($this->name_ == "") $this->execQuery();
132        return $this->name_;
133    }
134
135    // Why would you round here this is fucking retarded!
136    function getValue()
137    {
138        if (!$this->value_) $this->execQuery();
139        return round($this->value_ / 1000000, 2);
140    }
141
142    function getActualValue()
143    {
144        if (!$this->value_) $this->execQuery();
145        return $this->value_;
146    }
147
148    function getPoints()
149    {
150        if (!$this->points_) $this->execQuery();
151        return $this->points_;
152    }
153
154    function setName($name)
155    {
156        $this->name_ = $name;
157    }
158
159    function setValue($value)
160    {
161        $this->value_ = $value;
162    }
163
164    function getValueIndicator()
165    {
166        $value = $this->getValue();
167
168        if ($value >= 0 && $value <= 1)
169            $color = "gray";
170        elseif ($value > 1 && $value <= 15)
171            $color = "blue";
172        elseif ($value > 15 && $value <= 25)
173            $color = "green";
174        elseif ($value > 25 && $value <= 40)
175            $color = "yellow";
176        elseif ($value > 40 && $value <= 80)
177            $color = "red";
178        elseif ($value > 80 && $value <= 250)
179            $color = "orange";
180        elseif ($value > 250)
181            $color = "purple";
182
183        return IMG_URL."/ships/ship-".$color.".gif";
184    }
185
186    function execQuery()
187    {
188        if (!$this->qry_->executed_)
189        {
190            $sql = "select *
191                  from kb3_ship_classes
192                 where scl_id = ".$this->id_;
193
194            $this->qry_->execute($sql);
195            $row = $this->qry_->getRow();
196
197            $this->name_ = $row['scl_class'];
198            $this->value_ = $row['scl_value'];
199            $this->points_ = $row['scl_points'];
200        }
201    }
202}
203?>
Note: See TracBrowser for help on using the browser.