root/branch/rev3/common/kill_detail.php @ 244

Revision 244, 9.0 KB (checked in by exi, 15 years ago)

Removed rig0rs mail on request.
New option in Mapoptions to cache region maps.
Added several NPC corp images.
Improved corp image handling, you can now store the logo as <corpname>.jpg in img/corps/.
Killmails now handle the Killmail Mk1.5 format.
A reinforced killboard will now cache all generated maps regardless of their type.
Page kill_detail will now show damage and dropped items.
Upgraded category icons on kill_detail to ones with alpha channel.

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');
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('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            $smarty->assign('System', $system->getName().' (Classified)');
126        $smarty->assign('SystemURL', "?a=system_detail&amp;sys_id=".$system->getID());
127            $smarty->assign('SystemSecurity', $system->getSecurity(true));
128        }else{
129                $smarty->assign('System', 'Classified');
130        $smarty->assign('SystemURL', "");
131            $smarty->assign('SystemSecurity', '0.0');
132        }
133}
134else
135{
136    $smarty->assign('System', $system->getName());
137    $smarty->assign('SystemURL', "?a=system_detail&amp;sys_id=".$system->getID());
138    $smarty->assign('SystemSecurity', $system->getSecurity(true));
139}
140$smarty->assign('TimeStamp', $kill->getTimeStamp());
141$smarty->assign('VictimShipImg', $ship->getImage(64));
142
143// ship fitting
144if (count($kill->destroyeditems_) > 0)
145{
146    $dest_array = array();
147    $dest_array[1] = array('img' => 'icon08_11.png', 'text' => 'Fitted - High slot', 'items' => array());
148    $dest_array[2] = array('img' => 'icon08_10.png', 'text' => 'Fitted - Mid slot', 'items' => array());
149    $dest_array[3] = array('img' => 'icon08_09.png', 'text' => 'Fitted - Low slot', 'items' => array());
150    $dest_array[5] = array('img' => 'icon68_01.png', 'text' => 'Fitted - Rig slot', 'items' => array());
151    $dest_array[6] = array('img' => 'icon02_10.png', 'text' => 'Drone bay', 'items' => array());
152    $dest_array[4] = array('img' => 'icon03_14.png', 'text' => 'Cargo Bay', 'items' => array());
153
154    foreach($kill->destroyeditems_ as $destroyed)
155    {
156        $item = $destroyed->getItem();
157        if (config::get('item_values'))
158        {
159            $value = $destroyed->getValue();
160            $TotalValue += $value*$destroyed->getQuantity();
161            $formatted = $destroyed->getFormatttedValue();
162        }
163        $dest_array[$destroyed->getLocationID()]['items'][] = array('Icon' => $item->getIcon(32), 'Name' => $item->getName(), 'Quantity' => $destroyed->getQuantity(), 'Value' => $formatted, 'single_unit' => $value, 'itemID' => $item->getID());
164    }
165}
166
167if (count($kill->droppeditems_) > 0)
168{
169    $drop_array = array();
170    $drop_array[1] = array('img' => 'icon08_11.png', 'text' => 'Fitted - High slot', 'items' => array());
171    $drop_array[2] = array('img' => 'icon08_10.png', 'text' => 'Fitted - Mid slot', 'items' => array());
172    $drop_array[3] = array('img' => 'icon08_09.png', 'text' => 'Fitted - Low slot', 'items' => array());
173    $drop_array[5] = array('img' => 'icon68_01.png', 'text' => 'Fitted - Rig slot', 'items' => array());
174    $drop_array[6] = array('img' => 'icon02_10.png', 'text' => 'Drone bay', 'items' => array());
175    $drop_array[4] = array('img' => 'icon03_14.png', 'text' => 'Cargo Bay', 'items' => array());
176
177    foreach($kill->droppeditems_ as $dropped)
178    {
179        $item = $dropped->getItem();
180        if (config::get('item_values'))
181        {
182            $value = $dropped->getValue();
183            $dropvalue += $value*$dropped->getQuantity();
184            $formatted = $dropped->getFormatttedValue();
185        }
186        $drop_array[$dropped->getLocationID()]['items'][] = array('Icon' => $item->getIcon(32), 'Name' => $item->getName(), 'Quantity' => $dropped->getQuantity(), 'Value' => $formatted, 'single_unit' => $value, 'itemID' => $item->getID());
187    }
188}
189
190if ($TotalValue >= 0)
191{
192    $Formatted = number_format($TotalValue, 2);
193}
194
195// Get Ship Value
196$ShipValue = $ship->getPrice();
197$TotalLoss = number_format($TotalValue + $ShipValue, 2);
198$ShipValue = number_format($ShipValue, 2);
199$dropvalue = number_format($dropvalue, 2);
200
201$smarty->assign_by_ref('destroyed', $dest_array);
202$smarty->assign_by_ref('dropped', $drop_array);
203$smarty->assign('ItemValue', $Formatted);
204$smarty->assign('DropValue', $dropvalue);
205$smarty->assign('ShipValue', $ShipValue);
206$smarty->assign('TotalLoss', $TotalLoss);
207
208$menubox = new Box("Menu");
209$menubox->setIcon("menu-item.gif");
210$menubox->addOption("caption", "View");
211$menubox->addOption("link", "Killmail", "javascript:sndReq('index.php?a=kill_mail&kll_id=".$kill->getID()."');ReverseContentDisplay('popup')");
212if ($kill->relatedKillCount() > 1 || $kill->relatedLossCount() > 1)
213{
214    $menubox->addOption("link", "Related kills (".$kill->relatedKillCount()."/".$kill->relatedLossCount().")", "?a=kill_related&kll_id=".$kill->getID());
215}
216if ($page->isAdmin())
217{
218    $menubox->addOption("caption", "Admin");
219    $menubox->addOption("link", "Delete", "javascript:openWindow('?a=admin_kill_delete&kll_id=".$kill->getID()."', null, 420, 300, '' );");
220}
221$page->addContext($menubox->generate());
222
223if (config::get('kill_points'))
224{
225    $scorebox = new Box("Points");
226    $scorebox->addOption("points", $kill->getKillPoints());
227    $page->addContext($scorebox->generate());
228}
229
230//Admin is able to see classsiefied systems
231if ((!$kill->isClassified()) || ($page->isAdmin()))
232{
233    $mapbox = new Box("Map");
234    $mapbox->addOption("img", "?a=mapview&sys_id=".$system->getID()."&mode=map&size=145");
235    $mapbox->addOption("img", "?a=mapview&sys_id=".$system->getID()."&mode=region&size=145");
236    $mapbox->addOption("img", "?a=mapview&sys_id=".$system->getID()."&mode=cons&size=145");
237    $page->addContext($mapbox->generate());
238}
239
240$html = $smarty->fetch(get_tpl('kill_detail'));
241$page->setContent($html);
242$page->generate();
243?>
Note: See TracBrowser for help on using the browser.