Beispiel #1
0
 /**
  * Basic update test
  */
 public function testUserUpdate()
 {
     // Create the user to edit
     $user = UserFactory::createUser();
     $r = new Request();
     // Login
     $r["auth_token"] = $this->login($user);
     // Change values
     $r["name"] = Utils::CreateRandomString();
     $r["country_id"] = 'MX';
     $r["state_id"] = 3;
     $r["scholar_degree"] = 'Maestría';
     $r["birth_date"] = strtotime('1988-01-01');
     $r["graduation_date"] = strtotime('2016-02-02');
     // Call api
     $response = UserController::apiUpdate($r);
     // Check user from db
     $user_db = AuthTokensDAO::getUserByToken($r["auth_token"]);
     $this->assertEquals($user_db->getName(), $r["name"]);
     $this->assertEquals($user_db->getCountryId(), $r["country_id"]);
     $this->assertEquals($user_db->getStateId(), $r["state_id"]);
     $this->assertEquals($user_db->getScholarDegree(), $r["scholar_degree"]);
     $this->assertEquals($user_db->getBirthDate(), gmdate('Y-m-d', $r["birth_date"]));
     $this->assertEquals($user_db->getGraduationDate(), gmdate('Y-m-d', $r["graduation_date"]));
 }
 public static function getCurrentSession(Request $r)
 {
     $authToken = $r['auth_token'];
     if (is_null($authToken)) {
         return array('valid' => false, 'id' => null, 'name' => null, 'username' => null, 'email' => null, 'email_md5' => null, 'auth_token' => null, 'is_admin' => false, 'login_url' => '/login/');
     }
     $vo_CurrentUser = AuthTokensDAO::getUserByToken($authToken);
     if (is_null($vo_CurrentUser)) {
         // Means user has auth token, but at
         // does not exist in DB
         return array('valid' => false, 'id' => null, 'name' => null, 'username' => null, 'email' => null, 'email_md5' => null, 'auth_token' => null, 'is_admin' => false, 'login_url' => '/login/');
     }
     // Get email via his id
     $vo_Email = EmailsDAO::getByPK($vo_CurrentUser->getMainEmailId());
     $_SESSION['omegaup_user'] = array('name' => $vo_CurrentUser->getUsername(), 'email' => !is_null($vo_Email) ? $vo_Email->getEmail() : '');
     return array('valid' => true, 'id' => $vo_CurrentUser->getUserId(), 'name' => $vo_CurrentUser->getName(), 'email' => !is_null($vo_Email) ? $vo_Email->getEmail() : '', 'email_md5' => !is_null($vo_Email) ? md5($vo_Email->getEmail()) : '', 'user' => $vo_CurrentUser, 'username' => $vo_CurrentUser->getUsername(), 'auth_token' => $authToken, 'is_email_verified' => $vo_CurrentUser->getVerified(), 'is_admin' => Authorization::IsSystemAdmin($vo_CurrentUser->getUserId()), 'private_contests_count' => ContestsDAO::getPrivateContestsCount($vo_CurrentUser), 'private_problems_count' => ProblemsDAO::getPrivateCount($vo_CurrentUser), 'needs_basic_info' => $vo_CurrentUser->getPassword() == null);
 }
Beispiel #3
0
 public static function apiRegisterForContest(Request $r)
 {
     self::validateBasicDetails($r);
     $current_user = AuthTokensDAO::getUserByToken($r["auth_token"]);
     $contest_req = new ContestUserRequest();
     $contest_req->setUserId($current_user->getUserId());
     $contest_req->setContestId($r["contest"]->getContestId());
     $contest_req->setRequestTime(gmdate('Y-m-d H:i:s'));
     try {
         ContestUserRequestDAO::save($contest_req);
     } catch (Exception $e) {
         self::$log->error("Failed to create new ContestUserRequest: " . $e->getMessage());
         throw new InvalidDatabaseOperationException($e);
     }
     return array("status" => "ok");
 }