root/dev/mods/rank_mod/pilot_detail.php @ 370

Revision 370, 20.2 KB (checked in by kovell, 11 years ago)

- SQL queries optimised for speed and error protection.
- feed syndication optimised
- front page includes optional clock and optional kill/loss display
- mysqli support added
- transaction protection of kills added where supported (mysqli and InnoDB)
- summary tables and contracts show total destroyed value instead of ship value
- html errors reduced
- related kill calculation improved
- query caching errors reduced
- minor bugfixes
- Smarty 2.6.25 added
- apoc fitting mod added and modded
- code optimisations
- code comments added (doxygen format)
- conflicting mods are now identified

Line 
1<?php
2require_once('common/includes/class.pilot.php');
3require_once('common/includes/class.corp.php');
4require_once('common/includes/class.alliance.php');
5require_once('common/includes/class.kill.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.toplist.php');
10require_once('mods/rank_mod/rank.php');
11
12
13$pilot = new Pilot($_GET['plt_id']);
14$corp = $pilot->getCorp();
15$alliance = $corp->getAlliance();
16
17if (!$pilot->exists())
18{
19    $html = 'That pilot doesn\'t exist.';
20    $page->generate($html);
21    exit;
22}
23
24if (    (CORP_ID == 0 && ALLIANCE_ID == 0) // Public Board
25        || (CORP_ID && CORP_ID == $corp->getID()) // Corporate Board
26        || (ALLIANCE_ID && ALLIANCE_ID == $alliance->getID()) // Allied Board
27)
28{  $allow_rank= TRUE; } else {  $allow_rank= FALSE; }
29
30$klist = new KillList();
31$tklist = new KillList();
32$llist = new KillList();
33$tllist = new KillList();
34$klist->addInvolvedPilot($pilot);
35$tklist->addInvolvedPilot($pilot);
36$llist->addVictimPilot($pilot);
37$tllist->addVictimPilot($pilot);
38$klist->getAllKills();
39$llist->getAllKills();
40$tklist->setPodsNoobShips(false);
41$tllist->setPodsNoobShips(false);
42
43$medals=array();
44$shipbadges=array();
45$weaponbadges=array();
46$rps=0;
47$bonus_rps=0;
48$base_rps=0;
49
50$show_options = config::get('rankmod_show');
51$titles = config::getnumerical('rankmod_titles');
52
53$rank = GetPilotRank($_GET['plt_id'], $points, $medals, $shipbadges, $weaponbadges, $base_rps, $bonus_rps, $rps);
54
55if ( $allow_rank ) {
56  $page = new Page('Pilot details - '.$titles[$rank]['abbr'].' '.$pilot->getName());
57} else {
58  $page = new Page('Pilot details - '.$pilot->getName());
59}
60
61$html .= "<table class=kb-table cellspacing=1 width=\"100%\">";
62
63$html .= "<tr class=kb-table-row-even>";
64$html .= "<td rowspan=7 width=128><div id=\"portrait\" style=\"position:relative; height:128px; width:128px; background-image:url(".$pilot->getPortraitURL(128).")\" name=\"portrait\">";
65if (strpos($show_options, 'rank') && $allow_rank) // portrait rank insignia
66{
67   $html .= "<div id=\"insignia\" style=\"position:absolute; left:0px; top:0px; width:32px; height:32px; z-index:0;\">".$titles[$rank]['img']."</div>";
68}
69if (strpos($show_options, 'medal') && !strpos($show_options, 'nomeds') && $allow_rank && !strpos($show_options,'case')) // portrait show medals
70{
71  $i=0;
72  $j=0;
73  foreach ($medals as $med)
74  {
75    if ($med['cnt']) {
76          if ($i>1) { $i=0; $j++;}
77          $x=88+($i*20);
78          $y=0+($j*20);
79          $html .= "<div id=\"".$med['type']."\" style=\"position:absolute; left:".$x."px; top:".$y."px; width:20px; height:20px; z-index:1;\">";
80          $html .= "<img src=\"".IMG_URL."/ranks/awards/".$med['type']."_port.gif\" border=\"0\" alt=\"".$med['mname']."\" title=\"".$med['mname']." (".$med['cnt'].")\"></div>";
81          $i++;
82    }
83  }
84}
85if (strpos($show_options, 'badge') && $allow_rank && !strpos($show_options,'case')) // portrait show ribbons
86{
87  $i=0;
88  $j=0;
89  foreach ($shipbadges as $ship)
90  {
91    if ($ship['icon']) {
92          if ($i>5) { $i=0; $j++;}
93          $x=1+($i*21);
94          $y=99+($j*7);
95          $html .= "<div id=\"".$ship['type']."\" style=\"position:absolute; left:".$x."px; top:".$y."px; width:21px; height:6px; z-index:1;\">";
96          $html .= "<img width=\"21\" height=\"6\" src=\"".IMG_URL."/ranks/ribbons/".$ship['icon'].".gif\" border=\"0\" alt=\"".$ship['badge']."\" title=\"".$ship['badge']."\"></div>";
97          $i++;
98    }
99  }
100  foreach ($weaponbadges as $weap)
101  {
102    if ($weap['icon']) {
103          if ($i>5) { $i=0; $j++;}
104          $x=1+($i*21);
105          $y=99+($j*7);
106          $html .= "<div id=\"".$weap['type']."\" style=\"position:absolute; left:".$x."px; top:".$y."px; width:21px; height:6px; z-index:1;\">";
107          $html .= "<img width=\"21\" height=\"6\" src=\"".IMG_URL."/ranks/ribbons/".$weap['icon'].".gif\" border=\"0\" alt=\"".$weap['badge']."\" title=\"".$weap['badge']."\"></div>";
108          $i++;
109    }
110  }
111  if (strpos($show_options, 'medal') && strpos($show_options, 'nomeds') && $allow_rank && !strpos($show_options,'case')) {
112    foreach($medals as $med)
113    {
114        if ($med['cnt']) {
115          if ($i>5) { $i=0; $j++;}
116          $x=1+($i*21);
117          $y=99+($j*7);
118          $html .= "<div id=\"".$med['type']."\" style=\"position:absolute; left:".$x."px; top:".$y."px; width:21px; height:6px; z-index:1;\">";
119          $html .= "<img width=\"21\" height=\"6\"src=\"".IMG_URL."/ranks/ribbons/".$med['type'].".gif\" border=\"0\" alt=\"".$med['mname']."\" title=\"".$med['mname']." (".$med['cnt'].")\"></div>";
120
121          $i++;
122        }
123    }   
124  }
125}
126
127$html .= "</div></td>";
128
129$k_cost = $klist->getISK();
130$l_cost = $llist->getISK();
131$k_count = $klist->getCount();
132$l_count = $llist->getCount();
133  if (($k_cost == 0) && ($l_cost == 0)) {
134    $efficiency = 'N/A';
135  } elseif ($k_cost == 0) {
136    $efficiency = '0%';
137  } elseif ($l_cost == 0) {
138    $efficiency = '100%';
139  } else {
140    $efficiency = round($k_cost / ($k_cost + $l_cost) * 100, 2).'%';
141  }
142  if ($k_cost >= 1000000000) {
143    $k_cost = round($k_cost / 1000000000, 2).'B';
144  } else { 
145    $k_cost = round($k_cost / 1000000, 2).'M';
146  }
147  if ($l_cost >= 1000000000) {
148    $l_cost = round($l_cost / 1000000000, 2).'B';
149  } else { 
150    $l_cost = round($l_cost / 1000000, 2).'M';
151  }
152  if ($k_count == 0) {
153    $k_ratio = 'N/A';
154  } elseif ($l_count == 0) {
155    $k_ratio = $k_count.' : 0';
156  } else {
157    $k_ratio = round($k_count / $l_count, 2).' : 1';
158  }
159if ($allow_rank) {
160  $html .= "<td class=kb-table-cell width=160><b>Rank:</b></td><td class=kb-table-cell colspan=3><b>".$titles[$rank]['title']."</b></td></tr><tr class=kb-table-row-even>";
161}
162$html .= "<td class=kb-table-cell width=160><b>Corporation:</b></td><td class=kb-table-cell colspan=3><a href=\"?a=corp_detail&crp_id=".$corp->getID()."\">".$corp->getName()."</a></td></tr>";
163$html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Alliance:</b></td><td class=kb-table-cell colspan=3>";
164if ($alliance->getName() == "Unknown" || $alliance->getName() == "None")
165    $html .= "<b>".$alliance->getName()."</b>";
166else
167    $html .= "<a href=\"?a=alliance_detail&all_id=".$alliance->getID()."\">".$alliance->getName()."</a>";
168$html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Kills:</b></td><td class=kl-kill>".$klist->getCount()."</td>";
169$html .= "<td class=kb-table-cell width=160><b>Real kills:</b></td><td class=kl-kill>".$tklist->getCount()."</td></tr>";
170$html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Losses:</b></td><td class=kl-loss>".$llist->getCount()."</td>";
171$html .= "<td class=kb-table-cell><b>Real losses:</b></td><td class=kl-loss>".$tllist->getCount()."</td></tr>";
172$html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Damage done:</b></td><td class=kl-kill>".$k_cost."</td>";
173$html .= "<td class=kb-table-cell><b>Damage received:</b></td><td class=kl-loss>".$l_cost."</td></tr>";
174$html .= "<tr class=kb-table-row-even><td class=kb-table-cell><b>Kill Ratio:</b></td><td class=kb-table-cell><b>".$k_ratio."</b></td>";
175$html .= "<td class=kb-table-cell><b>Efficiency:</b></td><td class=kb-table-cell><b>".$efficiency."</b></td></tr>";
176
177$html .= "</td></tr>";
178$html .= "</table>";
179
180if ( $allow_rank && strpos($show_options,'case')) {
181  $html .= "<br /><table class=kb-table cellspacing=1 width=\"100%\">";
182  $html .= "<tr class=kb-table-header><td colspan=2 align=center>Awards</td></tr>";
183  $html .= "<tr height=24 class=kb-table-row-even><td width=375><div id=\"medalcase\" style=\"position:relative; width:375px; height:24px;\">";
184  $i=0;
185  $j=0;
186  $temp=0;
187  foreach ($medals as $med)
188  {
189    if ($med['cnt']) { $temp++; }
190  }
191  $sx = (int) (187 - (( $temp / 2) * 24));
192  if ($temp != 0)
193  {
194    foreach ($medals as $med)
195    {
196      if ($med['cnt']) {
197            $x=$sx+($i*24);
198            $y=2;
199            $html .= "<div id=\"".$med['type']."\" style=\"position:absolute; left:".$x."px; top:".$y."px; width:20px; height:20px; z-index:1;\">";
200            $html .= "<img src=\"".IMG_URL."/ranks/awards/".$med['type']."_port.gif\" border=\"0\" alt=\"".$med['mname']."\" title=\"".$med['mname']." (".$med['cnt'].")\"></div>";
201            $i++;
202      }
203    }
204  }
205  $html .= "</div></td><td width=375><div id=\"ribboncase\" style=\"position:relative; width:375px; height:24px;\">";
206  $i=0;
207  $j=0;
208  foreach ($shipbadges as $ship)
209  {
210    if ($ship['icon']) {
211          if ($i>9) { $i=0; $j++;}
212          $x=2+($i*37);
213          $y=1+($j*12);
214          $html .= "<div id=\"".$ship['type']."\" style=\"position:absolute; left:".$x."px; top:".$y."px; width:35px; height:10px; z-index:1;\">";
215          $html .= "<img width=\"35\" height=\"10\" src=\"".IMG_URL."/ranks/ribbons/".$ship['icon'].".gif\" border=\"0\" alt=\"".$ship['badge']."\" title=\"".$ship['badge']."\"></div>";
216          $i++;
217    }
218  }
219  foreach ($weaponbadges as $weap)
220  {
221    if ($weap['icon']) {
222          if ($i>9) { $i=0; $j++;}
223          $x=2+($i*37);
224          $y=1+($j*12);
225          $html .= "<div id=\"".$weap['type']."\" style=\"position:absolute; left:".$x."px; top:".$y."px; width:35px; height:10px; z-index:1;\">";
226          $html .= "<img width=\"35\" height=\"10\" src=\"".IMG_URL."/ranks/ribbons/".$weap['icon'].".gif\" border=\"0\" alt=\"".$weap['badge']."\" title=\"".$weap['badge']."\"></div>";
227          $i++;
228    }
229  }
230  $html .= "</div></td></tr></table>"; 
231}
232
233$html .= "<br/>";
234
235$lpoints = $llist->getPoints();
236$summary = new KillSummaryTable($klist, $llist);
237$summary->setBreak(config::get('summarytable_rowcount'));
238if ($_GET['view'] == "ships_weapons")
239{
240    $summary->setFilter(false);
241}
242$html .= $summary->generate();
243
244switch ($_GET['view'])
245{
246    case "kills":
247        $html .= "<div class=kb-kills-header>All kills</div>";
248
249        $list = new KillList();
250        $list->setOrdered(true);
251        $list->addInvolvedPilot($pilot);
252        if ($_GET['scl_id'])
253            $list->addVictimShipClass(new ShipClass($_GET['scl_id']));
254        $pagesplitter = new PageSplitter($list->getCount(), 30);
255        $list->setPageSplitter($pagesplitter);
256        $table = new KillListTable($list);
257        $table->setDayBreak(false);
258        $html .= $table->generate();
259        $html .= $pagesplitter->generate();
260
261        break;
262    case "losses":
263        $html .= "<div class=kb-losses-header>All losses</div>";
264
265        $list = new KillList();
266        $list->setOrdered(true);
267        $list->setPodsNoobships(true);
268        $list->addVictimPilot($pilot);
269        if ($_GET['scl_id'])
270            $list->addVictimShipClass(new ShipClass($_GET['scl_id']));
271        $pagesplitter = new PageSplitter($list->getCount(), 30);
272        $list->setPageSplitter($pagesplitter);
273
274        $table = new KillListTable($list);
275        $table->setDayBreak(false);
276        $html .= $table->generate();
277        $html .= $pagesplitter->generate();
278        break;
279    case "p_awards":
280        $html .= "<div class=kb-kills-header>Personal Awards</div>";
281
282        $html .= "<table class=kb-table cellspacing=1 width=\"100%\">";
283        $html .= "<tr class=kb-table-header><td width=\"50%\">Award</td><td>Times</td></tr>";
284        $class='odd';
285        foreach ($medals as $med)
286        {
287          if ($class=='odd') {$class='even';} else {$class='odd';}
288          $html .= "<tr class=kb-table-row-".$class."><td>".$med['name'].":</td><td>".$med['cnt']."</td></tr>";
289        }
290        $html .= "</table>";
291
292        $html .= "<div class=kb-kills-header>Ships Used</div>";
293
294        $html .= "<table class=kb-table cellspacing=1 width=\"100%\">";
295        $html .= "<tr class=kb-table-header><td width=\"50%\">Class</td><td>Kills</td></tr>";
296        $enables = config::get('rankmod_enables');
297        $class='odd';
298        foreach ($shipbadges as $ship)
299        {
300          if (isset($ship['parent'])) {
301                if (strpos($enables, $ship['name'])) {
302                    if ($class=='odd') {$class='even';} else {$class='odd';}
303                    $html .= "<tr class=kb-table-row-".$class."><td><i>".$ship['name'].":</i></td><td><i>".$ship['cnt']."</i></td></tr>";
304                }
305          } else {     
306            if ($class=='odd') {$class='even';} else {$class='odd';}
307            $html .= "<tr class=kb-table-row-".$class."><td>".$ship['name'].":</td><td>".$ship['cnt']."</td></tr>";
308          }
309        }
310        $html .= "</table>";
311
312        $html .= "<div class=kb-kills-header>Weapons Used</div>";
313
314        $html .= "<table class=kb-table cellspacing=1 width=\"100%\">";
315        $html .= "<tr class=kb-table-header><td width=\"50%\">Weapon Class</td><td>Kills</td></tr>";
316        $class='odd';
317        foreach ($weaponbadges as $weap)
318        {
319          if ($class=='odd') {$class='even';} else {$class='odd';}
320          $html .= "<tr class=kb-table-row-".$class."><td>".$weap['name'].":</td><td>".$weap['cnt']."</td></tr>";
321        }
322        $html .= "</table>";
323
324        break;
325    case "ribbons":
326// Rank stuff
327        $r_type = config::get('rankmod_rtype');
328        switch ($r_type) {
329                case "Enlisted": $limit = 9; break;
330                case "Officer": $limit = 10; break;
331                case "Enlisted + Officer": $limit = 19; break;
332        }
333        $html .= "<div class=block-header2>Rank</div>";
334        $html .= "<table class=kb-table cellspacing=1 width=\"100%\">";
335        $html .= "<tr height=34><td width=34 alingn=left valign=top>".$titles[$rank]['img']."</td><td align=left valign=center><b><i>".$titles[$rank]['title']." ".$pilot->getName()."</b><br>Abbreviation: ".$titles[$rank]['abbr']."</i></td></tr>";
336        $html .= "</table>";
337        $html .= "<table class=kb-table cellspacing=1 width=\"100%\">";
338        $html .= "<tr class=kb-table-header><td width=\"33%\">Base Rank points</td><td width=\"33%\">Bonus Rank points</td><td width=\"33%\">Total Rank points</td></tr>";
339        $html .= "<tr class=kb-table-row-even><td>".$base_rps."</td><td>".$bonus_rps."</td><td>".$rps."</td></tr>";
340        $html .= "</table>";
341        $html .= "<table class=kb-table cellspacing=1 width=\"100%\">";
342        if ($rank == $limit) {
343          $next = 'Max';
344          $current = $titles[$rank]['reqrp'];
345          $width = 600;
346          $now = 'Max';
347        } else {
348          $next = $titles[$rank+1]['reqrp'];
349          $current = $titles[$rank]['reqrp'];
350          $width = ($rps - $current) * 600 / ($next - $current);
351          $now = $titles[$rank+1]['abbr'];
352        }
353        $html .= "<tr class=kb-table-header><td width=80>".$titles[$rank]['abbr']."</td><td width=600 align=center>Progression</td><td width=80>".$now."</td></tr>";
354        $html .= "<tr class=kb-table-row-odd><td align=right valign=center><b>".$current."</b></td><td align=left valign=center><div class=bar style=\"position:relative; height: 8px; width: ".$width."px;\"><b><i>&nbsp;</i></b></div></td><td align=left valign=center><b>".$next."</b></td></tr>";
355        $html .= "</table>";
356// Awarded medals
357        $html .= "<div class=block-header2>Awarded Medals</div>";
358        $html .= "<table class=kb-table cellspacing=1 width=\"100%\">";
359        $html .= "<tr class=kb-table-header><td width=108>Medal</td><td width=50>Times</td><td width=250>Name</td><td>Class</td></tr>";
360        $class='odd';
361        foreach ($medals as $med)
362        {
363          if ($med['cnt'])
364          {
365                if ($class=='odd') {$class='even';} else {$class='odd';}
366                $html .= "<tr class=kb-table-row-".$class." height=64><td align=\"center\"><img src=\"".IMG_URL."/ranks/awards/".$med['type'].".gif\" border=\"0\"></td><td>".$med['cnt']."</td><td>".$med['mname']."</td><td>Top ".$med['name']." Award</td></tr>";
367          }
368        }
369        $html .= "</table>";
370        $html .= "<div class=block-header2>Ship Combat Ribbons</div>";
371// Ship Combat ribbons
372        $html .= "<table class=kb-table cellspacing=1 width=\"100%\">";
373        $html .= "<tr class=kb-table-header><td width=108>Ribbon</td><td width=300>Name</td><td>Class</td></tr>";
374        $class='odd';
375        foreach ($shipbadges as $ship)
376        {
377          if ($ship['icon'])
378          {
379                if ($class=='odd') {$class='even';} else {$class='odd';}
380                $html .= "<tr class=kb-table-row-".$class." height=32><td><img src=\"".IMG_URL."/ranks/ribbons/".$ship['icon'].".gif\" border=\"0\"></td><td>".$ship['badge']."</td><td>".$ship['class']."</td></tr>";
381          }
382        }
383        $html .= "</table>";
384// Weapon Master ribbons
385        $html .= "<div class=block-header2>Weapon Master Ribbons</div>";
386        $html .= "<table class=kb-table cellspacing=1 width=\"100%\">";
387        $html .= "<tr class=kb-table-header><td width=108>Ribbon</td><td width=300>Name</td><td>Class</td></tr>";
388        $class='odd';
389        foreach ($weaponbadges as $weap)
390        {
391          if ($weap['icon'])
392          {
393                if ($class=='odd') {$class='even';} else {$class='odd';}
394                $html .= "<tr class=kb-table-row-".$class." height=32><td><img src=\"".IMG_URL."/ranks/ribbons/".$weap['icon'].".gif\" border=\"0\"></td><td>".$weap['badge']."</td><td>".$weap['class']."</td></tr>";
395          }
396        }
397        $html .= "</table>";
398
399        break;
400    case "ships_weapons":
401        $html .= "<div class=block-header2>Ships & weapons used</div>";
402
403        $html .= "<table class=kb-subtable><tr><td valign=top width=400>";
404        $shiplist = new TopShipList();
405        $shiplist->addInvolvedPilot($pilot);
406        $shiplisttable = new TopShipListTable($shiplist);
407        $html .= $shiplisttable->generate();
408        $html .= "</td><td valign=top align=right width=400>";
409
410        $weaponlist = new TopWeaponList();
411        $weaponlist->addInvolvedPilot($pilot);
412        $weaponlisttable = new TopWeaponListTable($weaponlist);
413        $html .= $weaponlisttable->generate();
414        $html .= "</td></tr></table>";
415
416        break;
417    default:
418        $html .= "<div class=kb-kills-header>10 Most recent kills</div>";
419        $list = new KillList();
420        $list->setOrdered(true);
421        $list->setLimit(10);
422        $list->setPodsNoobships(true);
423        $list->addInvolvedPilot($pilot);
424        if ($_GET['scl_id'])
425            $list->addVictimShipClass(new ShipClass($_GET['scl_id']));
426
427        $table = new KillListTable($list);
428        $table->setDayBreak(false);
429        $html .= $table->generate();
430
431        $html .= "<div class=kb-losses-header>10 Most recent losses</div>";
432        $list = new KillList();
433        $list->setOrdered(true);
434        $list->setLimit(10);
435        $list->setPodsNoobships(true);
436        $list->addVictimPilot($pilot);
437        if ($_GET['scl_id'])
438            $list->addVictimShipClass(new ShipClass($_GET['scl_id']));
439
440        $table = new KillListTable($list);
441        $table->setDayBreak(false);
442        $table->setDayBreak(false);
443        $html .= $table->generate();
444        break;
445}
446
447$menubox = new box("Menu");
448$menubox->setIcon("menu-item.gif");
449$menubox->addOption("caption","Kills & losses");
450$menubox->addOption("link","Recent activity", "?a=pilot_detail&plt_id=".$pilot->getID()."&view=recent");
451$menubox->addOption("link","Kills", "?a=pilot_detail&plt_id=".$pilot->getID()."&view=kills");
452$menubox->addOption("link","Losses", "?a=pilot_detail&plt_id=".$pilot->getID()."&view=losses");
453$menubox->addOption("caption","Statistics");
454$menubox->addOption("link","Ships & weapons", "?a=pilot_detail&plt_id=".$pilot->getID()."&view=ships_weapons");
455if ($allow_rank) {
456  $menubox->addOption("link","Personal Awards", "?a=pilot_detail&plt_id=".$pilot->getID()."&view=p_awards");
457  $menubox->addOption("caption","Rank");
458  $menubox->addOption("link","Rank & Decorations", "?a=pilot_detail&plt_id=".$pilot->getID()."&view=ribbons");
459}
460if (strstr(config::get("mods_active"), 'signature_generator'))
461{
462    $menubox->addOption("caption","Signature");
463    $menubox->addOption("link","Link", "?a=sig_list&i=".$pilot->getID());
464}
465$page->addContext($menubox->generate());
466
467if (config::get('kill_points'))
468{
469    $scorebox = new Box("Kill points");
470    $scorebox->addOption("points", $points);
471    $page->addContext($scorebox->generate());
472}
473if (config::get('loss_points'))
474{
475    $scorebox = new Box("Loss points");
476    $scorebox->addOption("points", $lpoints);
477    $page->addContext($scorebox->generate());
478}
479if (config::get('total_points'))
480{
481    $scorebox = new Box("Total points");
482    $scorebox->addOption("points", $points-$lpoints);
483    $page->addContext($scorebox->generate());
484}
485
486// Rank Points Score boxes
487
488if (strpos($show_options, 'base') && $allow_rank)
489{
490    $scorebox = new Box("Base Rank points");
491    $scorebox->addOption("points", $base_rps);
492    $page->addContext($scorebox->generate());
493}
494if (strpos($show_options, 'bonus') && $allow_rank)
495{
496    $scorebox = new Box("Bonus Rank points");
497    $scorebox->addOption("points", $bonus_rps);
498    $page->addContext($scorebox->generate());
499}
500if (strpos($show_options, 'total') && $allow_rank)
501{
502    $scorebox = new Box("Total Rank points");
503    $scorebox->addOption("points", $rps);
504    $page->addContext($scorebox->generate());
505}
506
507$page->setContent($html);
508$page->generate();
509?>
Note: See TracBrowser for help on using the browser.