/** * 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; } }
public function &encrypt() { $this->password = Core\Security::saltedHash($this->password, $this->login); return $this; }