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

Revision 392, 29.1 KB (checked in by kovell, 12 years ago)

Fixes: rss feed no longer shows classified kills, default banner corrected. Derelict code removed. Code streamlined. Summary tables moved to a template.

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