Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (! $this->session->userdata('first_name'))
- {
- redirect('login');
- }
- <?php
- class Current_User {
- private static $user;
- private function __construct() {}
- public static function user() {
- if(!isset(self::$user)) {
- $CI =& get_instance();
- $CI->load->library('session');
- if (!$user_id = $CI->session->userdata('user_id')) {
- return FALSE;
- }
- if (!$u = Doctrine::getTable('User')->find($user_id)) {
- return FALSE;
- }
- self::$user = $u;
- }
- return self::$user;
- }
- public static function login($email, $password) {
- // get User object by email
- if ($u = Doctrine::getTable('User')->findOneByEmail($email)) {
- // to ge the mutated version of the input password
- $u_input = new User();
- $u_input->password = $password;
- // password match
- if ($u->password == $u_input->password) {
- $CI =& get_instance();
- $CI->load->library('session');
- $CI->session->set_userdata('user_id',$u->id);
- $CI->session->set_userdata('username',$u->username);
- $CI->session->set_userdata('first_name',$u->first_name);
- $CI->session->set_userdata('last_name',$u->last_name);
- self::$user = $u;
- return TRUE;
- }
- unset($u_input);
- }
- // login failed
- return FALSE;
- }
- public function __clone() {
- trigger_error('No duplicates allowed.', E_USER_ERROR);
- }
- }
- $CI->session->set_userdata('logged_in', 'TRUE');
- if (! $this->session->userdata('logged_in')==TRUE)
- {
- redirect('login');
- <?php
- class MY_Controller extends Controller
- {
- function __construct()
- {
- parent::Controller();
- if (! $this->session->userdata('first_name'))
- {
- redirect('login'); // the user is not logged in, redirect them!
- }
- }
- }
- class Secret_page extends MY_Controller {
- // your logged in specific controller code
- }
- /*
- | -------------------------------------------------------------------
- | Native Auto-load
- | -------------------------------------------------------------------
- |
- | Nothing to do with cnfig/autoload.php, this allows PHP autoload to work
- | for base controllers and some third-party libraries.
- |
- */
- function __autoload($class)
- {
- if(strpos($class, 'CI_') !== 0)
- {
- @include_once( APPPATH . 'core/'. $class . EXT );
- }
- }
- Admin_Controller.php
- MY_Controller.php
- Public_Controller.php
- $user_session = $this->model_user_lite->Session_Check();
- if ( $user_session == FALSE )
- {
- redirect('main/about');
- exit();
- }
- $data['auth'] = $user_session;
- $user_id = $this->model_user_lite->Session_UserID ();
- function Session_Check ( $return_link = FALSE )
- {
- $auth = $this->session->userdata('logged_in');
- if ( $auth == FALSE )
- {
- $return_value = FALSE;
- }
- else
- {
- $return_value = TRUE;
- }
- return $return_value;
- }
Add Comment
Please, Sign In to add comment