root/original/common/cc_detail.php

Revision 1, 8.3 KB (checked in by andrewgunn, 14 years ago)

Added original EVE-Killboard.net source code.

Line 
1<?
2  require_once( "db.php" );
3  require_once( "class.page.php" );
4  require_once( "class.killlist.php" );
5  require_once( "class.killlisttable.php" );
6  require_once( "class.killsummarytable.php" ); 
7  require_once( "class.contract.php" );
8  require_once( "class.box.php" );
9  require_once( "class.toplist.php" );
10  require_once( "class.graph.php" );
11
12  $ctr_id = $_GET['ctr_id'];
13 
14  $contract = new Contract( $ctr_id );
15 
16  if ( $contract->getCampaign() )
17    $title = "Campaign details";
18  else
19    $title = "Contract details";
20
21  $page = new Page( $title." - ".$contract->getName() );
22     
23  $html .= "<table align=center class=kb-table width=\"100%\" height=\"80\" border=\"0\" cellspacing=1><tr class=kb-table-row-even><td rowspan=5 align=center width=80 height=80>";
24  // table class=kb-subtable cellspacing=0><tr class=kb-table-row-even><td width=80 height=80 align=center>";
25 
26  if ( $contract->getCampaign() )
27    $html .= "<img src=\"".IMG_URL."/campaign-big.gif\" align=center>";
28  else
29    $html .= "<img src=\"".IMG_URL."/contract-big.gif\" align=center>";
30 
31  $html .= "</td>";
32 
33 // $html .= "<td valign=top align=left height=80>";
34 
35//  $html .= "<table class=kb-subtable width=\"100%\" height=\"100%\" cellspacing=1 border=\"0\">";
36 
37  if ( $contract->getEndDate() == "" )
38    $ended = "Active";
39  else
40    $ended = substr( $contract->getEndDate(), 0, 10 );
41  $html .= "<td class=kb-table-cell><b>Start date:</b></td><td class=kb-table-cell width=120><b>".substr( $contract->getStartDate(), 0, 10 )."</b></td><td class=kb-table-cell><b>End date:</b></td><td class=kb-table-cell width=120><b>".$ended."</b></td></tr>";
42  $html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Kills:</b></td><td class=kl-kill>".$contract->getKills()."</td><td class=kb-table-cell><b>Losses:</b></td><td class=kl-loss>".$contract->getLosses()."</td></tr>";
43  $html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Damage done (ISK):</b></td><td class=kl-kill>".$contract->getKillISK()."M</td><td class=kb-table-cell><b>Damage received (ISK):</b></td><td class=kl-loss>".$contract->getLossISK()."M</td></tr>";
44  $html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Runtime:</b></td><td class=kb-table-cell><b>".$contract->getRunTime()." days</b></td><td class=kb-table-cell><b>Efficiency:</b></td><td class=kb-table-cell><b>".$contract->getEfficiency()."%</b></td></tr>";   
45  $html .= "</table>";
46 
47//  $html .= "</td></tr></table>";
48 
49  $klist = $contract->getKillList();
50  $llist = $contract->getLossList();
51  $killsummary = new KillSummaryTable( $klist, $llist );
52  $killsummary->setBreak( 6 );
53  if ( $_GET['view'] == "" )
54    $killsummary->setFilter( false );
55 
56  $html .= "<br>";
57  $html .= $killsummary->generate();
58
59  switch ( $_GET['view'] ) {
60    case "":
61      while ( $target = &$contract->getContractTarget() ) {
62        $kl = &$target->getKillList();
63        $ll = &$target->getLossList();
64        $summary = new KillSummaryTable( $kl, $ll );
65        $summary->setVerbose( true );
66        $summary->setBreak( 12 );
67        $summary->setFilter( false );
68
69        $html .= "<br><div class=kb-contract-target-header>Target ".$target->getType()." - ".$target->getName()."</div>";
70        $html .= $summary->generate();
71   
72        $html .= "<br><table class=kb-subtable border=\"0\" cellspacing=0 width=\"100%\"><tr><td>";
73
74        if ( $summary->getTotalKillISK() )
75          $efficiency = round( $summary->getTotalKillISK() / ( $summary->getTotalKillISK() + $summary->getTotalLossISK() ) * 100, 2 );
76      else
77        $efficiency = 0;
78
79        $bar = new BarGraph( $efficiency, 100, 120 );
80        $html .= "<table class=kb-table cellspacing=1 border=\"0\" width=\"100%\"><tr class=kb-table-row-even>";
81        $html .= "<td class=kb-table-cell width=108><b>Totals:</b></td><td class=kl-kill-bg width=60 align=center>".$summary->getTotalKills()."</td><td class=kl-kill-bg width=60 align=center>".$summary->getTotalKillISK()."M</td>";
82        $html .= "<td class=kl-loss-bg width=64 align=center>".$summary->getTotalLosses()."</td><td class=kl-loss-bg width=60 align=center>".$summary->getTotalLossISK()."M</td></tr></table>";
83
84        $html .= "</td><td align=left>";
85
86        $html .= "<table class=kb-table cellspacing=1 border=\"0\"><tr class=kb-table-row-even>";
87        $html .= "<td class=kb-table-cell width=108><b>Efficiency:</b></td><td class=kb-table-cell align=center colspan=2 width=120><b>".$efficiency."%</b></td>";
88        $html .= "<td class=kb-table-cell colspan=2 width=120>".$bar->generate()."</td></tr>";
89        $html .= "</tr></table>";
90
91        $html .= "</td></tr></table>";
92      }
93       
94      break;
95    case "recent_activity":
96      $html .= "<div class=kb-kills-header>10 Most recent kills</div>";
97
98      $contract = new Contract( $ctr_id );
99      $klist = $contract->getKillList();
100      $klist->setOrdered( true );
101      if ( $_GET['scl_id'] )
102        $klist->addVictimShipClass( new ShipClass( $_GET['scl_id'] ) );
103      else
104        $klist->setPodsNoobShips( false );
105
106      $table = new KillListTable( $klist );
107      $table->setLimit( 10 );
108      $table->setDayBreak( false );
109      $html .= $table->generate();
110
111      $html .= "<div class=kb-losses-header>10 Most recent losses</div>";
112      $llist = $contract->getLossList();
113      $llist->setOrdered( true );
114      if ( $_GET['scl_id'] )
115        $llist->addVictimShipClass( new ShipClass( $_GET['scl_id'] ) );
116      else
117        $llist->setPodsNoobShips( false );
118
119      $table = new KillListTable( $llist );
120      $table->setLimit( 10 );
121      $table->setDayBreak( false );
122      $html .= $table->generate();
123      break;
124    case "kills":
125      $html .= "<div class=kb-kills-header>All kills</div>";
126
127      $contract = new Contract( $ctr_id );
128      $list = $contract->getKillList();
129      $list->setOrdered( true );
130      if ( $_GET['scl_id'] )
131        $list->addVictimShipClass( new ShipClass( $_GET['scl_id'] ) );
132
133      $pagesplitter = new PageSplitter( $list->getCount(), 30 );
134      $list->setPageSplitter( $pagesplitter );
135      $table = new KillListTable( $list );
136      $table->setDayBreak( false );
137      $html .= $table->generate();
138      $html .= $pagesplitter->generate();
139      break;
140    case "losses":
141      $html .= "<div class=kb-losses-header>All losses</div>";
142
143      $contract = new Contract( $ctr_id );
144      $llist = $contract->getLossList();
145      $llist->setOrdered( true );
146      if ( $_GET['scl_id'] )
147        $llist->addVictimShipClass( new ShipClass( $_GET['scl_id'] ) );
148                                                                               
149      $pagesplitter = new PageSplitter( $llist->getCount(), 30 );
150      $llist->setPageSplitter( $pagesplitter );
151      $table = new KillListTable( $llist );
152      $table->setDayBreak( false );
153      $html .= $table->generate();
154      $html .= $pagesplitter->generate();
155      break;
156  }
157
158  $menubox = new MenuBox();
159  $menubox->addCaption( "Overview" );
160  $menubox->addOption( "Target overview", "?a=cc_detail&ctr_id=".$_GET['ctr_id'] );
161  $menubox->addCaption( "Kills & losses" );
162  $menubox->addOption( "Recent activity", "?a=cc_detail&ctr_id=".$_GET['ctr_id']."&view=recent_activity" );
163  $menubox->addOption( "All kills", "?a=cc_detail&ctr_id=".$_GET['ctr_id']."&view=kills" );
164  $menubox->addOption( "All losses", "?a=cc_detail&ctr_id=".$_GET['ctr_id']."&view=losses" );
165
166  $page->addContext( $menubox->generate() );
167
168  $tklist = new TopContractKillsList();
169  $tklist->setContract( new Contract( $ctr_id ) );
170  if ( CORP_ID )
171    $tklist->addInvolvedCorp( new Corporation( CORP_ID ) );
172  if ( ALLIANCE_ID )
173    $tklist->addInvolvedAlliance( new Alliance( ALLIANCE_ID ) );
174   
175  $tklist->generate();
176  if ( $contract->getCampaign() )
177    $campaign = "campaign";
178  else
179    $campaign = "contract";
180  $tkbox = new AwardBox( $tklist, "Top killers", "kills in this ".$campaign, "kills", "eagle" );
181
182  $page->addContext( $tkbox->generate() ); 
183
184  $killboard = $page->killboard_;
185  $config = $killboard->getConfig();
186  if ( $config->getKillPoints() ) {
187    $tklist = new TopContractScoreList();
188    $tklist->setContract( new Contract( $ctr_id ) );
189    if ( CORP_ID )
190      $tklist->addInvolvedCorp( new Corporation( CORP_ID ) );
191    if ( ALLIANCE_ID )
192      $tklist->addInvolvedAlliance( new Alliance( ALLIANCE_ID ) );
193   
194    $tklist->generate();
195    $tkbox = new AwardBox( $tklist, "Top scorers", "points in this ".$campaign, "points", "redcross" );
196    $page->addContext( $tkbox->generate() ); 
197  }
198 
199  $page->setContent( $html );
200  $page->generate();
201?>
Note: See TracBrowser for help on using the browser.