Пример #1
0
     $challenge = new Challenge(array('year' => Year::current(), 'name' => $challenge_name, 'points' => $challenge_points, 'code' => $challenge_code));
     $challenge->doAdd("Created challenge {$challenge_name} successfully.");
     break;
 case 'delete':
     $challenge = Challenge::getChallenge($challenge_id);
     foreach ($challenge->getWinners() as $winner) {
         $winner->doRemove();
     }
     $challenge->doRemove("Deleted challenge successfully.");
     break;
 case 'add':
     $winner = new ChallengeWinner(array('team' => $team_id, 'challenge' => $challenge_id));
     $winner->doAdd("Added challenge winner successfully.");
     break;
 case 'remove':
     $winner = ChallengeWinner::getChallengeWinner($winner_id);
     $winner->doRemove("Deleted challenge winner successfully.");
     break;
 case 'claim':
     $team = Session::currentTeam();
     $challenge = Challenge::getChallengeByCode($code);
     if (!$team) {
         add_notification('You cannot claim a challenge if you have no team.');
     } else {
         if (!$challenge) {
             add_notification('No challenge with this code found. If you think you received this message in error, bring your code to a coordinator in person.');
         } else {
             if ($challenge->getWinners()) {
                 add_notification('Someone else has already claimed the code you entered.');
             } else {
                 $winner = new ChallengeWinner(array('team' => $team->getID(), 'challenge' => $challenge->getID()));