Beispiel #1
0
 /**
  * Manual login method
  * @param type $user
  * @param type $password
  * @return int Returns 0 if success, else returns a specific error code that is > 0
  */
 public static function manualLogin($user, $password)
 {
     try {
         if (empty($user) || empty($password)) {
             return self::E_NO_DATA;
         }
         $data = Models\Auth\User::get()->where('login', Query::EQUAL, $user)->limit(1)->fetch();
         if ($data != false) {
             if (Models\Auth\User::hasField('verified') && $data->verified == 0) {
                 return self::E_NOT_VERIFIED;
             }
             if (Models\Auth\User::hasField('banned') && $data->banned == 1) {
                 return self::E_BANNED;
             }
             $hash = Security::saltedHash($password, $user);
             if ($hash == $data->password) {
                 $session = new Models\Auth\User();
                 $session->login = $data->login;
                 $session->level = $data->level;
                 $session->name = $data->name;
                 $session->surname = $data->surname;
                 $session->id = $data->id;
                 self::$user = $session;
                 $_SESSION['orionauth'] = $session->toArray();
                 return 0;
             } else {
                 return self::E_PASSWORD_MISMATCH;
             }
         } else {
             return self::E_LOGIN_MISMATCH;
         }
     } catch (Exception $e) {
         throw $e;
     }
 }
Beispiel #2
0
 public function &encrypt()
 {
     $this->password = Core\Security::saltedHash($this->password, $this->login);
     return $this;
 }