root/dev/common/includes/class.ship.php @ 254

Revision 254, 4.7 KB (checked in by exi, 15 years ago)

Merging 242:253 branch into dev

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