Example #1
0
 /**
  * Activates an account, if key exists.
  * Starts log in on success.
  *
  * @return Bengine_Game_Account_Activation
  */
 protected function activateAccount()
 {
     if (!empty($this->key)) {
         $result = Core::getQuery()->select("user u", array("u.userid", "u.username", "p.password", "temp_email"), "LEFT JOIN " . PREFIX . "password p ON (p.userid = u.userid)", Core::getDB()->quoteInto("u.activation = ?", $this->getKey()));
         if ($row = $result->fetchRow()) {
             $result->closeCursor();
             Hook::event("ActivateAccount", array($this));
             Core::getQuery()->update("user", array("activation" => "", "email" => $row["temp_email"]), "userid = ?", array($row["userid"]));
             $login = new Bengine_Game_Login($row["username"], $row["password"], "game", "trim");
             $login->setCountLoginAttempts(false);
             $login->checkData();
             $login->startSession();
             return $this;
         }
         $result->closeCursor();
     }
     Recipe_Header::redirect("?error=ACTIVATION_FAILED", false);
     return $this;
 }
Example #2
0
 /**
  * Switch to user account.
  *
  * @return Bengine_Game_Controller_Moderator
  */
 protected function switchUserAction()
 {
     Core::getUser()->checkPermissions(array("CAN_SWITCH_USER"));
     $result = Core::getQuery()->select("user u", array("u.username", "p.password"), "LEFT JOIN " . PREFIX . "password p ON p.userid = u.userid", Core::getDB()->quoteInto("u.userid = ?", $this->userid));
     if ($row = $result->fetchRow()) {
         $result->closeCursor();
         $login = new Bengine_Game_Login($row["username"], $row["password"], "game", "trim");
         $login->setCountLoginAttempts(false);
         $login->checkData();
         $login->startSession();
     }
     $result->closeCursor();
     return $this;
 }