public static function getAllChallengeWinners() { Challenge::getAllChallenges(); if (!self::$allFetched) { $items = query(__CLASS__)->sortDesc('time')->selectMultiple(); self::$cache = array(); foreach ($items as $item) { if (!$item->getChallenge()) { continue; } self::$cache[$item->id] = $item; } self::$allFetched = true; } return self::$cache; }
function challenge_winner($position, ChallengeWinner $winner) { switch ($position) { case POSITION_NONE: return ''; case POSITION_ACCOUNT: case POSITION_PLAYER: return $winner->getTeam()->getName() . ' won ' . $winner->getChallenge()->getName() . ' for ' . $winner->getChallenge()->getPoints() . ' points.'; case POSITION_ADMIN: $text = $winner->getTeam()->getName() . ' won ' . $winner->getChallenge()->getName() . ' for ' . $winner->getChallenge()->getPoints() . ' points.'; $id = $winner->getID(); return <<<EOT {$text} <form method="POST" action="challenges.php"> <input type="hidden" name="winner_id" value="{$id}" /> <input type="submit" name="remove" value="Remove Winner" /> </form> EOT; } }