Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.98 KB | None | 0 0
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2.  
  3. class Auth
  4. {
  5.     private $CI;
  6.     public $user;
  7.    
  8.     function __construct()
  9.     {
  10.         $this->CI =& get_instance();
  11.  
  12.         if( $user_id = $this->is_logged() )
  13.         {
  14.             $this->CI->db->select('user_id, user_role, user_username, user_email, user_active');
  15.             $this->CI->db->where('user_id', $user_id);
  16.             $query = $this->CI->db->get('{_}users');
  17.        
  18.             $result = $query->row();
  19.             $query->free_result();
  20.  
  21.             foreach( $result as $key => $value )
  22.             {
  23.                 $key = str_replace('user_', '', $key);
  24.                 $this->user->$key = $value;
  25.             }
  26.         }
  27.     }
  28.    
  29.     public function login( $login, $password )
  30.     {      
  31.         $password = sha1( $password . sha1($this->CI->config->item('salt')) );
  32.  
  33.         $user_id = $this->check_login( $login, $password );
  34.        
  35.         if( $user_id )
  36.             $this->CI->session->set_userdata(array('user' => $user_id, 'logged_in' => TRUE, 'is_admin' => TRUE));
  37.        
  38.         return ( $user_id ) ? $user_id : FALSE;
  39.     }
  40.    
  41.     public function logout()
  42.     {
  43.         if( $this->CI->session->userdata('logged_in') )
  44.             $this->CI->session->sess_destroy();
  45.     }
  46.    
  47.     public function is_logged()
  48.     {
  49.         $logged_in = $this->CI->session->userdata('logged_in');
  50.        
  51.         if( $logged_in )
  52.             $user_id = $this->CI->session->userdata('user');
  53.    
  54.         return ( @$user_id > 1 ) ? $user_id : FALSE;
  55.     }
  56.    
  57.     public function is_admin()
  58.     {
  59.         $logged_in = $this->CI->session->userdata('logged_in');
  60.        
  61.         if( $logged_in )
  62.             $admin = $this->CI->session->userdata('is_admin');
  63.        
  64.         return ( @$admin ) ? $admin : FALSE;
  65.     }
  66.    
  67.     private function check_login( $login, $password )
  68.     {          
  69.         $this->CI->db->select('user_id');
  70.         $this->CI->db->where("(user_username = '$login' OR user_email = '$login')");
  71.         $this->CI->db->where(array('user_password' => $password, 'user_active' => USER_ACTIVE) );
  72.         $this->CI->db->where("(user_role = " . USER_ADMIN . " OR user_role = ". USER_ROOT . ")");
  73.         $query = $this->CI->db->get('{_}users');
  74.    
  75.         $result = $query->row_array();
  76.         $query->free_result();
  77.        
  78.         return ( @$result['user_id'] ) ? $result['user_id'] : FALSE;
  79.     }
  80.    
  81.    
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement