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

Revision 376, 28.8 KB (checked in by kovell, 11 years ago)

MyISAM can be selected again on install
duplicate item descriptions removed from install
alliance/corp/pilot optional installs now have external id and correct structure
alliance/corp/pilot/kill details can be selected by external id
corp/alliance/kill now have get and set methods for external ids
killlist has method to select only kills with an external id set
monthly views mod now shows clock and combined kills if selected
optimisations and fixes to killlists and toplists

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