示例#1
0
 /**
  * Confirm controller function
  * Sets confirm to 1 of user with userid
  *
  * @return json|xml True on success otherwise false
  */
 public function confirm()
 {
     try {
         $error_flag = false;
         $message = "";
         $user = new LoveUser();
         $username = $_REQUEST["username"];
         $token = $_REQUEST["token"];
         if ($user->loadByUsername($username) && $user->getConfirmed() == 0 && $user->getToken() == $token) {
             $user->setConfirmed(1)->setActive(1);
             $user->save();
             // push user confirmed to registred applications
             if (!$this->getResponse()->pushUser($this->AppAuth->getAppName(), $user->getId(), 'pushVerifyUser')) {
                 throw Exception('User could not be pushed to the registred applications.');
             }
             echo json_encode(array("error" => 0, "message" => "User confirmed"));
             exit(0);
         } else {
             echo json_encode(array("error" => 1, "message" => "Unable to confirm the user"));
             exit(0);
         }
     } catch (Exception $e) {
         $msg = 'An error occured while updating:' . "\n";
         $msg .= "\n" . ' ' . $e->getMessage();
         if (defined('APPLICATION_ENV') && APPLICATION_ENV == 'development') {
             $msg .= "\n\nFile: " . $e->getFile();
             $msg .= "\nLine: " . $e->getLine();
             $msg .= "\n" . $e->getTraceAsString();
         } else {
             if (defined('APPLICATION_ENV') && APPLICATION_ENV == 'testing') {
                 $msg .= "<br /><br />File: " . $e->getFile();
                 $msg .= "<br />Line: " . $e->getLine();
                 $msg .= "<br />" . $e->getTraceAsString();
             }
         }
         echo $msg;
         exit;
     }
 }
示例#2
0
 public function testSetUserData()
 {
     $failureAffects = "Login will no longer allow admins to update users data";
     // admin ID
     $aid = 6;
     // user ID
     $uid = 9;
     $dbConfig = array();
     $dbConfig['adapter'] = 'mysqli';
     $dbConfig['host'] = 'mysql.dev.sendlove.us';
     $dbConfig['dbname'] = 'LM_logintest';
     $dbConfig['username'] = '******';
     $dbConfig['password'] = '******';
     $u = new LoveUser($dbConfig);
     $u->loadById($uid);
     // current user info
     $username = $u->getUsername();
     $nickname = $u->getNickname();
     $password = $u->getPassword();
     $confirmed = $u->getConfirmed();
     $active = $u->getActive();
     $token = $u->getToken();
     $admin = $u->getAdmin();
     $removed = $u->getRemoved();
     // updated user info
     $user_data = array("userid" => $uid, "username" => $username . $uid, "nickname" => $nickname . $uid, "password" => $password . $uid, "confirmed" => 0, "active" => 0, "admin" => 1, "removed" => 1, "token" => uniqid());
     // update user
     $this->assertEquals(true, $this->aHandler->setuserdata($this->controller, $user_data, $aid), $failureAffects);
     // verify that no error is returned
     $this->assertEquals(false, $this->controller->getErrorFlag(), $failureAffects);
     // restore previous user info
     $user_data["username"] = $username;
     $user_data["nickname"] = $nickname;
     $user_data["password"] = $password;
     $user_data["confirmed"] = 1;
     $user_data["active"] = 1;
     $user_data["admin"] = 0;
     $user_data["removed"] = 0;
     $user_data["token"] = $token;
     $this->assertEquals(true, $this->aHandler->setuserdata($this->controller, $user_data, $aid), $failureAffects);
 }