Exemplo n.º 1
0
 public function doRegister()
 {
     if ($this->slim->request()->post('password') !== $this->slim->request()->post('password2')) {
         $this->slim->response()->redirect("/register?failed=" . urlencode("Passwords do not match"));
     } elseif (Models\User::search()->where('username', $this->slim->request()->post('username'))->count() > 0) {
         $this->slim->response()->redirect("/register?failed=" . urlencode("Username in use."));
     } elseif (strlen($this->slim->request()->post('password')) < 6) {
         $this->slim->response()->redirect("/register?failed=" . urlencode("Password has to be atleast 6 characters"));
     } elseif (!filter_var($this->slim->request()->post('email'), FILTER_VALIDATE_EMAIL)) {
         $this->slim->response()->redirect("/register?failed=" . urlencode("Email address invalid"));
     } else {
         $userService = new UserService();
         $user = $userService->createUser($this->slim->request()->post('username'), $this->slim->request()->post('realname'), $this->slim->request()->post('password'), $this->slim->request()->post('email'));
         Session::set("user", $user);
         $this->slim->response()->redirect("/dashboard");
     }
 }
Exemplo n.º 2
0
 /**
  * @param $username
  * @param $password
  * @return bool
  */
 public function doLogin($username, $password)
 {
     // Support logging in with email address
     $user = Models\User::search()->where('email', $username)->execOne();
     // Support logging in with username
     if (!$user instanceof Models\User) {
         $user = Models\User::search()->where('username', $username)->execOne();
     }
     if (!$user instanceof Models\User) {
         TigerApp::log("No such user {$username}", Slim\Log::WARN);
         return false;
     } elseif ($user->checkPassword($password)) {
         Session::set("user", $user);
         return true;
     } else {
         TigerApp::log("Failed login for {$username}", Slim\Log::WARN);
         return false;
     }
 }
Exemplo n.º 3
0
 /**
  * Set the current user.
  * @param User $user
  * @return bool
  */
 public static function setCurrent(User $user = null)
 {
     Session::set('user', $user);
     return true;
 }