root/dev/mods/fitting/kill_detail.php @ 301

Revision 301, 11.3 KB (checked in by ralle030583, 14 years ago)

FIX: Items without slotID used slot of partent items (attribute used_with..)<br>
FIX: Items witch has the attribbute used_with(launcher) arent shown in fitting image of fitting mod<br>
DEL: Settings of fitting mod, not needed anymore, if already set, you can delete it in the kb3_config

Line 
1<?php
2require_once('common/includes/class.kill.php');
3require_once('common/includes/class.pilot.php');
4require_once('common/includes/class.corp.php');
5require_once('common/includes/class.alliance.php');
6
7$page = new Page('Kill details - MOD');
8
9if (config::get('item_values'))
10{
11    $smarty->assign('item_values', 'true');
12    if ($page->isAdmin())
13    {
14        $smarty->assign('admin', 'true');
15        if (isset($_POST['submit']))
16        {
17            // Send new value for item to the database
18            $IID = $_POST['IID'];
19            $Val = $_POST[$IID];
20            $qry = new DBQuery();
21            $qry->execute("UPDATE kb3_items SET itm_value ='".$Val."' WHERE itm_id='".$IID."'");
22        }
23    }
24}
25
26if (!$kll_id = intval($_GET['kll_id']))
27{
28    $html = "No kill id specified.";
29    $page->setContent($html);
30    $page->generate($html);
31    exit;
32}
33
34$kill = new Kill($kll_id);
35if (!$kill->exists())
36{
37    $html = "That kill doesn't exist.";
38    $page->setContent($html);
39    $page->generate($html);
40    exit;
41}
42
43// victim $smarty->assign('',);
44$smarty->assign('VictimPortrait', $kill->getVictimPortrait(64));
45$smarty->assign('VictimURL', "?a=pilot_detail&plt_id=".$kill->getVictimID());
46$smarty->assign('VictimName', $kill->getVictimName());
47$smarty->assign('VictimCorpURL', "?a=corp_detail&crp_id=".$kill->getVictimCorpID());
48$smarty->assign('VictimCorpName', $kill->getVictimCorpName());
49$smarty->assign('VictimAllianceURL', "?a=alliance_detail&all_id=".$kill->getVictimAllianceID());
50$smarty->assign('VictimAllianceName', $kill->getVictimAllianceName());
51$smarty->assign('VictimDamageTaken', $kill->VictimDamageTaken);
52
53// involved
54$i = 1;
55$involved = array();
56foreach ($kill->involvedparties_ as $inv)
57{
58    $pilot = new Pilot($inv->getPilotID());
59    $corp = new Corporation($inv->getCorpID());
60    $alliance = new Alliance($inv->getAllianceID());
61    $ship = $inv->getShip();
62    $weapon = $inv->getWeapon();
63
64    $involved[$i]['shipImage'] = $ship->getImage(64);
65    $involved[$i]['PilotURL'] = "?a=pilot_detail&plt_id=".$pilot->getID();
66    $involved[$i]['PilotName'] = $pilot->getName();
67    $involved[$i]['CorpURL'] = "?a=corp_detail&crp_id=".$corp->getID();
68    $involved[$i]['CorpName'] = $corp->getName();
69    $involved[$i]['AlliURL'] = "?a=alliance_detail&all_id=".$alliance->getID();
70    $involved[$i]['AlliName'] = $alliance->getName();
71    $involved[$i]['ShipName'] = $ship->getName();
72    $involved[$i]['ShipID'] = $ship->externalid_;
73    $involved[$i]['damageDone'] = $inv->dmgdone_;
74
75    if ($pilot->getID() == $kill->getFBPilotID())
76    {
77        $involved[$i]['FB'] = "true";
78    }
79    else
80    {
81        $involved[$i]['FB'] = "false";
82    }
83
84    if ($corp->isNPCCorp())
85    {
86        $involved[$i]['portrait'] = $corp->getPortraitURL(64);
87    }
88    else
89    {
90        $involved[$i]['portrait'] = $pilot->getPortraitURL(64);
91    }
92
93    if ($weapon->getName() != "Unknown" && $weapon->getName() != $ship->getName())
94    {
95        $involved[$i]['weaponName'] = $weapon->getName();
96        $involved[$i]['weaponID'] = $weapon->row_['itm_externalid'];
97    }
98    else
99        $involved[$i]['weaponName'] = "Unknown";
100    ++$i;
101}
102$smarty->assign_by_ref('involved', $involved);
103
104if (config::get('comments'))
105{
106    include('common/comments.php');
107    $smarty->assign('comments', $comment);
108}
109// ship, ship details
110$ship = $kill->getVictimShip();
111$shipclass = $ship->getClass();
112$system = $kill->getSystem();
113
114$smarty->assign('VictimShip', $kill->getVictimShip());
115$smarty->assign('ShipClass', $ship->getClass());
116$smarty->assign('ShipImage', $ship->getImage(64));
117$smarty->assign('ShipName', $ship->getName());
118$smarty->assign('ShipID', $ship->externalid_);
119$smarty->assign('ClassName', $shipclass->getName());
120
121if ($kill->isClassified())
122{
123        //Admin is able to see classified Systems
124        if ($page->isAdmin())
125        {
126            $smarty->assign('System', $system->getName().' (Classified)');
127        $smarty->assign('SystemURL', "?a=system_detail&amp;sys_id=".$system->getID());
128            $smarty->assign('SystemSecurity', $system->getSecurity(true));
129        }
130        else
131        {
132                $smarty->assign('System', 'Classified');
133        $smarty->assign('SystemURL', "");
134            $smarty->assign('SystemSecurity', '0.0');
135        }
136}
137else
138{
139    $smarty->assign('System', $system->getName());
140    $smarty->assign('SystemURL', "?a=system_detail&amp;sys_id=".$system->getID());
141    $smarty->assign('SystemSecurity', $system->getSecurity(true));
142}
143$smarty->assign('TimeStamp', $kill->getTimeStamp());
144$smarty->assign('VictimShipImg', $ship->getImage(64));
145
146// ship fitting
147if (count($kill->destroyeditems_) > 0)
148{
149    $dest_array = array();
150    $dest_array[1] = array('img' => 'icon08_11.png', 'text' => 'Fitted - High slot', 'items' => array());
151    $dest_array[2] = array('img' => 'icon08_10.png', 'text' => 'Fitted - Mid slot', 'items' => array());
152    $dest_array[3] = array('img' => 'icon08_09.png', 'text' => 'Fitted - Low slot', 'items' => array());
153    $dest_array[5] = array('img' => 'icon68_01.png', 'text' => 'Fitted - Rig slot', 'items' => array());
154    $dest_array[6] = array('img' => 'icon02_10.png', 'text' => 'Drone bay', 'items' => array());
155    $dest_array[4] = array('img' => 'icon03_14.png', 'text' => 'Cargo Bay', 'items' => array());
156
157    foreach($kill->destroyeditems_ as $destroyed)
158    {
159        $item = $destroyed->getItem();
160        if (config::get('item_values'))
161        {
162            $value = $destroyed->getValue();
163            $TotalValue += $value*$destroyed->getQuantity();
164            $formatted = $destroyed->getFormatttedValue();
165        }
166        $dest_array[$destroyed->getLocationID()]['items'][] = array('Icon' => $item->getIcon(32), 'Name' => $item->getName(), 'Quantity' => $destroyed->getQuantity(), 'Value' => $formatted, 'single_unit' => $value, 'itemID' => $item->getID());
167               
168               
169                //Fitting, KE - add destroyed items to an array of all fitted items.
170                if($destroyed->getLocationID() < 6 && ($item->get_used_launcher_group($item->getName()) == 0)
171                {
172                        $count_quntity = 0;
173                        while ($count_quntity < $destroyed->getQuantity())
174                        {
175                                $fitting_array[$destroyed->getLocationID()][]=array('Name'=>$item->getName(), 'Icon' => $item->getIcon(32), 'itemID' => $item->getID());
176                                ++$count_quntity;
177                        }
178                }
179                //fitting thing end
180    }
181}
182
183if (count($kill->droppeditems_) > 0)
184{
185    $drop_array = array();
186    $drop_array[1] = array('img' => 'icon08_11.png', 'text' => 'Fitted - High slot', 'items' => array());
187    $drop_array[2] = array('img' => 'icon08_10.png', 'text' => 'Fitted - Mid slot', 'items' => array());
188    $drop_array[3] = array('img' => 'icon08_09.png', 'text' => 'Fitted - Low slot', 'items' => array());
189    $drop_array[5] = array('img' => 'icon68_01.png', 'text' => 'Fitted - Rig slot', 'items' => array());
190    $drop_array[6] = array('img' => 'icon02_10.png', 'text' => 'Drone bay', 'items' => array());
191    $drop_array[4] = array('img' => 'icon03_14.png', 'text' => 'Cargo Bay', 'items' => array());
192
193    foreach($kill->droppeditems_ as $dropped)
194    {
195        $item = $dropped->getItem();
196        if (config::get('item_values'))
197        {
198            $value = $dropped->getValue();
199            $dropvalue += $value*$dropped->getQuantity();
200            $formatted = $dropped->getFormatttedValue();
201        }
202        $drop_array[$dropped->getLocationID()]['items'][] = array('Icon' => $item->getIcon(32), 'Name' => $item->getName(), 'Quantity' => $dropped->getQuantity(), 'Value' => $formatted, 'single_unit' => $value, 'itemID' => $item->getID());
203               
204                //Fitting -KE, add dropped items to the list
205                if(($dropped->getLocationID() != 4) && ($item->get_used_launcher_group($item->getName()) == 0))
206                {
207                        $count_quntity = 0;
208                        while ($count_quntity < $dropped->getQuantity())
209                        {
210                                $fitting_array[$dropped->getLocationID()][]=array('Name'=>$item->getName(), 'Icon' => $item->getIcon(32), 'itemID' => $item->getID());         
211                                ++$count_quntity;       
212                        }
213                }
214                //fitting thing end
215               
216               
217    }
218}
219
220//Fitting - KE, sort the fitted items into name order, so that several of the same item apear next to each other.
221if(is_array($fitting_array[1]))
222{
223        foreach ($fitting_array[1] as $array_rowh)
224        {
225                 $sort_by_nameh["Name"][] = $array_rowh["Name"];
226        }
227        array_multisort($sort_by_nameh["Name"],SORT_ASC,$fitting_array[1]);
228}
229
230if(is_array($fitting_array[2]))
231{
232        foreach ($fitting_array[2] as $array_rowm) 
233        {
234                 $sort_by_namem["Name"][] = $array_rowm["Name"];
235        }
236        array_multisort($sort_by_namem["Name"],SORT_ASC,$fitting_array[2]);
237}
238
239if(is_array($fitting_array[3]))
240{
241        foreach ($fitting_array[3] as $array_rowl) 
242        {
243                 $sort_by_namel["Name"][] = $array_rowl["Name"];
244        }
245        array_multisort($sort_by_namel["Name"],SORT_ASC,$fitting_array[3]);
246}
247
248if(is_array($fitting_array[5]))
249{
250        foreach ($fitting_array[5] as $array_rowr) 
251        {
252                 $sort_by_namer["Name"][] = $array_rowr["Name"];
253        }
254        array_multisort($sort_by_namer["Name"],SORT_ASC,$fitting_array[5]);
255}
256
257//Fitting - KE, sort the fitted items into name order, so that several of the same item apear next to each other. -end
258
259
260
261if ($TotalValue >= 0)
262{
263    $Formatted = number_format($TotalValue, 2);
264}
265
266// Get Ship Value
267$ShipValue = $ship->getPrice();
268if (config::get('kd_droptototal'))
269{
270    $TotalValue += $dropvalue;
271}
272$TotalLoss = number_format($TotalValue + $ShipValue, 2);
273$ShipValue = number_format($ShipValue, 2);
274$dropvalue = number_format($dropvalue, 2);
275
276
277$smarty->assign_by_ref('destroyed', $dest_array);
278$smarty->assign_by_ref('dropped', $drop_array);
279$smarty->assign_by_ref('fitting_high', $fitting_array[1]);
280$smarty->assign_by_ref('fitting_med', $fitting_array[2]);
281$smarty->assign_by_ref('fitting_low', $fitting_array[3]);
282$smarty->assign_by_ref('fitting_rig', $fitting_array[5]);
283$smarty->assign('ItemValue', $Formatted);
284$smarty->assign('DropValue', $dropvalue);
285$smarty->assign('ShipValue', $ShipValue);
286$smarty->assign('TotalLoss', $TotalLoss);
287
288$menubox = new Box("Menu");
289$menubox->setIcon("menu-item.gif");
290$menubox->addOption("caption", "View");
291$menubox->addOption("link", "Killmail", "javascript:sndReq('index.php?a=kill_mail&kll_id=".$kill->getID()."');ReverseContentDisplay('popup')");
292if ($kill->relatedKillCount() > 1 || $kill->relatedLossCount() > 1)
293{
294    $menubox->addOption("link", "Related kills (".$kill->relatedKillCount()."/".$kill->relatedLossCount().")", "?a=kill_related&kll_id=".$kill->getID());
295}
296if ($page->isAdmin())
297{
298    $menubox->addOption("caption", "Admin");
299    $menubox->addOption("link", "Delete", "javascript:openWindow('?a=admin_kill_delete&kll_id=".$kill->getID()."', null, 420, 300, '' );");
300}
301$page->addContext($menubox->generate());
302
303if (config::get('kill_points'))
304{
305    $scorebox = new Box("Points");
306    $scorebox->addOption("points", $kill->getKillPoints());
307    $page->addContext($scorebox->generate());
308}
309
310//Admin is able to see classsiefied systems
311if ((!$kill->isClassified()) || ($page->isAdmin()))
312{
313    $mapbox = new Box("Map");
314    $mapbox->addOption("img", "?a=mapview&sys_id=".$system->getID()."&mode=map&size=145");
315    $mapbox->addOption("img", "?a=mapview&sys_id=".$system->getID()."&mode=region&size=145");
316    $mapbox->addOption("img", "?a=mapview&sys_id=".$system->getID()."&mode=cons&size=145");
317    $page->addContext($mapbox->generate());
318}
319
320$html = $smarty->fetch('../mods/fitting/kill_detail.tpl');
321$page->setContent($html);
322$page->generate();
323?>
Note: See TracBrowser for help on using the browser.