コード例 #1
0
ファイル: UserTrait.php プロジェクト: rafaborsari/utils-code
 public function checkLogin($url)
 {
     $response = new ResponseProvider();
     $this->dbh = new DataBaseProvider();
     $login = $this->session->get('user', 0);
     $sql = "SELECT roles.privilege, users.hash FROM users\n\t\tLEFT JOIN roles ON roles.id = users.role\n\t\tWHERE users.status = 1 AND users.hash = :password\n\t\t";
     $user = $this->dbh->listAll($sql, array('password' => $login['token']));
     $user = $user[0];
     if (is_null($user) or !$login['auth']) {
         return $response->redirect('index/main/info/no-session');
     }
     $privileges = explode(',', $user['privilege']);
     if (!in_array($url, $privileges)) {
         return $response->redirect('errors/code/no-privilege');
     }
 }
コード例 #2
0
 public function auth()
 {
     $request = new RequestProvider();
     $response = new ResponseProvider();
     $data = $request->post();
     if (is_null($data['email'])) {
         return $response->redirect('index/main/warning/email-required');
     }
     $user = $this->dbh->findOneBy('users', 'email', $data['email']);
     if (is_null($user)) {
         return $response->redirect('index/main/warning/user-no-exist');
     }
     $hash = md5($data['password'] . $user['salt']);
     $sql = "SELECT users.name, users.hash, users.role, roles.dashboard_url FROM users\n\t\tLEFT JOIN roles ON users.role = roles.id\n\t\tWHERE users.status = 1 AND password = '******' LIMIT 1\n\t\t";
     $auth = $this->dbh->listAll($sql);
     $auth = $auth[0];
     if (is_null($auth)) {
         return $response->redirect('index/main/danger/error');
     }
     $this->session->destroy('user');
     $this->session->set('user', 0, array('token' => $auth['hash'], 'auth' => true));
     return $response->redirect($auth['dashboard_url']);
 }