root/dev/common/corp_detail.php @ 233

Revision 233, 15.9 KB (checked in by ralle030583, 15 years ago)

- changed summarytable format to 5 rows each cause of cap. industrial
- bugfix in autoupgrade of navigation table (Kills were linked to Home :-/)
- added chk_cap_industrial to autoupgrade
- added Capital Industrial to sql install files

Line 
1<?php
2require_once('common/includes/class.corp.php');
3require_once('common/includes/class.alliance.php');
4require_once('common/includes/class.killlist.php');
5require_once('common/includes/class.killlisttable.php');
6require_once('common/includes/class.killsummarytable.php');
7require_once('common/includes/class.toplist.php');
8
9if (!$crp_id = intval($_GET['crp_id']))
10{
11    echo 'no valid corp id specified<br/>';
12    exit;
13}
14$all_id = $_GET['all_id'];
15$corp = new Corporation($crp_id);
16$alliance = $corp->getAlliance();
17
18$kill_summary = new KillSummaryTable();
19$kill_summary->addInvolvedCorp($corp);
20$kill_summary->setBreak(5);
21$summary_html = $kill_summary->generate();
22
23$page = new Page('Corporation details - '.$corp->getName());
24$html .= "<table class=kb-table width=\"100%\" border=\"0\" cellspacing=1><tr class=kb-table-row-even><td rowspan=8 width=128 align=center bgcolor=black>";
25
26if (file_exists("img/corps/".$corp->getID().".jpg"))
27{
28    $html .= "<img src=\"".$corp->getPortraitURL(128)."\" border=\"0\"></td>";
29}
30else
31{
32    $html .= "<img src=\"" . IMG_URL . "/campaign-big.gif\" border=\"0\"></td>";
33}
34
35$html .= "<td class=kb-table-cell width=180><b>Alliance:</b></td><td class=kb-table-cell>";
36if ($alliance->getName() == "Unknown" || $alliance->getName() == "None")
37{
38    $html .= "<b>".$alliance->getName()."</b>";
39}
40else
41{
42    $html .= "<a href=\"?a=alliance_detail&all_id=".$alliance->getID()."\">".$alliance->getName()."</a>";
43}
44$html .= "</td></tr>";
45$html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Kills:</b></td><td class=kl-kill>".$kill_summary->getTotalKills()."</td></tr>";
46$html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Losses:</b></td><td class=kl-loss>".$kill_summary->getTotalLosses()."</td></tr>";
47$html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Damage done (ISK):</b></td><td class=kl-kill>".round($kill_summary->getTotalKillISK()/1000000, 2)."M</td></tr>";
48$html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Damage received (ISK):</b></td><td class=kl-loss>".round($kill_summary->getTotalLossISK()/1000000, 2)."M</td></tr>";
49if ($kill_summary->getTotalKillISK())
50{
51    $efficiency = round($kill_summary->getTotalKillISK() / ($kill_summary->getTotalKillISK() + $kill_summary->getTotalLossISK()) * 100, 2);
52}
53else
54{
55    $efficiency = 0;
56}
57
58$html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Efficiency:</b></td><td class=kb-table-cell><b>" . $efficiency . "%</b></td></tr>";
59$html .= "</table>";
60$html .= "<br/>";
61
62if ($_GET['view'] == "" || $_GET['view'] == "kills" || $_GET['view'] == "losses")
63{
64    $html .= $summary_html;
65}
66
67switch ($_GET['view'])
68{
69    case "":
70        $html .= "<div class=kb-kills-header>10 Most recent kills</div>";
71
72        $list = new KillList();
73        $list->setOrdered(true);
74        $list->setLimit(10);
75        $list->setPodsNoobships(true);
76        $list->addInvolvedCorp($corp);
77        if ($_GET['scl_id'])
78            $list->addVictimShipClass(new ShipClass($_GET['scl_id']));
79
80        $ktab = new KillListTable($list);
81        $ktab->setLimit(10);
82        $ktab->setDayBreak(false);
83        $html .= $ktab->generate();
84
85        $html .= "<div class=kb-losses-header>10 Most recent losses</div>";
86
87        $list = new KillList();
88        $list->setOrdered(true);
89        $list->setLimit(10);
90        $list->setPodsNoobships(true);
91        $list->addVictimCorp($corp);
92        if ($_GET['scl_id'])
93            $list->addVictimShipClass(new ShipClass($_GET['scl_id']));
94
95        $ltab = new KillListTable($list);
96        $ltab->setLimit(10);
97        $ltab->setDayBreak(false);
98        $html .= $ltab->generate();
99
100        break;
101    case "kills":
102        $html .= "<div class=kb-kills-header>All kills</div>";
103
104        $list = new KillList();
105        $list->setOrdered(true);
106        $list->addInvolvedCorp($corp);
107        if ($_GET['scl_id'])
108            $list->addVictimShipClass(new ShipClass($_GET['scl_id']));
109        $pagesplitter = new PageSplitter($list->getCount(), 30);
110        $list->setPageSplitter($pagesplitter);
111        $table = new KillListTable($list);
112        $table->setDayBreak(false);
113        $html .= $table->generate();
114        $html .= $pagesplitter->generate();
115
116        break;
117    case "losses":
118        $html .= "<div class=kb-losses-header>All losses</div>";
119
120        $list = new KillList();
121        $list->setOrdered(true);
122        $list->setPodsNoobships(true);
123        $list->addVictimCorp($corp);
124        if ($_GET['scl_id'])
125            $list->addVictimShipClass(new ShipClass($_GET['scl_id']));
126        $pagesplitter = new PageSplitter($list->getCount(), 30);
127        $list->setPageSplitter($pagesplitter);
128
129        $table = new KillListTable($list);
130        $table->setDayBreak(false);
131        $html .= $table->generate();
132        $html .= $pagesplitter->generate();
133
134        break;
135    case "pilot_kills":
136        $html .= "<div class=block-header2>Top killers</div>";
137
138        $html .= "<table class=kb-subtable><tr><td valign=top width=440>";
139        $html .= "<div class=block-header>This month</div>";
140
141        $list = new TopKillsList();
142        $list->addInvolvedCorp($corp);
143        $list->setPodsNoobShips(false);
144        $list->setMonth(kbdate("m"));
145        $list->setYear(kbdate("Y"));
146        $table = new TopPilotTable($list, "Kills");
147        $html .= $table->generate();
148
149        $html .= "</td><td valign=top width=400>";
150        $html .= "<div class=block-header>All time</div>";
151
152        $list = new TopKillsList();
153        $list->addInvolvedCorp($corp);
154        $list->setPodsNoobShips(false);
155        $table = new TopPilotTable($list, "Kills");
156        $html .= $table->generate();
157
158        $html .= "</td></tr></table>";
159
160        break;
161    case "pilot_scores":
162        $html .= "<div class=block-header2>Top scorers</div>";
163
164        $html .= "<table class=kb-subtable><tr><td valign=top width=440>";
165        $html .= "<div class=block-header>This month</div>";
166
167        $list = new TopScoreList();
168        $list->addInvolvedCorp($corp);
169        $list->setPodsNoobShips(true);
170        $list->setMonth(kbdate("m"));
171        $list->setYear(kbdate("Y"));
172        $table = new TopPilotTable($list, "Points");
173        $html .= $table->generate();
174
175        $html .= "</td><td valign=top width=400>";
176        $html .= "<div class=block-header>All time</div>";
177
178        $list = new TopScoreList();
179        $list->addInvolvedCorp($corp);
180        $list->setPodsNoobShips(true);
181        $table = new TopPilotTable($list, "Points");
182        $html .= $table->generate();
183
184        $html .= "</td></tr></table>";
185
186        break;
187    case "pilot_solo":
188        $html .= "<div class=block-header2>Top solokillers</div>";
189
190        $html .= "<table class=kb-subtable><tr><td valign=top width=440>";
191        $html .= "<div class=block-header>This month</div>";
192
193        $list = new TopSoloKillerList();
194        $list->addInvolvedCorp($corp);
195        $list->setPodsNoobShips(false);
196        $list->setMonth(kbdate("m"));
197        $list->setYear(kbdate("Y"));
198        $table = new TopPilotTable($list, "Solokills");
199        $html .= $table->generate();
200
201        $html .= "</td><td valign=top width=400>";
202        $html .= "<div class=block-header>All time</div>";
203
204        $list = new TopSoloKillerList();
205        $list->addInvolvedCorp($corp);
206        $list->setPodsNoobShips(false);
207        $table = new TopPilotTable($list, "Solokills");
208        $html .= $table->generate();
209
210        $html .= "</td></tr></table>";
211
212        break;
213
214    case "pilot_damage":
215        $html .= "<div class=block-header2>Top damagedealers</div>";
216
217        $html .= "<table class=kb-subtable><tr><td valign=top width=440>";
218        $html .= "<div class=block-header>This month</div>";
219
220        $list = new TopDamageDealerList();
221        $list->addInvolvedCorp($corp);
222        $list->setPodsNoobShips(false);
223        $list->setMonth(kbdate("m"));
224        $list->setYear(kbdate("Y"));
225        $table = new TopPilotTable($list, "Kills");
226        $html .= $table->generate();
227
228        $html .= "</td><td valign=top width=400>";
229        $html .= "<div class=block-header>All time</div>";
230
231        $list = new TopDamageDealerList();
232        $list->addInvolvedCorp($corp);
233        $list->setPodsNoobShips(false);
234        $table = new TopPilotTable($list, "Kills");
235        $html .= $table->generate();
236
237        $html .= "</td></tr></table>";
238
239        break;
240
241    case "pilot_griefer":
242        $html .= "<div class=block-header2>Top griefers</div>";
243
244        $html .= "<table class=kb-subtable><tr><td valign=top width=440>";
245        $html .= "<div class=block-header>This month</div>";
246
247        $list = new TopGrieferList();
248        $list->addInvolvedCorp($corp);
249        $list->setMonth(kbdate("m"));
250        $list->setYear(kbdate("Y"));
251        $table = new TopPilotTable($list, "Kills");
252        $html .= $table->generate();
253
254        $html .= "</td><td valign=top width=400>";
255        $html .= "<div class=block-header>All time</div>";
256
257        $list = new TopGrieferList();
258        $list->addInvolvedCorp($corp);
259        $table = new TopPilotTable($list, "Kills");
260        $html .= $table->generate();
261
262        $html .= "</td></tr></table>";
263
264        break;
265
266    case "pilot_losses":
267        $html .= "<div class=block-header2>Top losers</div>";
268
269        $html .= "<table class=kb-subtable><tr><td valign=top width=440>";
270        $html .= "<div class=block-header>This month</div>";
271
272        $list = new TopLossesList();
273        $list->addVictimCorp($corp);
274        $list->setPodsNoobShips(false);
275        $list->setMonth(kbdate("m"));
276        $list->setYear(kbdate("Y"));
277        $table = new TopPilotTable($list, "Losses");
278        $html .= $table->generate();
279
280        $html .= "</td><td valign=top width=400>";
281        $html .= "<div class=block-header>All time</div>";
282
283        $list = new TopLossesList();
284        $list->addVictimCorp($corp);
285        $list->setPodsNoobShips(false);
286        $table = new TopPilotTable($list, "Losses");
287        $html .= $table->generate();
288
289        $html .= "</td></tr></table>";
290
291        break;
292    case "ships_weapons":
293        $html .= "<div class=block-header2>Ships & weapons used</div>";
294
295        $html .= "<table class=kb-subtable><tr><td valign=top width=400>";
296        $shiplist = new TopShipList();
297        $shiplist->addInvolvedCorp($corp);
298        $shiplisttable = new TopShipListTable($shiplist);
299        $html .= $shiplisttable->generate();
300        $html .= "</td><td valign=top align=right width=400>";
301
302        $weaponlist = new TopWeaponList();
303        $weaponlist->addInvolvedCorp($corp);
304        $weaponlisttable = new TopWeaponListTable($weaponlist);
305        $html .= $weaponlisttable->generate();
306        $html .= "</td></tr></table>";
307
308        break;
309    case 'violent_systems':
310        $html .= "<div class=block-header2>Most violent systems</div>";
311        $html .= "<table width=\"99%\"><tr><td align=center valign=top>";
312
313        $html .= "<div class=block-header>This month</div>";
314        $html .= "<table class=kb-table>";
315        $html .= "<tr class=kb-table-header><td>#</td><td width=180>System</td><td width=40 align=center >Kills</td></tr>";
316
317        $sql = "select sys.sys_name, sys.sys_sec, sys.sys_id, count(distinct kll.kll_id) as kills
318                    from kb3_systems sys, kb3_kills kll, kb3_inv_detail inv
319                    where kll.kll_system_id = sys.sys_id
320                    and inv.ind_kll_id = kll.kll_id";
321
322        if ($crp_id)
323            $sql .= " and inv.ind_crp_id in (".$crp_id.")";
324        if ($all_id)
325            $sql .= " and inv.ind_all_id = ".$all_id;
326
327        $sql .= "   and date_format( kll.kll_timestamp, \"%c\" ) = ".kbdate("m")."
328                    and date_format( kll.kll_timestamp, \"%Y\" ) = ".kbdate("Y")."
329                    group by sys.sys_name
330                    order by kills desc
331                    limit 25";
332
333        $qry = new DBQuery();
334        $qry->execute($sql);
335        $odd = false;
336        $counter = 1;
337        while ($row = $qry->getRow())
338        {
339            if (!$odd)
340            {
341                $odd = true;
342                $rowclass = 'kb-table-row-odd';
343            }
344            else
345            {
346                $odd = false;
347                $rowclass = 'kb-table-row-even';
348            }
349
350            $html .= "<tr class=".$rowclass."><td><b>".$counter.".</b></td><td class=kb-table-cell width=180><b><a href=\"?a=system_detail&amp;sys_id=".$row['sys_id']."\">".$row['sys_name']."</a></b> (".roundsec($row['sys_sec']).")</td><td align=center>".$row['kills']."</td></tr>";
351            $counter++;
352        }
353
354        $html .= "</table>";
355
356        $html .= "</td><td align=center valign=top>";
357        $html .= "<div class=block-header>All-Time</div>";
358        $html .= "<table class=kb-table>";
359        $html .= "<tr class=kb-table-header><td>#</td><td width=180>System</td><td width=40 align=center>Kills</td></tr>";
360
361        $sql = "select sys.sys_name, sys.sys_id, sys.sys_sec, count(distinct kll.kll_id) as kills
362                    from kb3_systems sys, kb3_kills kll, kb3_inv_detail inv
363                    where kll.kll_system_id = sys.sys_id
364                    and inv.ind_kll_id = kll.kll_id";
365
366        if ($crp_id)
367            $sql .= " and inv.ind_crp_id in (".$crp_id.")";
368        if ($all_id)
369            $sql .= " and inv.ind_all_id = ".$all_id;
370
371        $sql .= " group by sys.sys_name
372                    order by kills desc
373                    limit 25";
374
375        $qry = new DBQuery();
376        $qry->execute($sql);
377        $odd = false;
378        $counter = 1;
379        while ($row = $qry->getRow())
380        {
381            if (!$odd)
382            {
383                $odd = true;
384                $rowclass = 'kb-table-row-odd';
385            }
386            else
387            {
388                $odd = false;
389                $rowclass = 'kb-table-row-even';
390            }
391
392            $html .= "<tr class=".$rowclass."><td><b>".$counter.".</b></td><td class=kb-table-cell><b><a href=\"?a=system_detail&amp;sys_id=".$row['sys_id']."\">".$row['sys_name']."</a></b> (".roundsec($row['sys_sec']).")</td><td align=center>".$row['kills']."</td></tr>";
393            $counter++;
394        }
395        $html .= "</table>";
396        $html .= "</td></tr></table>";
397        break;
398}
399
400$menubox = new box("Menu");
401$menubox->setIcon("menu-item.gif");
402$menubox->addOption("caption","Kills & losses");
403$menubox->addOption("link","Recent activity", "?a=corp_detail&crp_id=" . $corp->getID());
404$menubox->addOption("link","Kills", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=kills");
405$menubox->addOption("link","Losses", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=losses");
406$menubox->addOption("caption","Pilot statistics");
407$menubox->addOption("link","Top killers", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=pilot_kills");
408
409$killboard = $page->killboard_;
410if (config::get('kill_points'))
411    $menubox->addOption("link","Top scorers", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=pilot_scores");
412$menubox->addOption("link","Top solokillers", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=pilot_solo");
413$menubox->addOption("link","Top damagedealers", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=pilot_damage");
414$menubox->addOption("link","Top griefers", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=pilot_griefer");
415$menubox->addOption("link","Top losers", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=pilot_losses");
416$menubox->addOption("caption","Global statistics");
417$menubox->addOption("link","Ships & weapons", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=ships_weapons");
418$menubox->addOption("link","Most violent systems", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=violent_systems");
419$page->addContext($menubox->generate());
420$page->setContent($html);
421$page->generate();
422?>
Note: See TracBrowser for help on using the browser.