Example #1
0
 /**
  * Create and store a named context 
  * 
  * @param string $identifier
  * @param boolean $resetInstance
  * @return Tx_Yag_Domain_Context_YagContext
  */
 public static function createInstance($identifier, $resetInstance = false)
 {
     self::$activeContext = $identifier;
     if (self::$instances[$identifier] == null || $resetInstance) {
         $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
         /** @var $objectManager \TYPO3\CMS\Extbase\Object\ObjectManager */
         $extensionNameSpace = $objectManager->get('Tx_Yag_Extbase_ExtbaseContext')->getExtensionNameSpace();
         $yagContext = $objectManager->get('Tx_Yag_Domain_Context_YagContext', $identifier);
         /** @var Tx_Yag_Domain_Context_YagContext $yagContext */
         $yagContext->_injectConfigurationBuilder(Tx_Yag_Domain_Configuration_ConfigurationBuilderFactory::getInstance());
         if ($resetInstance === false) {
             $sessionPersistenceManagerBuilder = $objectManager->get('Tx_PtExtbase_State_Session_SessionPersistenceManagerBuilder');
             /* @var $sessionPersistenceManagerBuilder Tx_PtExtbase_State_Session_SessionPersistenceManagerBuilder */
             $sessionPersistenceManager = $sessionPersistenceManagerBuilder->getInstance();
             $sessionPersistenceManager->registerObjectAndLoadFromSession($yagContext);
         }
         $gpVarsAdapter = $objectManager->get('Tx_PtExtbase_State_GpVars_GpVarsAdapterFactory')->getInstance($extensionNameSpace);
         $gpVarsAdapter->injectParametersInObject($yagContext);
         $yagContext->init();
         self::$instances[$identifier] = $yagContext;
     }
     return self::$instances[$identifier];
 }