root/dev/mods/known_members/corp_detail.php @ 205

Revision 205, 19.8 KB (checked in by ralle030583, 13 years ago)

- fixed include in install step 4
- fixed small error page class which cause that standings-link isnt show when standings are activated
- fixed number format in known_members mod corp_detail

Line 
1<?php
2require_once("common/includes/db.php");
3require_once("common/includes/class.page.php");
4require_once("common/includes/class.corp.php");
5require_once("common/includes/class.alliance.php");
6require_once("common/includes/class.killlist.php");
7require_once("common/includes/class.killlisttable.php");
8require_once("common/includes/class.killsummarytable.php");
9require_once("common/includes/class.box.php");
10require_once("common/includes/class.toplist.php");
11require_once("common/includes/class.pilot.php");
12
13
14if (!$crp_id = intval($_GET['crp_id']))
15{
16    echo 'no valid corp id specified<br/>';
17    exit;
18}
19$all_id = $_GET['all_id'];
20$corp = new Corporation($crp_id);
21$alliance = $corp->getAlliance();
22
23$klist = new KillList();
24$tklist = new KillList();
25$llist = new KillList();
26$klist->addInvolvedCorp($corp);
27$tklist->addInvolvedCorp($corp);
28$tklist->setPodsNoobShips(false);
29$llist->addVictimCorp($corp);
30$klist->getAllKills();
31$llist->getAllKills();
32
33$page = new Page("Corporation details - " . $corp->getName());
34$html .= "<table class=kb-table width=\"100%\" border=\"0\" cellspacing=1><tr class=kb-table-row-even><td rowspan=8 width=128 align=center>";
35
36if (file_exists("img/corps/".$corp->getID().".jpg"))
37{
38    $html .= "<img src=\"".$corp->getPortraitURL(128)."\" border=\"0\"></td>";
39}
40else
41{
42    $html .= "<img src=\"" . IMG_URL . "/campaign-big.gif\" border=\"0\"></td>";
43}
44
45// $html .= "</tr>";
46$html .= "<td class=kb-table-cell width=180><b>Alliance:</b></td><td class=kb-table-cell>";
47if ($alliance->getName() == "Unknown" || $alliance->getName() == "None")
48    $html .= "<b>" . $alliance->getName() . "</b>";
49else
50    $html .= "<a href=\"?a=alliance_detail&all_id=" . $alliance->getID() . "\">" . $alliance->getName() . "</a>";
51$html .= "</td></tr>";
52$html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Kills:</b></td><td class=kl-kill>" . $klist->getCount() . "</td></tr>";
53$html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Real kills:</b></td><td class=kl-kill>" . $tklist->getCount() . "</td></tr>";
54$html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Losses:</b></td><td class=kl-loss>" . $llist->getCount() . "</td></tr>";
55$html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Damage done (ISK):</b></td><td class=kl-kill>" . round($klist->getISK()/1000000,2) . "M</td></tr>";
56$html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Damage received (ISK):</b></td><td class=kl-loss>" . round($llist->getISK()1000000,2) . "M</td></tr>";
57if ($klist->getISK())
58    $efficiency = round($klist->getISK() / ($klist->getISK() + $llist->getISK()) * 100, 2);
59else
60    $efficiency = 0;
61
62$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>";
63
64$html .= "</table>";
65
66$html .= "<br/>";
67
68if ($_GET['view'] == "" || $_GET['view'] == "kills" || $_GET['view'] == "losses")
69{
70    $summarytable = new KillSummaryTable($klist, $llist);
71    $summarytable->setBreak(6);
72
73    $html .= $summarytable->generate();
74}
75
76switch ($_GET['view'])
77{
78    case "":
79        $html .= "<div class=kb-kills-header>10 Most recent kills</div>";
80
81        $list = new KillList();
82        $list->setOrdered(true);
83        $list->setLimit(10);
84        $list->setPodsNoobships(true);
85        $list->addInvolvedCorp($corp);
86        if ($_GET['scl_id'])
87            $list->addVictimShipClass(new ShipClass($_GET['scl_id']));
88
89        $ktab = new KillListTable($list);
90        $ktab->setLimit(10);
91        $ktab->setDayBreak(false);
92        $html .= $ktab->generate();
93
94        $html .= "<div class=kb-losses-header>10 Most recent losses</div>";
95
96        $list = new KillList();
97        $list->setOrdered(true);
98        $list->setLimit(10);
99        $list->setPodsNoobships(true);
100        $list->addVictimCorp($corp);
101        if ($_GET['scl_id'])
102            $list->addVictimShipClass(new ShipClass($_GET['scl_id']));
103
104        $ltab = new KillListTable($list);
105        $ltab->setLimit(10);
106        $ltab->setDayBreak(false);
107        $html .= $ltab->generate();
108
109        break;
110    case "kills":
111        $html .= "<div class=kb-kills-header>All kills</div>";
112
113        $list = new KillList();
114        $list->setOrdered(true);
115        $list->addInvolvedCorp($corp);
116        if ($_GET['scl_id'])
117            $list->addVictimShipClass(new ShipClass($_GET['scl_id']));
118        $pagesplitter = new PageSplitter($list->getCount(), 30);
119        $list->setPageSplitter($pagesplitter);
120        $table = new KillListTable($list);
121        $table->setDayBreak(false);
122        $html .= $table->generate();
123        $html .= $pagesplitter->generate();
124
125        break;
126    case "losses":
127        $html .= "<div class=kb-losses-header>All losses</div>";
128
129        $list = new KillList();
130        $list->setOrdered(true);
131        $list->setPodsNoobships(true);
132        $list->addVictimCorp($corp);
133        if ($_GET['scl_id'])
134            $list->addVictimShipClass(new ShipClass($_GET['scl_id']));
135        $pagesplitter = new PageSplitter($list->getCount(), 30);
136        $list->setPageSplitter($pagesplitter);
137
138        $table = new KillListTable($list);
139        $table->setDayBreak(false);
140        $html .= $table->generate();
141        $html .= $pagesplitter->generate();
142
143        break;
144    case "pilot_kills":
145        $html .= "<div class=block-header2>Top killers</div>";
146
147        $html .= "<table class=kb-subtable><tr><td valign=top width=440>";
148        $html .= "<div class=block-header>This month</div>";
149
150        $list = new TopKillsList();
151        $list->addInvolvedCorp($corp);
152        $list->setPodsNoobShips(false);
153        $list->setMonth(date("m"));
154        $list->setYear(date("Y"));
155        $table = new TopPilotTable($list, "Kills");
156        $html .= $table->generate();
157
158        $html .= "</td><td valign=top width=400>";
159        $html .= "<div class=block-header>All time</div>";
160
161        $list = new TopKillsList();
162        $list->addInvolvedCorp($corp);
163        $list->setPodsNoobShips(false);
164        $table = new TopPilotTable($list, "Kills");
165        $html .= $table->generate();
166
167        $html .= "</td></tr></table>";
168
169        break;
170    case "pilot_scores":
171        $html .= "<div class=block-header2>Top scorers</div>";
172
173        $html .= "<table class=kb-subtable><tr><td valign=top width=440>";
174        $html .= "<div class=block-header>This month</div>";
175
176        $list = new TopScoreList();
177        $list->addInvolvedCorp($corp);
178        $list->setPodsNoobShips(false);
179        $list->setMonth(date("m"));
180        $list->setYear(date("Y"));
181        $table = new TopPilotTable($list, "Points");
182        $html .= $table->generate();
183
184        $html .= "</td><td valign=top width=400>";
185        $html .= "<div class=block-header>All time</div>";
186
187        $list = new TopScoreList();
188        $list->addInvolvedCorp($corp);
189        $list->setPodsNoobShips(false);
190        $table = new TopPilotTable($list, "Points");
191        $html .= $table->generate();
192
193        $html .= "</td></tr></table>";
194
195        break;
196    case "pilot_solo":
197        $html .= "<div class=block-header2>Top solokillers</div>";
198
199        $html .= "<table class=kb-subtable><tr><td valign=top width=440>";
200        $html .= "<div class=block-header>This month</div>";
201
202        $list = new TopSoloKillerList();
203        $list->addInvolvedCorp($corp);
204        $list->setPodsNoobShips(false);
205        $list->setMonth(date("m"));
206        $list->setYear(date("Y"));
207        $table = new TopPilotTable($list, "Solokills");
208        $html .= $table->generate();
209
210        $html .= "</td><td valign=top width=400>";
211        $html .= "<div class=block-header>All time</div>";
212
213        $list = new TopSoloKillerList();
214        $list->addInvolvedCorp($corp);
215        $list->setPodsNoobShips(false);
216        $table = new TopPilotTable($list, "Solokills");
217        $html .= $table->generate();
218
219        $html .= "</td></tr></table>";
220
221        break;
222
223    case "pilot_damage":
224        $html .= "<div class=block-header2>Top damagedealers</div>";
225
226        $html .= "<table class=kb-subtable><tr><td valign=top width=440>";
227        $html .= "<div class=block-header>This month</div>";
228
229        $list = new TopDamageDealerList();
230        $list->addInvolvedCorp($corp);
231        $list->setPodsNoobShips(false);
232        $list->setMonth(date("m"));
233        $list->setYear(date("Y"));
234        $table = new TopPilotTable($list, "Kills");
235        $html .= $table->generate();
236
237        $html .= "</td><td valign=top width=400>";
238        $html .= "<div class=block-header>All time</div>";
239
240        $list = new TopDamageDealerList();
241        $list->addInvolvedCorp($corp);
242        $list->setPodsNoobShips(false);
243        $table = new TopPilotTable($list, "Kills");
244        $html .= $table->generate();
245
246        $html .= "</td></tr></table>";
247
248        break;
249
250    case "pilot_griefer":
251        $html .= "<div class=block-header2>Top griefers</div>";
252
253        $html .= "<table class=kb-subtable><tr><td valign=top width=440>";
254        $html .= "<div class=block-header>This month</div>";
255
256        $list = new TopGrieferList();
257        $list->addInvolvedCorp($corp);
258        $list->setMonth(date("m"));
259        $list->setYear(date("Y"));
260        $table = new TopPilotTable($list, "Kills");
261        $html .= $table->generate();
262
263        $html .= "</td><td valign=top width=400>";
264        $html .= "<div class=block-header>All time</div>";
265
266        $list = new TopGrieferList();
267        $list->addInvolvedCorp($corp);
268        $table = new TopPilotTable($list, "Kills");
269        $html .= $table->generate();
270
271        $html .= "</td></tr></table>";
272
273        break;
274
275    case "pilot_losses":
276        $html .= "<div class=block-header2>Top losers</div>";
277
278        $html .= "<table class=kb-subtable><tr><td valign=top width=440>";
279        $html .= "<div class=block-header>This month</div>";
280
281        $list = new TopLossesList();
282        $list->addVictimCorp($corp);
283        $list->setPodsNoobShips(false);
284        $list->setMonth(date("m"));
285        $list->setYear(date("Y"));
286        $table = new TopPilotTable($list, "Losses");
287        $html .= $table->generate();
288
289        $html .= "</td><td valign=top width=400>";
290        $html .= "<div class=block-header>All time</div>";
291
292        $list = new TopLossesList();
293        $list->addVictimCorp($corp);
294        $list->setPodsNoobShips(false);
295        $table = new TopPilotTable($list, "Losses");
296        $html .= $table->generate();
297
298        $html .= "</td></tr></table>";
299
300        break;
301    case "ships_weapons":
302        $html .= "<div class=block-header2>Ships & weapons used</div>";
303
304        $html .= "<table class=kb-subtable><tr><td valign=top width=400>";
305        $shiplist = new TopShipList();
306        $shiplist->addInvolvedCorp($corp);
307        $shiplisttable = new TopShipListTable($shiplist);
308        $html .= $shiplisttable->generate();
309        $html .= "</td><td valign=top align=right width=400>";
310
311        $weaponlist = new TopWeaponList();
312        $weaponlist->addInvolvedCorp($corp);
313        $weaponlisttable = new TopWeaponListTable($weaponlist);
314        $html .= $weaponlisttable->generate();
315        $html .= "</td></tr></table>";
316
317        break;
318               
319    case 'violent_systems':
320        $html .= "<div class=block-header2>Most violent systems</div>";
321        $html .= "<table width=\"99%\"><tr><td align=center valign=top>";
322
323        $html .= "<div class=block-header>This month</div>";
324        $html .= "<table class=kb-table>";
325        $html .= "<tr class=kb-table-header><td>#</td><td width=180>System</td><td width=40 align=center >Kills</td></tr>";
326
327        $sql = "select sys.sys_name, sys.sys_sec, sys.sys_id, count(distinct kll.kll_id) as kills
328                    from kb3_systems sys, kb3_kills kll, kb3_inv_detail inv
329                    where kll.kll_system_id = sys.sys_id
330                    and inv.ind_kll_id = kll.kll_id";
331
332        if ($crp_id)
333            $sql .= " and inv.ind_crp_id in (".$crp_id.")";
334        if (ALLIANCE_ID)
335            $sql .= " and inv.ind_all_id = ".ALLIANCE_ID;
336
337        $sql .= "   and date_format( kll.kll_timestamp, \"%c\" ) = ".date("m")."
338                    and date_format( kll.kll_timestamp, \"%Y\" ) = ".date("Y")."
339                    group by sys.sys_name
340                    order by kills desc
341                    limit 25";
342
343        $qry = new DBQuery();
344        $qry->execute($sql);
345        $odd = false;
346        $counter = 1;
347        while ($row = $qry->getRow())
348        {
349            if (!$odd)
350            {
351                $odd = true;
352                $rowclass = 'kb-table-row-odd';
353            }
354            else
355            {
356                $odd = false;
357                $rowclass = 'kb-table-row-even';
358            }
359
360            $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>";
361            $counter++;
362        }
363
364        $html .= "</table>";
365
366        $html .= "</td><td align=center valign=top>";
367        $html .= "<div class=block-header>All-Time</div>";
368        $html .= "<table class=kb-table>";
369        $html .= "<tr class=kb-table-header><td>#</td><td width=180>System</td><td width=40 align=center>Kills</td></tr>";
370
371        $sql = "select sys.sys_name, sys.sys_id, sys.sys_sec, count(distinct kll.kll_id) as kills
372                    from kb3_systems sys, kb3_kills kll, kb3_inv_detail inv
373                    where kll.kll_system_id = sys.sys_id
374                    and inv.ind_kll_id = kll.kll_id";
375
376        if ($crp_id)
377            $sql .= " and inv.ind_crp_id in (".$crp_id.")";
378        if ($all_id)
379            $sql .= " and inv.ind_all_id = ".$all_id;
380
381        $sql .= " group by sys.sys_name
382                    order by kills desc
383                    limit 25";
384
385        $qry = new DBQuery();
386        $qry->execute($sql);
387        $odd = false;
388        $counter = 1;
389        while ($row = $qry->getRow())
390        {
391            if (!$odd)
392            {
393                $odd = true;
394                $rowclass = 'kb-table-row-odd';
395            }
396            else
397            {
398                $odd = false;
399                $rowclass = 'kb-table-row-even';
400            }
401
402            $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>";
403            $counter++;
404        }
405        $html .= "</table>";
406        $html .= "</td></tr></table>";
407            break;
408               
409   case "known_members":
410                if($config->getConfig('known_members_own'))
411                        {
412                                $alliance->getID();
413                                if (ALLIANCE_ID && $alliance->getID() == ALLIANCE_ID)
414                                {
415                                        $can_view = 1;
416                                }
417                                elseif (CORP_ID && $corp->getID() == CORP_ID)
418                                {
419                                        $can_view = 1;
420                                }
421
422                        }
423                       
424                       
425                       
426                if($can_view == 1)
427                {
428                $html .= "Cannot View this corps Member List";
429                }
430                else
431                {       
432                        $query = "SELECT * FROM `kb3_pilots`  WHERE plt_crp_id =".intval($_GET['crp_id'])." ORDER BY `plt_name` ASC";
433                        $qry = new DBQuery();
434                        $qry->execute($query);
435                        $cnt = $qry->recordCount();
436                        $clmn = $config->getConfig('known_members_clmn');
437                       
438                $html .= "<div class=block-header2>Known Pilots (".$cnt.")</div>";
439                $html .= "<table class=kb-table align=center>";
440                $html .= '<tr class=kb-table-header>';
441                if (strpos($clmn,"img"))
442                {
443                $html .= '<td class=kb-table-header align="center"></td>';
444                }
445                $html .= '<td class=kb-table-header align="center">Pilot</td>';
446                if (strpos($clmn,"kll_pnts"))
447                {
448                $html .= '<td class=kb-table-header align="center">Kill Points</td>';
449                }
450                if (strpos($clmn,"dmg_dn"))
451                {               
452                $html .= '<td class=kb-table-header align="center">Dmg Done (isk)</td>';
453                }
454                if (strpos($clmn,"dmg_rcd"))
455                {
456                $html .= '<td class=kb-table-header align="center">Dmg Recived (isk)</td>';
457                }
458                if (strpos($clmn,"eff"))
459                {
460                $html .= '<td class=kb-table-header align="center">Efficiency</td>';
461                }
462                if ($page->isAdmin())
463                {
464                $html .= '<td class=kb-table-header align="center">Admin - Move</td>';
465                }
466                $html .= '</tr>';
467                        while ($data = $qry->getRow())
468                        {
469                                $pilot = new Pilot( $data['plt_id'] );
470                                $plist = new KillList();
471                                $plist->addInvolvedPilot($pilot);
472                                $plist->getAllKills();
473                                $points = $plist->getPoints();
474                               
475                                $pllist = new KillList();
476                                $pllist->addVictimPilot($pilot);
477                                $pllist->getAllKills();
478                               
479                                $plistisk = $plist->getISK();
480                                $pllistisk = $pllist->getISK();
481                                if ($plistisk == 0) { $plistisk = 1; } //Remove divide by 0
482                                if ($pllistisk == 0) { $pllistisk = 1; } //Remove divide by 0
483                                $efficiency = round($plistisk / ($plistisk + $pllistisk) * 100, 2); 
484                               
485                                        if (!$odd)
486                                        {
487                                                $odd = true;
488                                                $class = 'kb-table-row-odd';
489                                        }
490                                        else
491                                        {                                                                       
492                                                $odd = false;
493                                                $class = 'kb-table-row-even';
494                                        }
495
496                                        $html .= "<tr class=".$class." style=\"height: 32px;\">"; 
497                                        if (strpos($clmn,"img"))
498                                        {                                       
499                                        $html .= '<td width="64" align="center"><img src='.$pilot->getPortraitURL( 32 ).'></td>';
500                                        }
501                                        $html .= '<td align="center"><a href=?a=pilot_detail&plt_id='.$pilot->getID().'>'.$pilot->getName().'</a></td>'; 
502                                        if (strpos($clmn,"kll_pnts"))
503                                        {
504                                        $html .= '<td align="center">'.$points.'</td>';
505                                        }
506                                        if (strpos($clmn,"dmg_dn"))
507                                        {
508                                        $html .= '<td align="center">'.round($plist->getISK(),2).'M</td>';
509                                        }
510                                        if (strpos($clmn,"dmg_rcd"))
511                                        {                                       
512                                        $html .= '<td align="center">'.round($pllist->getISK(),2).'M</td>';
513                                        }
514                                        if (strpos($clmn,"eff"))
515                                        {
516                                        $html .= '<td align="center">'.$efficiency.'%</td>';
517                                        }
518                                        if ($page->isAdmin())
519                                        {
520                                        $html .= "<td align=center><a href=\"javascript:openWindow('?a=move_pilot&plt_id=".$data['plt_id']."', null, 500, 500, '' )\">Move</a></td>";
521                                        }
522                                        $html .= '</tr>';
523                        }
524
525                $html .='</table>';
526                }
527        break;
528}
529
530$menubox = new Box("Menu");
531$menubox->setIcon("menu-item.gif");
532$menubox->addOption("caption","Kills & losses");
533$menubox->addOption("link","Recent activity", "?a=corp_detail&crp_id=" . $corp->getID());
534$menubox->addOption("link","Kills", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=kills");
535$menubox->addOption("link","Losses", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=losses");
536$menubox->addOption("caption","Pilot statistics");
537$menubox->addOption("link","Top killers", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=pilot_kills");
538
539$killboard = $page->killboard_;
540$config = $killboard->getConfig();
541if ($config->getKillPoints())
542    $menubox->addOption("link","Top scorers", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=pilot_scores");
543$menubox->addOption("link","Top solokillers", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=pilot_solo");
544$menubox->addOption("link","Top damagedealers", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=pilot_damage");
545$menubox->addOption("link","Top griefers", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=pilot_griefer");
546$menubox->addOption("link","Top losers", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=pilot_losses");
547$menubox->addOption("caption","Global statistics");
548$menubox->addOption("link","Ships & weapons", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=ships_weapons");
549$menubox->addOption("link","Most violent systems", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=violent_systems");
550$menubox->addOption("link","Known Members", "?a=corp_detail&crp_id=" . $corp->getID() . "&view=known_members");
551$page->addContext($menubox->generate());
552$page->setContent($html);
553$page->generate();
554?>
Note: See TracBrowser for help on using the browser.