protected function buildAccessibleTagCloudDataProvider($filterSettings) { $accessibleClassName = $this->buildAccessibleProxy('Tx_PtExtlist_Domain_Model_Filter_DataProvider_TagCloud'); $accessibleTagCloudDataProvider = new $accessibleClassName(); /* @var $accessibleTagCloudDataProvider Tx_PtExtlist_Domain_Model_Filter_DataProvider_TagCloud */ $filterConfiguration = new Tx_PtExtlist_Domain_Configuration_Filters_FilterConfig($this->configurationBuilderMock, $filterSettings, 'test'); $dataBackend = Tx_PtExtlist_Domain_DataBackend_DataBackendFactory::createDataBackend($this->configurationBuilderMock); $accessibleTagCloudDataProvider->_injectDataBackend($dataBackend); $accessibleTagCloudDataProvider->_injectFilterConfig($filterConfiguration); $accessibleTagCloudDataProvider->init(); return $accessibleTagCloudDataProvider; }
/** * Get the databackend by a custom list configuration ts array * The Typoscript is identified by the given listIdentifier and merged with the extlist configuration * * @param array $customTSArray Custom typoscript list configuration in extBase format * @param string $listIdentifier a listIdentifier to identify the custom list * @return Tx_PtExtlist_Domain_DataBackend_DataBackendInterface */ public static function getDataBackendByCustomConfiguration(array $customTSArray, $listIdentifier) { try { $configurationBuilderFactory = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager')->get('Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderFactory'); /* @var $configurationBuilderFactory Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderFactory */ $configurationBuilder = $configurationBuilderFactory->getInstance($listIdentifier); } catch (Exception $e) { $extListTs = self::getExtListTyposcriptSettings($listIdentifier, $customTSArray); self::loadLifeCycleManager(); // TODO Remove this, once we have DI $configurationBuilderFactory = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager')->get('Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderFactory'); /* @var $configurationBuilderFactory Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderFactory */ $configurationBuilderFactory = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager')->get('Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderFactory'); /* @var $configurationBuilderFactory Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderFactory */ $configurationBuilderFactory->setSettings($extListTs); $configurationBuilder = $configurationBuilderFactory->getInstance($listIdentifier); } return Tx_PtExtlist_Domain_DataBackend_DataBackendFactory::createDataBackend($configurationBuilder); }
/** * Get the databackend by a custom list configuration ts array * The Typoscript is identified by the given listIdentifier and merged with the extlist configuration * * @param array $customTSArray Custom typoscript list configuration in extBase format * @param string $listIdentifier a listIdentifier to identify the custom list * @param boolean $useCache * @param null|int $bookmarkUidToRestore * @return Tx_PtExtlist_ExtlistContext_ExtlistContext */ public static function getContextByCustomConfiguration(array $customTSArray, $listIdentifier, $useCache = TRUE, $bookmarkUidToRestore = NULL) { if (!array_key_exists($listIdentifier, self::$staticInstances) || !$useCache) { self::$staticObjectManager = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager'); if ($useCache) { try { // TODO Remove this, once we have DI $configurationBuilderFactory = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager')->get('Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderFactory'); /* @var $configurationBuilderFactory Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderFactory */ $configurationBuilder = $configurationBuilderFactory->getInstance($listIdentifier); } catch (Exception $e) { $configurationBuilder = self::buildConfigurationBuilder($customTSArray, $listIdentifier); } } else { $configurationBuilder = self::buildConfigurationBuilder($customTSArray, $listIdentifier, TRUE); } if ($bookmarkUidToRestore) { $bookmarkManagerFactory = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager')->get('Tx_PtExtlist_Domain_Model_Bookmark_BookmarkManagerFactory'); /* @var $bookmarkManagerFactory Tx_PtExtlist_Domain_Model_Bookmark_BookmarkManagerFactory */ $bookmarkManager = $bookmarkManagerFactory->getInstanceByConfigurationBuilder($configurationBuilder); $bookmarkManager->restoreBookmarkByUid($bookmarkUidToRestore); } $extListBackend = Tx_PtExtlist_Domain_DataBackend_DataBackendFactory::createDataBackend($configurationBuilder, !$useCache); self::$staticInstances[$listIdentifier] = self::buildContext($extListBackend); } return self::$staticInstances[$listIdentifier]; }
protected function buildAccessibleGroupDataProvider($filterSettings = null) { $accessibleClassName = $this->buildAccessibleProxy('Tx_PtExtlist_Domain_Model_Filter_DataProvider_GroupData'); $accessibleGroupDataProvider = new $accessibleClassName(); /* @var $accessibleGroupDataProvider Tx_PtExtlist_Domain_Model_Filter_DataProvider_GroupData */ $this->defaultFilterSettings = $filterSettings; if (!$this->defaultFilterSettings) { $this->defaultFilterSettings = array('filterIdentifier' => 'test', 'filterClassName' => 'Tx_PtExtlist_Domain_Model_Filter_SelectFilter', 'partialPath' => 'Filter/SelectFilter', 'fieldIdentifier' => 'field1', 'displayFields' => 'field1,field2', 'filterField' => 'field3', 'invert' => '0'); } $filterConfiguration = new Tx_PtExtlist_Domain_Configuration_Filters_FilterConfig($this->configurationBuilderMock, $this->defaultFilterSettings, 'test'); $dataBackend = Tx_PtExtlist_Domain_DataBackend_DataBackendFactory::createDataBackend($this->configurationBuilderMock); $accessibleGroupDataProvider->_injectDataBackend($dataBackend); $accessibleGroupDataProvider->_injectFilterConfig($filterConfiguration); $accessibleGroupDataProvider->init(); return $accessibleGroupDataProvider; }