Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
- class Auth
- {
- private $CI;
- public $user;
- function __construct()
- {
- $this->CI =& get_instance();
- if( $user_id = $this->is_logged() )
- {
- $this->CI->db->select('user_id, user_role, user_username, user_email, user_active');
- $this->CI->db->where('user_id', $user_id);
- $query = $this->CI->db->get('{_}users');
- $result = $query->row();
- $query->free_result();
- foreach( $result as $key => $value )
- {
- $key = str_replace('user_', '', $key);
- $this->user->$key = $value;
- }
- }
- }
- public function login( $login, $password )
- {
- $password = sha1( $password . sha1($this->CI->config->item('salt')) );
- $user_id = $this->check_login( $login, $password );
- if( $user_id )
- $this->CI->session->set_userdata(array('user' => $user_id, 'logged_in' => TRUE, 'is_admin' => TRUE));
- return ( $user_id ) ? $user_id : FALSE;
- }
- public function logout()
- {
- if( $this->CI->session->userdata('logged_in') )
- $this->CI->session->sess_destroy();
- }
- public function is_logged()
- {
- $logged_in = $this->CI->session->userdata('logged_in');
- if( $logged_in )
- $user_id = $this->CI->session->userdata('user');
- return ( @$user_id > 1 ) ? $user_id : FALSE;
- }
- public function is_admin()
- {
- $logged_in = $this->CI->session->userdata('logged_in');
- if( $logged_in )
- $admin = $this->CI->session->userdata('is_admin');
- return ( @$admin ) ? $admin : FALSE;
- }
- private function check_login( $login, $password )
- {
- $this->CI->db->select('user_id');
- $this->CI->db->where("(user_username = '$login' OR user_email = '$login')");
- $this->CI->db->where(array('user_password' => $password, 'user_active' => USER_ACTIVE) );
- $this->CI->db->where("(user_role = " . USER_ADMIN . " OR user_role = ". USER_ROOT . ")");
- $query = $this->CI->db->get('{_}users');
- $result = $query->row_array();
- $query->free_result();
- return ( @$result['user_id'] ) ? $result['user_id'] : FALSE;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement