Esempio n. 1
0
 public static function CheckAndSaveFirstTimeAccess($user_id, $contest_id)
 {
     $contest_user = self::getByPK($user_id, $contest_id);
     // If is null, add our contest_user relationship
     if (is_null($contest_user)) {
         $contest_user = new ContestsUsers();
         $contest_user->setUserId($user_id);
         $contest_user->setContestId($contest_id);
         $contest_user->setAccessTime(date("Y-m-d H:i:s"));
         $contest_user->setScore(0);
         $contest_user->setTime(0);
         ContestsUsersDAO::save($contest_user);
     } else {
         if ($contest_user->getAccessTime() === "0000-00-00 00:00:00") {
             // If its set to default time, update it
             $contest_user->setAccessTime(date("Y-m-d H:i:s"));
             ContestsUsersDAO::save($contest_user);
         }
     }
     return $contest_user;
 }
 public static function CheckAndSaveFirstTimeAccess($user_id, $contest_id, $grant_access = false)
 {
     $contest_user = self::getByPK($user_id, $contest_id);
     if (is_null($contest_user)) {
         if (!$grant_access) {
             // User was not authorized to do this.
             throw new ForbiddenAccessException();
         }
         $contest_user = new ContestsUsers();
         $contest_user->setUserId($user_id);
         $contest_user->setContestId($contest_id);
         $contest_user->setAccessTime(date('Y-m-d H:i:s'));
         $contest_user->setScore(0);
         $contest_user->setTime(0);
         ContestsUsersDAO::save($contest_user);
     } elseif ($contest_user->getAccessTime() === '0000-00-00 00:00:00') {
         // If its set to default time, update it
         $contest_user->setAccessTime(date('Y-m-d H:i:s'));
         ContestsUsersDAO::save($contest_user);
     }
     return $contest_user;
 }
Esempio n. 3
0
 /**
  * Adds a user to a contest.
  * By default, any user can view details of public contests.
  * Only users added through this API can view private contests
  *
  * @param Request $r
  * @return array
  * @throws InvalidDatabaseOperationException
  * @throws ForbiddenAccessException
  */
 public static function apiAddUser(Request $r)
 {
     if (OMEGAUP_LOCKDOWN) {
         throw new ForbiddenAccessException("lockdown");
     }
     // Authenticate logged user
     self::authenticateRequest($r);
     self::validateAddUser($r);
     $contest_user = new ContestsUsers();
     $contest_user->setContestId($r["contest"]->getContestId());
     $contest_user->setUserId($r["user"]->getUserId());
     $contest_user->setAccessTime("0000-00-00 00:00:00");
     $contest_user->setScore("0");
     $contest_user->setTime("0");
     // Save the contest to the DB
     try {
         ContestsUsersDAO::save($contest_user);
     } catch (Exception $e) {
         // Operation failed in the data layer
         self::$log->error("Failed to create new ContestUser: "******"status" => "ok");
 }