return $ret;
}
+ function by_raced($a, $b) {
+ $A = 0; foreach ($a as $time) $A += $time;
+ $B = 0; foreach ($b as $time) $B += $time;
+ if ($A == $B) return 0;
+ return ($A < $B) ? 1 : -1;
+ }
+
function module_race($action, $args) {
if ($_POST['add_race']) {
if (add_race($_POST["name"], $_POST["allotted_time"])) unset($_POST);
$ship = $entry->getShip();
$cmdr_name = $ship->getCompetitor()->getCmdrName();
$hull_name = $ship->getHull()->getName();
- if (! array_key_exists($cmdr_name, $time_raced)) $time_raced[$cmdr_name] = 0;
- $time_raced[$cmdr_name] += $entry->getRacedTime();
+ if (! array_key_exists($cmdr_name, $time_raced)) $time_raced[$cmdr_name] = array();
+ $time_raced[$cmdr_name][] = $entry->getRacedTime();
$lap_count = $entry->getCompleteLaps();
$lap_count = sprintf("%d lap%s", $lap_count, ($lap_count == 1) ? "" : "s");
$lap_distance = format_distance($entry->getLapDistance()) . "Ly";
)
);
$raced_times = array(
- "raced_times" => array(
- "x" => array(),
- "y" => array(),
- "name" => "Time raced",
- "type" => "bar"
- )
+ "raced_times" => array()
);
$dbh = Propel::getConnection();
/* Average station to station speed. */
$laps["fastest_laps"]["x"][] = "Lap " . $row["lap_number"];
$laps["fastest_laps"]["y"][] = (int) $row["n"];
}
- arsort($time_raced);
- foreach ($time_raced as $cmdr_name => $time) {
- $raced_times["raced_times"]["x"][] = $cmdr_name;
- $raced_times["raced_times"]["y"][] = "2000-01-01 " . format_time($time);
+ uasort($time_raced, "by_raced");
+ $raced_times_bars = array();
+ foreach ($time_raced as $cmdr_name => $times) {
+ for ($n = 0; $n < count($times); $n++) {
+ $time = (int) $times[$n];
+ if (count($raced_times_bars) <= $n) $raced_times_bars[] = array("x" => array(), "y" => array(), "name" => "Entry " . ($n + 1), "text" => array(), "type" => "bar");
+ $raced_times_bars[$n]["x"][] = $cmdr_name;
+ $raced_times_bars[$n]["y"][] = $time;
+ $raced_times_bars[$n]["text"][] = format_time($time);
+ }
}
+ $raced_times = $raced_times_bars;
/* Time raced. */
echo "<script type=\"text/javascript\"><!--\n";
echo "var pies = " . json_encode(array_values($plots)) . ";\n";