예제 #1
0
 /**
  *
  * Get clarifications of a contest
  *
  * @param Request $r
  * @return array
  * @throws InvalidDatabaseOperationException
  */
 public static function apiClarifications(Request $r)
 {
     self::authenticateRequest($r);
     self::validateClarifications($r);
     $is_contest_director = Authorization::IsContestAdmin($r['current_user_id'], $r['contest']);
     try {
         $clarifications = ClarificationsDAO::GetContestClarifications($r['contest']->getContestId(), $is_contest_director, $r['current_user_id'], $r['offset'], $r['rowcount']);
     } catch (Exception $e) {
         // Operation failed in the data layer
         throw new InvalidDatabaseOperationException($e);
     }
     foreach ($clarifications as &$clar) {
         $clar['time'] = (int) $clar['time'];
     }
     // Add response to array
     $response = array();
     $response['clarifications'] = $clarifications;
     $response['status'] = "ok";
     return $response;
 }