Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
    $element = id(new UIContainer())->setTitle('Claim A Challenge/Prize');
    $element->addElement(UIText::exactText(challenge_claim_form()));
    $page->addElement($element);
}
$element = id(new UIContainer())->setTitle('Challenge Dashboard');
$winners = ChallengeWinner::getAllChallengeWinners();
if (count($winners) == 0) {
    $element->addElement('No challenges have been won yet.');
}
foreach ($winners as $winner) {
    $element->addElement(UIText::exactText(challenge_winner($position, $winner)));
}
$page->addElement($element);
if ($position >= POSITION_ADMIN) {
    $element = id(new UIContainer())->setTitle('All Challenges (Admin only)');
    $challenges = Challenge::getAllChallenges();
    if (count($challenges) == 0) {
        $element->addElement('No challenges.');
    }
    foreach ($challenges as $challenge) {
        $element->addElement(UIText::exactText(challenge_list($challenge)));
    }
    $page->addElement($element);
    $page->addElement(UIText::exactText(<<<EOT
<form method="POST" action="challenges.php">
Name: <input type="text" name="name" />
Points: <input type="text" name="points" />
Claim Code (optional): <input type="text" name="code" />
<input type="submit" name="new" value="Create New Challenge" />
</form>
EOT