Ejemplo n.º 1
0
 /**
  * @return Tx_PtExtbase_State_Session_SessionPersistenceManager
  */
 protected function buildSessionPersistenceManager()
 {
     // Determine class name of session storage class to use for session persistence
     if (TYPO3_MODE === 'FE') {
         $sessionPersistenceStorageAdapterClassName = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager')->get('Tx_PtExtlist_Extbase_ExtbaseContext')->isInCachedMode() ? $this->configurationBuilder->buildBaseConfiguration()->getCachedSessionStorageAdapter() : $this->configurationBuilder->buildBaseConfiguration()->getUncachedSessionStorageAdapter();
         // We are in uncached mode
     } else {
         $sessionPersistenceStorageAdapterClassName = Tx_PtExtbase_State_Session_SessionPersistenceManager::STORAGE_ADAPTER_BROWSER_SESSION;
     }
     // Instantiate session storage for determined class name
     $sessionStorageAdapter = call_user_func($sessionPersistenceStorageAdapterClassName . '::getInstance');
     $this->sessionPersistenceManager = $this->sessionPersistenceManagerBuilder->getInstance($sessionStorageAdapter);
 }
 /**
  * Read the Session data into the cache
  */
 protected static function loadLifeCycleManager(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder)
 {
     // TODO use DI here once refactoring is finished
     $objectManager = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
     /* @var $objectManager \TYPO3\CMS\Extbase\Object\ObjectManager */
     $lifecycleManager = $objectManager->get('Tx_PtExtbase_Lifecycle_Manager');
     /* @var $lifecycleManager Tx_PtExtbase_Lifecycle_Manager */
     $sessionPersistenceManagerBuilder = $objectManager->get('Tx_PtExtbase_State_Session_SessionPersistenceManagerBuilder');
     /* @var $sessionPersistenceManagerBuilder Tx_PtExtbase_State_Session_SessionPersistenceManagerBuilder */
     $sessionPersistenceManager = $sessionPersistenceManagerBuilder->getInstance();
     $getPostVarAdapterFactory = $objectManager->get('Tx_PtExtlist_Domain_StateAdapter_GetPostVarAdapterFactory');
     /* @var $getPostVarAdapterFactory Tx_PtExtlist_Domain_StateAdapter_GetPostVarAdapterFactory */
     $getPostVarAdapter = $getPostVarAdapterFactory->getInstance();
     $lifecycleManager->registerAndUpdateStateOnRegisteredObject($sessionPersistenceManager);
     // If we have resetOnEmptySubmit, we reset session data here
     if ($configurationBuilder->buildBaseConfiguration()->getResetOnEmptySubmit() && $getPostVarAdapter->isEmptySubmit()) {
         $sessionPersistenceManager->resetSessionData();
     }
 }