/**
     * Ensures appropriate legacy events are sent when migrating the session.
     *
     * {@inheritdoc}
     */
    public function regenerate( $destroy = false, $lifetime = null )
    {
        $oldSessionId = $this->getId();
        $success = $this->innerSessionStorage->regenerate( $destroy, $lifetime );
        $newSessionId = $this->getId();

        if ( $success )
        {
            $kernelClosure = $this->legacyKernelClosure;
            $kernelClosure()->runCallback(
                function () use ( $oldSessionId, $newSessionId )
                {
                    ezpEvent::getInstance()->notify( 'session/regenerate', array( $oldSessionId, $newSessionId ) );
                    $db = eZDB::instance();
                    $escOldKey = $db->escapeString( $oldSessionId );
                    $escNewKey = $db->escapeString( $newSessionId );
                    $escUserID = $db->escapeString( eZSession::userID() );
                    eZSession::triggerCallback( 'regenerate_pre', array( $db, $escNewKey, $escOldKey, $escUserID ) );
                    eZSession::triggerCallback( 'regenerate_post', array( $db, $escNewKey, $escOldKey, $escUserID ) );
                },
                false,
                false
            );
        }

        return $success;
    }
 public function regenerate($updateBackendData = true)
 {
     $oldSessionId = session_id();
     $this->storage->regenerate($updateBackendData);
     $newSessionId = session_id();
     ezpEvent::getInstance()->notify('session/regenerate', array($oldSessionId, $newSessionId));
     if ($updateBackendData) {
         $db = eZDB::instance();
         $escOldKey = $db->escapeString($oldSessionId);
         $escNewKey = $db->escapeString($newSessionId);
         $escUserID = $db->escapeString(eZSession::userID());
         eZSession::triggerCallback('regenerate_pre', array($db, $escNewKey, $escOldKey, $escUserID));
         eZSession::triggerCallback('regenerate_post', array($db, $escNewKey, $escOldKey, $escUserID));
     }
     return true;
 }
Ejemplo n.º 3
0
 /**
  * {@inheritdoc}
  */
 public function migrate($destroy = false, $lifetime = null)
 {
     return $this->storage->regenerate($destroy, $lifetime);
 }
Ejemplo n.º 4
0
 /**
  * {@inheritdoc}
  */
 public function migrate($destroy = false)
 {
     return $this->storage->regenerate($destroy);
 }
 /**
  * @inheritdoc
  */
 public function regenerate($destroy = false, $lifetime = null)
 {
     $this->replaceSessionId();
     return $this->decorated->regenerate($destroy, $lifetime);
 }