root/dev/common/alliance_detail.php @ 172

Revision 172, 14.7 KB (checked in by Mitchman, 16 years ago)

violent systems on the alliance details added

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