root/dev/mods/apoc_fitting/kill_detail.php @ 381

Revision 381, 28.7 KB (checked in by kovell, 11 years ago)

kill class can constructs all involved pilot/ship/etc objects
kill_detail reduced load using new kill method.
display fixes.

Line 
1<?php
2require_once('common/includes/class.kill.php');
3require_once('common/includes/class.killsummarytable.php');
4require_once('common/includes/class.pilot.php');
5require_once('common/includes/class.corp.php');
6require_once('common/includes/class.alliance.php');
7
8$page=new Page('Kill details');
9$page->addHeader('<link rel="stylesheet" type="text/css" href="mods/apoc_fitting/style.css">');
10
11// check apoc settings are set up. If not, put defaults in.
12if(!config::get('apocfitting_colour'))
13{
14        config::set('apocfitting_colour', 'apoc');
15        config::set('apocfitting_themedir', 'panel');
16}
17
18$smarty->assign('panel_colour', config::get('apocfitting_colour'));
19$smarty->assign('dropped_colour', config::get('apocfitting_dropped_colour'));
20$smarty->assign('themedir', config::get('apocfitting_themedir'));
21$smarty->assign('showammo', config::get('apocfitting_showammo'));
22$smarty->assign('showiskd', config::get('apocfitting_showiskd'));
23$smarty->assign('showext', config::get('apocfitting_showext'));
24$mapmod = config::get('apocfitting_mapmod');
25$sidemap = config::get('apocfitting_sidemap');
26$showbox = config::get('apocfitting_showbox');
27
28if (config::get('item_values'))
29    {
30    $smarty->assign('item_values', 'true');
31
32    if ($page->isAdmin())
33        {
34        $smarty->assign('admin', 'true');
35
36        if (isset($_POST['submit']) && $_POST['submit'] == 'UpdateValue')
37            {
38            // Send new value for item to the database
39            $IID=$_POST['IID'];
40            $Val=$_POST[$IID];
41            $qry=new DBQuery();
42            $qry->execute("INSERT INTO kb3_item_price (typeID, price) VALUES ('" . $IID . "', '" . $Val
43                              . "') ON DUPLICATE KEY UPDATE price = '" . $Val . "'");
44            }
45        }
46    }
47
48if ($page->isAdmin())
49    {
50    if (isset($_GET['view']) && $_GET['view'] == 'FixSlot')
51        {
52        $smarty->assign('fixSlot', 'true');
53        }
54
55    $smarty->assign('admin', 'true');
56
57    if (isset($_POST['submit']) && $_POST['submit'] == 'UpdateSlot')
58        {
59        $IID  =$_POST['IID'];
60        $KID  =$_POST['KID'];
61        $Val  =$_POST[$IID];
62        $table=$_POST['TYPE'];
63        $old  =$_POST['OLDSLOT'];
64        $qry  =new DBQuery();
65        $qry->execute("UPDATE kb3_items_" . $table . " SET itd_itl_id ='" . $Val . "' WHERE itd_itm_id=" . $IID
66                          . " AND itd_kll_id = " . $KID . " AND itd_itl_id = " . $old);
67        }
68    }
69
70$kll_id = intval($_GET['kll_id']);
71$kll_external_id = intval($_GET['kll_external_id']);
72if (!$kll_id && !$kll_external_id)
73{
74    $html = "No kill id specified.";
75    $page->setContent($html);
76    $page->generate($html);
77    exit;
78}
79
80if($kll_id)
81{
82        $kill = new Kill($kll_id);
83        $kill->setDetailedInvolved();
84}
85else
86{
87        $kill = new Kill($kll_external_id, true);
88        $kill->setDetailedInvolved();
89        $kll_id = $kill->getID();
90}
91
92if (!$kill->exists())
93    {
94    $html="That kill doesn't exist.";
95    $page->setContent($html);
96    $page->generate($html);
97    exit;
98    }
99
100// Begin -- Sapyx 25-08-2008   
101
102$qry=new DBQuery();
103
104if (ALLIANCE_ID <> '0')
105    {
106    $qry->execute("SELECT all_name FROM kb3_alliances WHERE all_id = " . ALLIANCE_ID) or die($qry->getErrorMsg());
107
108    $row=$qry->getRow();
109    $smarty->assign('IsAlly', true);
110    $smarty->assign('HomeName', $row['all_name']);
111
112/*
113    $qry->execute("SELECT `kb3_corps`.`crp_name` FROM kb3_corps WHERE (kb3_corps.crp_all_id=" . ALLIANCE_ID . ")")
114        or die($qry->getErrorMsg());
115
116    $rosso=0x70;
117    $verde=0;
118    $blu  =0x70;
119
120    while ($row=$qry->getRow())
121        {
122        $verde+=10;
123        $blu-=10;
124        $rosso-=15;
125        $corps[$row['crp_name']]="RGB($rosso,$verde,$blu)";
126        }
127 */
128    }
129else
130    {
131    $qry->execute("SELECT crp_name FROM kb3_corps WHERE crp_id = " . CORP_ID) or die($qry->getErrorMsg());
132
133    $row=$qry->getRow();
134    $smarty->assign('IsAlly', false);
135    $smarty->assign('HomeName', $row['crp_name']);
136    }
137
138// END --
139
140// victim $smarty->assign('',);
141$smarty->assign('KillId', $kill->getID());
142$smarty->assign('VictimPortrait', $kill->getVictimPortrait(64));
143$smarty->assign('VictimURL', "?a=pilot_detail&amp;plt_id=" . $kill->getVictimID());
144$smarty->assign('VictimName', $kill->getVictimName());
145$smarty->assign('VictimCorpURL', "?a=corp_detail&amp;crp_id=" . $kill->getVictimCorpID());
146$smarty->assign('VictimCorpName', $kill->getVictimCorpName());
147$smarty->assign('VictimAllianceURL', "?a=alliance_detail&amp;all_id=" . $kill->getVictimAllianceID());
148$smarty->assign('VictimAllianceName', $kill->getVictimAllianceName());
149$smarty->assign('VictimDamageTaken', $kill->VictimDamageTaken);
150$smarty->assign('InvolvedPartyCount', $kill->getInvolvedPartyCount()); // Anne Sapyx 07/05/2008
151$smarty->assign('AllyCorps', $corps);
152
153// involved
154$i=1;
155
156$involved=array();
157$ownKill= false;
158
159foreach ($kill->involvedparties_ as $inv)
160{
161    $pilot                     =$inv->getPilot();
162    $corp                      =$inv->getCorp();
163    $alliance                  =$inv->getAlliance();
164    $ship                      =$inv->getShip();
165    $weapon                    =$inv->getWeapon();
166
167    $involved[$i]['shipImage'] =$ship->getImage(64);
168    $involved[$i]['PilotURL']  ="?a=pilot_detail&amp;plt_id=" . $pilot->getID();
169    $involved[$i]['PilotName'] =$pilot->getName();
170    $involved[$i]['CorpURL']   ="?a=corp_detail&amp;crp_id=" . $corp->getID();
171    $involved[$i]['CorpName']  =$corp->getName();
172    $involved[$i]['AlliURL']   ="?a=alliance_detail&amp;all_id=" . $alliance->getID();
173    $involved[$i]['AlliName']  =$alliance->getName();
174    $involved[$i]['ShipName']  =$ship->getName();
175    $involved[$i]['ShipID']    =$ship->externalid_;
176    $involved[$i]['damageDone']=$inv->dmgdone_;
177    $shipclass                 =$ship->getClass();
178
179    $involved[$i]['shipClass'] =$shipclass->getName();
180
181    if ($pilot->getID() == $kill->getFBPilotID())
182        {
183        $involved[$i]['FB']="true";
184        }
185    else
186        {
187        $involved[$i]['FB']="false";
188        }
189
190    if ($corp->isNPCCorp())
191        {
192        $involved[$i]['portrait']=$corp->getPortraitURL(64);
193        }
194    else
195        {
196        $involved[$i]['portrait']=$pilot->getPortraitURL(64);
197        }
198
199    if ($weapon->getName() != "Unknown" && $weapon->getName() != $ship->getName())
200        {
201        $involved[$i]['weaponName']=$weapon->getName();
202        $involved[$i]['weaponID']  =$weapon->row_['itm_externalid'];
203        }
204    else
205        $involved[$i]['weaponName']="Unknown";
206
207    // Sapyx 16/09/2008 -- from Rostik idea
208    // Update by Rostik 19/08/2008 - Add Alliance logo
209    //sapyx 29/10/2008
210    // Sapyx 16/09/2008 -- from Rostik idea
211// Update by Rostik 19/08/2008 - Add Alliance logo
212//sapyx 29/10/2008
213// Rostik 11/03/2009
214
215    $handle=@fopen("mods/apoc_fitting/ItemsList", "r");
216
217    if ($handle)
218        {
219        while (!feof($handle))
220            {
221            $ItemsArray = explode(",", fgets($handle));
222              if (strpos($involved[$i]['weaponName'], trim($ItemsArray[0])) !== FALSE)
223                  {
224                  $involved[$i]['shipImage']="img/ships/64_64/" . trim($ItemsArray[1]) . ".png";
225
226                    if ($corp->isNPCCorp()) {
227                    } else {
228                    if ($involved[$i]['CorpName'] =="None") {
229                              $aliimg                  =ereg_replace(" ", "", $involved[$i]['AlliName']);
230                              $aliimg                  =ereg_replace("\.", "", $aliimg);
231                              $aliimg                  =ereg_replace("-", "", $aliimg);
232
233                    if (file_exists("img/alliances/".$aliimg.".png")) {
234                              $involved[$i]['portrait']="img/alliances/" . $aliimg . ".png";
235                    } else {
236                         $involved[$i]['portrait']="img/alliances/default.png";}
237
238                    if ((($involved[$i]['AlliName'] == "None") || ($involved[$i]['AlliName'] == "Unknown"))) {
239                       $involved[$i]['portrait']="img/alliances/default.png";
240                       }
241
242                    } else {
243                       $involved[$i]['portrait']="img/corps/" . $corp->getID() . ".jpg";
244                           }
245                    }
246                }
247            }
248
249        fclose($handle);
250        }
251
252// END -- Sapyx Rostik & C
253
254    // END -- Sapyx Rostik & C
255
256    // Begin -- Sapyx 25-06-2008   
257    $InvAllies[$involved[$i]['AlliName']]["quantity"]+=1;
258    $InvAllies[$involved[$i]['AlliName']]["corps"][$involved[$i]['CorpName']]+=1;
259//HK    $InvShips[$involved[$i]['ShipName'] ." (" .$involved[$i]['shipClass'] .")"] += 1;
260    $InvShips[$involved[$i]['ShipName']] += 1;
261if(ALLIANCE_ID >0 && $alliance->getID()==ALLIANCE_ID) $ownKill=true;
262elseif(CORP_ID >0 && $corp->getID()==CORP_ID) $ownKill=true;
263    // End -- Sapyx 25-06-2008   
264
265    ++$i;
266    }
267if($ownKill) $smarty->assign('kill',true);
268else $smarty->assign('kill',false);
269
270$smarty->assign_by_ref('involved', $involved);
271$smarty->assign_by_ref('AlliesCount', count($InvAllies));
272$smarty->assign_by_ref('InvAllies', $InvAllies);
273$smarty->assign_by_ref('InvShips', $InvShips);
274
275if (config::get('comments'))
276    {
277    include('common/comments.php');
278    $smarty->assign('comments', $comment);
279    }
280
281// ship, ship details
282$ship=$kill->getVictimShip();
283$shipclass=$ship->getClass();
284$system=$kill->getSystem();
285
286$smarty->assign('VictimShip', $kill->getVictimShip());
287$smarty->assign('ShipClass', $ship->getClass());
288$smarty->assign('ShipImage', $ship->getImage(64));
289$smarty->assign('ShipName', $ship->getName());
290$smarty->assign('ShipID', $ship->externalid_);
291$smarty->assign('ClassName', $shipclass->getName());
292
293include_once('common/includes/class.dogma.php');
294
295$ssc=new dogma($ship->externalid_);
296
297$smarty->assign_by_ref('ssc', $ssc);
298
299if ($kill->isClassified())
300    {
301    //Admin is able to see classified Systems
302    if ($page->isAdmin())
303        {
304        if ($mapmod) {
305            $smarty->assign('SystemID', $system->getID());
306        }
307        $smarty->assign('System', $system->getName() . ' (Classified)');
308        $smarty->assign('SystemURL', "?a=system_detail&amp;sys_id=" . $system->getID());
309        $smarty->assign('SystemSecurity', $system->getSecurity(true));
310        }
311    else
312        {
313        $smarty->assign('System', 'Classified');
314        $smarty->assign('SystemURL', "");
315        $smarty->assign('SystemSecurity', '0.0');
316        }
317    }
318else
319    {
320    if ($mapmod) {
321        $smarty->assign('SystemID', $system->getID());
322    }
323    $smarty->assign('System', $system->getName());
324    $smarty->assign('SystemURL', "?a=system_detail&amp;sys_id=" . $system->getID());
325    $smarty->assign('SystemSecurity', $system->getSecurity(true));
326    }
327
328$smarty->assign('TimeStamp', $kill->getTimeStamp());
329$smarty->assign('VictimShipImg', $ship->getImage(64));
330
331if ($mapmod) {
332        if(strpos($config->get('mods_active'), 'map_mod') !== false) {
333
334        $smarty->assign('loc_active', TRUE);
335        }
336        else {
337        $smarty->assign('loc_active', FALSE);
338        }
339}
340
341// preparing slot layout
342
343$slot_array=array();
344
345$slot_array[1]=array
346    (
347    'img'   => 'icon08_11.png',
348    'text'  => 'Fitted - High slot',
349    'items' => array()
350    );
351
352$slot_array[2]=array
353    (
354    'img'   => 'icon08_10.png',
355    'text'  => 'Fitted - Mid slot',
356    'items' => array()
357    );
358
359$slot_array[3]=array
360    (
361    'img'   => 'icon08_09.png',
362    'text'  => 'Fitted - Low slot',
363    'items' => array()
364    );
365
366$slot_array[5]=array
367    (
368    'img'   => 'icon68_01.png',
369    'text'  => 'Fitted - Rig slot',
370    'items' => array()
371    );
372
373$slot_array[6]=array
374    (
375    'img'   => 'icon02_10.png',
376    'text'  => 'Drone bay',
377    'items' => array()
378    );
379
380$slot_array[4]=array
381    (
382    'img'   => 'icon03_14.png',
383    'text'  => 'Cargo Bay',
384    'items' => array()
385    );
386$slot_array[7]=array
387    (
388    'img'   => 'icon76_04.png',
389    'text'  => 'Fitted - Subsystems',
390    'items' => array()
391    );
392
393// ship fitting
394if (count($kill->destroyeditems_) > 0)
395    {
396    $dest_array=array();
397
398    foreach ($kill->destroyeditems_ as $destroyed)
399        {
400        $item = $destroyed->getItem();
401        $i_qty=$destroyed->getQuantity();
402
403        if (config::get('item_values'))
404            {
405            $value=$destroyed->getValue();
406            $TotalValue+=$value * $i_qty;
407            $formatted=$destroyed->getFormattedValue();
408            }
409
410        $i_name     =$item->getName();
411        $i_location =$destroyed->getLocationID();
412        $i_id       =$item->getID();
413        $i_usedgroup=$item->get_used_launcher_group();
414
415        $dest_array[$i_location][]=array
416            (
417            'Icon'        => $item->getIcon(32),
418            'Name'        => $i_name,
419            'Quantity'    => $i_qty,
420            'Value'       => $formatted,
421            'single_unit' => $value,
422            'itemID'      => $i_id,
423            'slotID'      => $i_location
424            );
425
426        //Fitting, KE - add destroyed items to an array of all fitted items.
427        if (($i_location != 4) && ($i_location != 5) && ($i_location != 6))
428            {
429            if (($i_usedgroup != 0))
430                {
431                if ($i_location == 1)
432                    {
433                    $i_ammo=$item->get_ammo_size($i_name);
434
435                    if ($i_usedgroup == 481)
436                        {
437                        $i_ammo=0;
438                        }
439                    }
440                else
441                    {
442                    $i_ammo=0;
443                    }
444
445                $ammo_array[$i_location][]=array
446                    (
447                    'Name'        => $i_name,
448                    'Icon'        => $item->getIcon(24),
449                    'itemID'      => $i_id,
450                    'usedgroupID' => $i_usedgroup,
451                    'size'        => $i_ammo
452                    );
453                }
454            else
455                {
456                for ($count=0; $count < $i_qty; $count++)
457                    {
458                    if ($i_location == 1)
459                        {
460                        $i_charge=$item->get_used_charge_size();
461                        }
462                    else
463                        {
464                        $i_charge=0;
465                        }
466
467                    $fitting_array[$i_location][]=array
468                        (
469                        'Name'       => $i_name,
470                        'Icon'       => $item->getIcon(32),
471                        'itemID'     => $i_id,
472                        'groupID'    => $item->get_group_id(),
473                        'chargeSize' => $i_charge
474                        );
475                    }
476                }
477            }
478        else if (($destroyed->getLocationID() == 5))
479            {
480            for ($count=0; $count < $i_qty; $count++)
481                {
482                $fitting_array[$i_location][]=array
483                    (
484                    'Name'   => $i_name,
485                    'Icon'   => $item->getIcon(32),
486                    'itemID' => $i_id
487                    );
488                }
489            }
490        //fitting thing end
491        }
492    }
493
494if (count($kill->droppeditems_) > 0)
495    {
496    $drop_array=array();
497
498    foreach ($kill->droppeditems_ as $dropped)
499        {
500        $item = $dropped->getItem();
501        $i_qty=$dropped->getQuantity();
502
503        if (config::get('item_values'))
504            {
505            $value=$dropped->getValue();
506            $dropvalue+=$value * $i_qty;
507            $formatted=$dropped->getFormattedValue();
508            }
509
510        $i_name     =$item->getName();
511        $i_location =$dropped->getLocationID();
512        $i_id       =$item->getID();
513        $i_usedgroup=$item->get_used_launcher_group();
514
515        $drop_array[$i_location][]=array
516            (
517            'Icon'        => $item->getIcon(32),
518            'Name'        => $i_name,
519            'Quantity'    => $i_qty,
520            'Value'       => $formatted,
521            'single_unit' => $value,
522            'itemID'      => $i_id,
523            'slotID'      => $i_location
524            );
525
526        //Fitting -KE, add dropped items to the list
527        if (($i_location != 4) && ($i_location != 6))
528            {
529            if (($i_usedgroup != 0))
530                {
531                if ($i_location == 1)
532                    {
533                    $i_ammo=$item->get_ammo_size($i_name);
534
535                    if ($i_usedgroup == 481)
536                        {
537                        $i_ammo=0;
538                        }
539                    }
540                else
541                    {
542                    $i_ammo=0;
543                    }
544
545                $ammo_array[$i_location][]=array
546                    (
547                    'Name'        => $i_name,
548                    'Icon'        => $item->getIcon(24),
549                    'itemID'      => $i_id,
550                    'usedgroupID' => $i_usedgroup,
551                    'size'        => $i_ammo
552                    );
553                }
554            else
555                {
556                for ($count=0; $count < $i_qty; $count++)
557                    {
558                    if ($i_location == 1)
559                        {
560                        $i_charge=$item->get_used_charge_size();
561                        }
562                    else
563                        {
564                        $i_charge=0;
565                        }
566
567                    $fitting_array[$i_location][]=array
568                        (
569                        'Name'       => $i_name,
570                        'Icon'       => $item->getIcon(32),
571                        'itemID'     => $i_id,
572                        'groupID'    => $item->get_group_id(),
573                        'chargeSize' => $i_charge
574                        );
575                    }
576                }
577            }
578        //fitting thing end
579
580        }
581    }
582
583//Fitting - KE, sort the fitted items into groupID order, so that several of the same item apear next to each other.
584if (is_array($fitting_array[1]))
585    {
586    foreach ($fitting_array[1] as $array_rowh)
587        {
588        $sort_by_nameh["groupID"][]=$array_rowh["groupID"];
589        }
590
591    array_multisort($sort_by_nameh["groupID"], SORT_ASC, $fitting_array[1]);
592    }
593
594if (is_array($fitting_array[2]))
595    {
596    foreach ($fitting_array[2] as $array_rowm)
597        {
598        $sort_by_namem["groupID"][]=$array_rowm["groupID"];
599        }
600
601    array_multisort($sort_by_namem["groupID"], SORT_ASC, $fitting_array[2]);
602    }
603
604if (is_array($fitting_array[3]))
605    {
606    foreach ($fitting_array[3] as $array_rowl)
607        {
608        $sort_by_namel["groupID"][]=$array_rowl["Name"];
609        }
610
611    array_multisort($sort_by_namel["groupID"], SORT_ASC, $fitting_array[3]);
612    }
613
614if (is_array($fitting_array[5]))
615    {
616    foreach ($fitting_array[5] as $array_rowr)
617        {
618        $sort_by_namer["Name"][]=$array_rowr["Name"];
619        }
620
621    array_multisort($sort_by_namer["Name"], SORT_ASC, $fitting_array[5]);
622    }
623       
624if (is_array($fitting_array[7]))
625    {
626    foreach ($fitting_array[7] as $array_rowr)
627        {
628        $sort_by_namer["groupID"][]=$array_rowr["groupID"];
629        }
630
631    array_multisort($sort_by_namer["groupID"], SORT_ASC, $fitting_array[7]);
632    }
633
634//Fitting - KE, sort the fitted items into name order, so that several of the same item apear next to each other. -end
635
636$length=count($ammo_array[1]);
637
638$temp=array();
639
640if (is_array($fitting_array[1]))
641    {
642    $hiammo=array();
643
644    foreach ($fitting_array[1] as $highfit)
645        {
646        $group = $highfit["groupID"];
647        $size  =$highfit["chargeSize"];
648
649        if ($group
650            == 483                          // Modulated Deep Core Miner II, Modulated Strip Miner II and Modulated Deep Core Strip Miner II
651        || $group == 53                     // Laser Turrets
652        || $group == 55                     // Projectile Turrets
653        || $group == 74                     // Hybrid Turrets
654        || ($group >= 506 && $group <= 511) // Some Missile Lauchers
655        || $group == 481                    // Probe Launchers
656        || $group == 899                    // Warp Disruption Field Generator I
657        || $group == 771                    // Heavy Assault Missile Launchers
658        || $group == 589                    // Interdiction Sphere Lauchers
659        || $group == 524                    // Citadel Torpedo Launchers
660        )
661            {
662            $found=0;
663
664            if ($group == 511)
665                {
666                $group=509;
667                } // Assault Missile Lauchers uses same ammo as Standard Missile Lauchers
668
669            if (is_array($ammo_array[1]))
670                {
671                $i=0;
672
673                while (!($found) && $i < $length)
674                    {
675                    $temp = array_shift($ammo_array[1]);
676
677                    if (($temp["usedgroupID"] == $group) && ($temp["size"] == $size))
678                        {
679                        $hiammo[]=array
680                            (
681                            'show' => $smarty->fetch(get_tpl('ammo')),
682                            'type' => $temp["Icon"]
683                            );
684
685                        $found=1;
686                        }
687
688                    array_push($ammo_array[1], $temp);
689                    $i++;
690                    }
691                }
692
693            if (!($found))
694                {
695                $hiammo[]=array
696                    (
697                    'show' => $smarty->fetch(get_tpl('ammo')),
698                    'type' => $smarty->fetch(get_tpl('noicon'))
699                    );
700                }
701            }
702        else
703            {
704            $hiammo[]=array
705                (
706                'show' => $smarty->fetch(get_tpl('blank')),
707                'type' => $smarty->fetch(get_tpl('blank'))
708                );
709            }
710        }
711    }
712
713$length=count($ammo_array[2]);
714
715if (is_array($fitting_array[2]))
716    {
717    $midammo=array();
718
719    foreach ($fitting_array[2] as $midfit)
720        {
721        $group = $midfit["groupID"];
722
723        if ($group == 76 // Capacitor Boosters
724        || $group == 208 // Remote Sensor Dampeners
725        || $group == 212 // Sensor Boosters
726        || $group == 291 // Tracking Disruptors
727        || $group == 213 // Tracking Computers
728        || $group == 209 // Tracking Links
729        || $group == 290 // Remote Sensor Boosters
730        )
731            {
732            $found=0;
733
734            if (is_array($ammo_array[2]))
735                {
736                $i=0;
737
738                while (!($found) && $i < $length)
739                    {
740                    $temp = array_shift($ammo_array[2]);
741
742                    if ($temp["usedgroupID"] == $group)
743                        {
744                        $midammo[]=array
745                            (
746                            'show' => $smarty->fetch(get_tpl('ammo')),
747                            'type' => $temp["Icon"]
748                            );
749
750                        $found=1;
751                        }
752
753                    array_push($ammo_array[2], $temp);
754                    $i++;
755                    }
756                }
757
758            if (!($found))
759                {
760                $midammo[]=array
761                    (
762                    'show' => $smarty->fetch(get_tpl('ammo')),
763                    'type' => $smarty->fetch(get_tpl('noicon'))
764                    );
765                }
766            }
767        else
768            {
769            $midammo[]=array
770                (
771                'show' => $smarty->fetch(get_tpl('blank')),
772                'type' => $smarty->fetch(get_tpl('blank'))
773                );
774            }
775        }
776    }
777
778if ($TotalValue >= 0)
779    {
780    $Formatted=number_format($TotalValue, 2);
781    }
782
783// Get Ship Value
784$ShipValue=$ship->getPrice();
785
786if (config::get('kd_droptototal'))
787    {
788    $TotalValue+=$dropvalue;
789    }
790
791$TotalLoss=number_format($TotalValue + $ShipValue, 2);
792$ShipValue=number_format($ShipValue, 2);
793$dropvalue=number_format($dropvalue, 2);
794
795$smarty->assign_by_ref('destroyed', $dest_array);
796$smarty->assign_by_ref('dropped', $drop_array);
797$smarty->assign_by_ref('slots', $slot_array);
798$smarty->assign_by_ref('fitting_high', $fitting_array[1]);
799$smarty->assign_by_ref('fitting_med', $fitting_array[2]);
800$smarty->assign_by_ref('fitting_low', $fitting_array[3]);
801$smarty->assign_by_ref('fitting_rig', $fitting_array[5]);
802$smarty->assign_by_ref('fitting_sub', $fitting_array[7]);
803$smarty->assign_by_ref('fitting_ammo_high', $hiammo);
804$smarty->assign_by_ref('fitting_ammo_mid', $midammo);
805$smarty->assign('ItemValue', $Formatted);
806$smarty->assign('DropValue', $dropvalue);
807$smarty->assign('ShipValue', $ShipValue);
808$smarty->assign('TotalLoss', $TotalLoss);
809
810$hicount =count($fitting_array[1]);
811$medcount=count($fitting_array[2]);
812$lowcount=count($fitting_array[3]);
813
814$smarty->assign('hic', $hicount);
815$smarty->assign('medc', $medcount);
816$smarty->assign('lowc', $lowcount);
817
818$menubox=new Box("Menu");
819$menubox->setIcon("menu-item.gif");
820$menubox->addOption("caption", "View");
821$menubox->addOption("link",
822                    "Killmail",
823                    "javascript:sndReq('index.php?a=kill_mail&amp;kll_id=" . $kill->getID()
824                        . "');ReverseContentDisplay('popup')");
825
826if (config::get('apocfitting_showeft')) {
827$menubox->addOption("link",
828                    "EFT Fitting",
829                    "javascript:sndReq('index.php?a=eft_fitting&amp;kll_id=" . $kill->getID()
830                        . "');ReverseContentDisplay('popup')");
831}
832
833if (config::get('apocfitting_showeft2eve')) {
834$menubox->addOption("link", "EFT To EVE", "javascript:sndReq('index.php?a=convertinkilldetail');ReverseContentDisplay('popup')");
835}
836
837if ($kill->relatedKillCount() > 1 || $kill->relatedLossCount() > 1 ||
838        ((ALLIANCE_ID || CORP_ID || PILOT_ID) && $kill->relatedKillCount() + $kill->relatedLossCount() > 1))
839{
840        $menubox->addOption("link", "Related kills (" . $kill->relatedKillCount() . "/" . $kill->relatedLossCount() . ")",
841                                        "?a=kill_related&amp;kll_id=" . $kill->getID());
842}
843
844if ($page->isAdmin())
845    {
846    $menubox->addOption("caption", "Admin");
847    $menubox->addOption("link",
848                        "Delete",
849                        "javascript:openWindow('?a=admin_kill_delete&amp;kll_id=" . $kill->getID()
850                            . "', null, 420, 300, '' );");
851
852    if (isset($_GET['view']) && $_GET['view'] == 'FixSlot')
853        {
854        $menubox->addOption("link", "Adjust Values", "?a=kill_detail&kll_id=" . $kill->getID() . "");
855        }
856    else
857        {
858        $menubox->addOption("link", "Fix Slots", "?a=kill_detail&amp;kll_id=" . $kill->getID() . "&amp;view=FixSlot");
859        }
860    }
861
862$page->addContext($menubox->generate());
863
864if (config::get('kill_points'))
865    {
866    $scorebox=new Box("Points");
867    $scorebox->addOption("points", $kill->getKillPoints());
868    $page->addContext($scorebox->generate());
869    }
870
871// Final Blow/Top Damage Dealer - Begin (Ben Thomas - 17/05/09)
872if ($showbox) {
873$topdamage = $involved;
874
875class FBlowBox
876{
877
878    function generate()
879    {
880        global $smarty;
881        return $smarty->fetch('../mods/apoc_fitting/damage_box.tpl');
882    }
883}
884
885function multi_sort(&$array, $key) {
886    usort($array,create_function('$a,$b','if ($a["'.$key.'"] == $b["'.$key.'"]) return 0;' .'return ($a["'.$key.'"] > $b["'.$key.'"]) ? -1 : 1;'));
887}
888
889multi_sort($topdamage,"damageDone");
890$topdamage = array_slice($topdamage, 0, 1);
891$smarty->assign('topdamage', $topdamage);
892
893$finalblow = new FBlowBox();
894$page->addContext($finalblow->generate());
895}
896// Final Blow/Top Damage Dealer - End
897
898//Admin is able to see classsified systems
899if ((!$kill->isClassified()) || ($page->isAdmin()))
900    {
901        if (!$sidemap) {
902            $mapbox=new Box("Map");
903            $mapbox->addOption("img", "?a=mapview&amp;sys_id=" . $system->getID() . "&amp;mode=map&amp;size=145");
904            $mapbox->addOption("img", "?a=mapview&amp;sys_id=" . $system->getID() . "&amp;mode=region&amp;size=145");
905            $mapbox->addOption("img", "?a=mapview&amp;sys_id=" . $system->getID() . "&amp;mode=cons&amp;size=145");
906            $page->addContext($mapbox->generate());
907        }
908    }
909
910$html.=$smarty->fetch('../mods/apoc_fitting/kill_detail.tpl');
911
912$html.='</br><hr><!-- <div style="font-size: 10px;"><b><a href="http://eve-id.net/forum/viewtopic.php?f=505&t=14696" style="color: lightgreen;" target="_blank">Apoc Fitting v2.0</a> (2009 - <a href="http://www.btcentral.org.uk/" style="color: lightgreen;" target="_blank">Ben Thomas</a>)</div> -->';
913
914$page->setContent($html);
915$page->generate();
916?>
Note: See TracBrowser for help on using the browser.