public function resetID()
    {
        if (session_status() === PHP_SESSION_ACTIVE)
        {
            $this->set('session_mgmt', 'destroyed', time());
            $auth = $this->get('authentication');
            if ($auth)
                unset($this['authentication']);

            $new_session_id = self::create_new_id();
            $this->set('session_mgmt', 'new_session_id', $new_session_id);
            session_commit();
            
            ini_set('session.use_strict_mode', 0);
            session_id($new_session_id);

            session_start();
            ini_set('session.use_strict_mode', 1);
            $this->session_id = session_id();
            $this->values = &$_SESSION;
            $this->session_cookie->setValue($new_session_id);

            // Force destroyed to be empty 
            $this->set('session_mgmt', 'destroyed', null);

            if ($auth)
                $this['authentication'] = $auth;

            // Store the start time of the new session
            $this->set('session_mgmt', 'start_time', time());
        }
    }
public function resetID()
    {
        if (session_status() === PHP_SESSION_ACTIVE)
        {
            $this->set('session_mgmt', 'destroyed', time());
            $auth = $this->get('authentication');
            if ($auth)
                unset($this['authentication']);

            $new_session_id = self::create_new_id();
            $this->set('session_mgmt', 'new_session_id', $new_session_id);
            session_commit();
            
            ini_set('session.use_strict_mode', 0);
            session_id($new_session_id);

            session_start();
            ini_set('session.use_strict_mode', 1);
            $this->session_id = session_id();
            $this->values = &$_SESSION;
            $this->session_cookie->setValue($new_session_id);

            // Force destroyed to be empty 
            $this->set('session_mgmt', 'destroyed', null);

            if ($auth)
                $this['authentication'] = $auth;

            // Store the start time of the new session
            $this->set('session_mgmt', 'start_time', time());
        }
    }
public function resetID ( ) { if ( session_status ( ) === PHP_SESSION_ACTIVE ) { $ this -> set ( 'session_mgmt' , 'destroyed' , time ( ) ) ; $ auth = $ this -> get ( 'authentication' ) ; if ( $ auth ) unset ( $ this [ 'authentication' ] ) ; $ new_session_id = self :: create_new_id ( ) ; $ this -> set ( 'session_mgmt' , 'new_session_id' , $ new_session_id ) ; session_commit ( ) ; ini_set ( 'session.use_strict_mode' , 0 ) ; session_id ( $ new_session_id ) ; session_start ( ) ; ini_set ( 'session.use_strict_mode' , 1 ) ; $ this -> session_id = session_id ( ) ; $ this -> values = & $ _SESSION ; $ this -> session_cookie -> setValue ( $ new_session_id ) ; // Force destroyed to be empty  $ this -> set ( 'session_mgmt' , 'destroyed' , null ) ; if ( $ auth ) $ this [ 'authentication' ] = $ auth ; // Store the start time of the new session $ this -> set ( 'session_mgmt' , 'start_time' , time ( ) ) ; } }
Should be called when the session ID should be changed, for example
after logging in or out.
@return Session Provides fluent interface
Should be called when the session ID should be changed for example after logging in or out .