Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function loginUser($request, $response) {
- if (Security::isUser()) { return $this->redirect('home'); }
- $username = $request->getParam('username');
- $password = $request->getParam('password');
- $user = Security::authenticate($username, $password);
- if ($user) {
- Security::login($user->id);
- return $this->redirect('home');
- } else {
- $this->flash->addMessage('error', 'Invalid username and/or password.');
- return $this->redirect('login');
- }
- }
- public static function hash($string) {
- return password_hash($string, PASSWORD_DEFAULT);
- }
- public static function authenticate($username, $password) {
- $user = User::where('username', $username)->orWhere('email', $username)->first();
- if (password_verify($password, $user->password) && $user->banned === 0) { return $user; }
- else { return false; }
- }
- public static function getUser() {
- if (isset($_SESSION['uid'])) {
- $user = User::where('id', $_SESSION['uid'])->first();
- if ($user->banned === 1) { return false; }
- else { return $user; }
- } else { return false; }
- }
- public static function isUser() {
- if (!self::getUser()) { return false; } else { return true; }
- }
- public static function isAdmin() {
- $user = self::getUser();
- if (!$user) { return false; }
- else if ($user->role === 'admin') { return true; }
- else { return false; }
- }
- public static function login($uid) {
- session_regenerate_id();
- $_SESSION['uid'] = $uid;
- }
- public static function logout() {
- session_unset();
- session_destroy();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement