return null;
}
- function entry_bgcolor($row, $column, $prize_name = null) {
+ function entry_bgcolor($row, $column, $blue_count = 0, $white_count = 0, $orange_count = 0, $prize_name = null) {
$blue = colour('blue');
$white = colour('white');
$orange = colour('orange');
+ $headers = array();
+ $offset = 0;
+ for ($i = 0; $i < $blue_count; $i++) $headers[] = $blue[$i % 2];
+ $offset = count($headers);
+ for ($i = 0; $i < $white_count; $i++) $headers[] = $white[($offset + $i) % 2];
+ $offset = count($headers);
+ for ($i = 0; $i < $orange_count; $i++) $headers[] = $orange[($offset + $i) % 2];
$colours = array(
/* Header. */
- array_merge($blue, $blue, $blue, $blue, $blue, $white, $white, $white, $orange, $orange, $orange),
+ $headers,
/* Rows. */
colour('row1'),
colour('row2'),
return $colours[$row_index][$column_index];
}
- function entry_fgcolor($row, $column, $prize_name = null) {
+ function entry_fgcolor($row, $column, $blue_count = 0, $white_count = 0, $orange_count = 0, $prize_name = null) {
$white = array('#ffffff');
$blue = array_splice(colour('blue'), 1);
$orange = array_splice(colour('orange'), 0, 1);
+ $headers = array();
+ for ($i = 0; $i < $blue_count; $i++) $headers[] = $white[0];
+ for ($i = 0; $i < $white_count; $i++) $headers[] = $blue[0];
+ for ($i = 0; $i < $orange_count; $i++) $headers[] = $white[0];
$colours = array(
/* Header. */
- array_merge($white, $white, $white, $white, $white, $white, $white, $white, $white, $white, $blue, $blue, $blue,$blue, $blue, $blue, $white, $white, $white, $white),
+ $headers,
/* Rows. */
$blue,
$orange,
return sprintf("%s%s%s", open_tags($formatting, $tags), $text, close_tags($formatting, $tags));
}
- function entry_header($sort, $format, $type) {
- $fields = array('R', 'S', 'E', 'CMDR name', 'Forum name', 'Ship name', 'Ship type', 'Distance', 'Penalty', 'Lap distance', 'Laps', 'Total distance', 'Allotted', 'Bonus', 'Raced', 'Total', 'Best speed', 'Average speed', 'Fastest lap', 'Average lap', 'Award');
- if ($format == "full") array_unshift($fields, 'P');
+ function entry_header($sort, $format, $type, $blue_fields, $white_fields, $orange_fields) {
+ $fields = array_merge($blue_fields, $white_fields, $orange_fields);
$small_fields = array('Distance', 'Penalty', 'Lap distance', 'Total distance', 'Fastest lap', 'Average lap', 'Average speed');
+ $column = 0;
if ($type == 'html') {
echo "<table class=\"entries\">\n";
echo "<tr>\n";
- $column = 0;
foreach ($fields as $field) {
- if ($field == 'Total distance' && $sort != 'penalty_distance') continue;
- $bgcolor = entry_bgcolor(0, $column);
- $fgcolor = entry_fgcolor(0, $column);
+ $bgcolor = entry_bgcolor(0, $column, count($blue_fields), count($white_fields), count($orange_fields));
+ $fgcolor = entry_fgcolor(0, $column, count($blue_fields), count($white_fields), count($orange_fields));
echo "<th style=\"background-color: $bgcolor; color: $fgcolor\">$field</th>\n";
$column++;
}
echo "<pre>\n";
echo "[table=\"class: outer_border\"]\n";
echo "[tr]\n";
- $column = 0;
foreach ($fields as $field) {
- if ($field == 'Total distance' && $sort != 'penalty_distance') continue;
- $bgcolor = entry_bgcolor(0, $column);
- $fgcolor = entry_fgcolor(0, $column);
+ $bgcolor = entry_bgcolor(0, $column, count($blue_fields), count($white_fields), count($orange_fields));
+ $fgcolor = entry_fgcolor(0, $column, count($blue_fields), count($white_fields), count($orange_fields));
echo "[td=\"bgcolor: $bgcolor\"][color=$fgcolor]";
if (in_array($field, $small_fields)) {
echo "[size=-2]";
return (array_key_exists($condition, $formats) && $formats[$condition][0] >= $formats[$format][0]);
}
- function show_entry($sort, $format, $entry, $allotted_time, $position, $rank, $ship_rank, $row, $type, $prize_name) {
+ function show_entry($sort, $format, $entry, $allotted_time, $position, $rank, $ship_rank, $row, $type, $prize_name, $blue_count = 0, $white_count = 0) {
$fields = array();
if ($format == "full") $fields[] = $position;
$fields[] = $position ? $rank : '';
echo "<tr>\n";
$column = 0;
foreach ($fields as $field) {
- $bgcolor = entry_bgcolor($row, $column, $prize_name);
- $fgcolor = entry_fgcolor($foreground, $column, $prize_name);
+ $bgcolor = entry_bgcolor($row, $column, $blue_count, $white_count, $orange_count, $prize_name);
+ $fgcolor = entry_fgcolor($foreground, $column, $blue_count, $white_count, $orange_count, $prize_name);
if (is_array($field)) $display = $field[1];
else $display = $field;
$text = entry_formatting($display, $formatting, $type);
echo "[tr]\n";
$column = 0;
foreach ($fields as $field) {
- $bgcolor = entry_bgcolor($row, $column, $prize_name);
- $fgcolor = entry_fgcolor($foreground, $column, $prize_name);
+ $bgcolor = entry_bgcolor($row, $column, $blue_count, $white_count, $orange_count, $prize_name);
+ $fgcolor = entry_fgcolor($foreground, $column, $blue_count, $white_count, $orange_count, $prize_name);
$display = (is_array($field)) ? $field[0] : $field;
$text = entry_formatting($display, $formatting, $type);
echo "[td=\"bgcolor: $bgcolor\"][color=$fgcolor]";
$filtered_entries = array();
foreach (array('html', 'bbcode') as $type) {
echo "<div class=\"$type\">\n";
- entry_header($sort, $format, $type);
+ $blue_fields = array('R', 'S', 'E', 'CMDR name', 'Forum name', 'Ship name', 'Ship type', 'Distance', 'Penalty');
+ if ($format == "full") array_unshift($blue_fields, 'P');
+ $white_fields = array('Lap distance', 'Laps');
+ if ($sort == 'penalty_distance') $white_fields[] = 'Total distance';
+ $white_fields = array_merge($white_fields, array('Allotted', 'Bonus', 'Raced', 'Total'));
+ $orange_fields = array('Best speed', 'Average speed', 'Fastest lap', 'Average lap', 'Award');
+ entry_header($sort, $format, $type, $blue_fields, $white_fields, $orange_fields);
$n = $position = $rank = 1;
$ship_entries = array();
$competitor_entries = array();
$r = (array_key_exists($name, $excluded_competitors)) ? 2 : 1;
$excluded_competitors[$name] = 1;
}
- show_entry($sort, $format, $entry, $allotted_time, $p, $r, $s, $n++, $type, $prize_name);
+ show_entry($sort, $format, $entry, $allotted_time, $p, $r, $s, $n++, $type, $prize_name, count($blue_fields), count($white_fields));
if ($filter) $filtered_entries[] = $entry;
}
entry_footer($race, $type);