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

Revision 388, 28.8 KB (checked in by kovell, 13 years ago)

Page cache fixes for comments.
refresh no longer reposts comment.
comments display again.
304 sent for refresh of cached pages.
html fixes

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