Ejemplo n.º 1
0
 /**
  * Factory method for repository to be used with this data backend.
  * 
  * Although it's called data source, we create an extbase repository here which acts as a 
  * datasource for this backend.
  *
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @return mixed
  */
 public static function createDataSource(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder)
 {
     $dataBackendSettings = $configurationBuilder->getSettingsForConfigObject('dataBackend');
     Tx_PtExtbase_Assertions_Assert::isNotEmptyString($dataBackendSettings['repositoryClassName'], array('message' => 'No repository class name is given for extBase backend. 1281546327'));
     Tx_PtExtbase_Assertions_Assert::isTrue(class_exists($dataBackendSettings['repositoryClassName']), array('message' => 'Given class does not exist: ' . $dataBackendSettings['repositoryClassName'] . ' 1281546328'));
     $repository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager')->get($dataBackendSettings['repositoryClassName']);
     return $repository;
 }
 /**
  * 
  * @param $configurationBuilder
  * @return Tx_PtExtlist_Domain_Configuration_Filters_FilterboxConfigCollection
  */
 public static function getInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder)
 {
     $filterboxCollectionSettings = $configurationBuilder->getSettingsForConfigObject('filter');
     $filterBoxConfigCollection = new Tx_PtExtlist_Domain_Configuration_Filters_FilterboxConfigCollection($configurationBuilder);
     foreach ($filterboxCollectionSettings as $filterboxIdentifier => $filterboxSettings) {
         $filterboxConfiguration = Tx_PtExtlist_Domain_Configuration_Filters_FilterboxConfigFactory::createInstance($configurationBuilder, $filterboxIdentifier, $filterboxSettings);
         $filterBoxConfigCollection->addFilterBoxConfig($filterboxConfiguration, $filterboxIdentifier);
     }
     return $filterBoxConfigCollection;
 }
 /**
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @return Tx_PtExtlist_Domain_Configuration_Aggregates_AggregateRowConfigCollection
  */
 protected static function buildAggregateRowConfigCollection(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder)
 {
     $aggregateRowSettings = $configurationBuilder->getSettingsForConfigObject('aggregateRows');
     ksort($aggregateRowSettings);
     $aggregateRowConfigCollection = new Tx_PtExtlist_Domain_Configuration_Aggregates_AggregateRowConfigCollection();
     foreach ($aggregateRowSettings as $rowId => $rowSetting) {
         $aggregateRowConfigCollection->addAggregateRowConfig(Tx_PtExtlist_Domain_Configuration_Aggregates_AggregateRowConfigFactory::getAggregateRowConfig($configurationBuilder, $rowSetting), $rowId);
     }
     return $aggregateRowConfigCollection;
 }
 /**
  * Builds a collection of aggregate config objects for a given settings array
  *
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @return Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  */
 protected static function buildAggregateConfigCollection(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder)
 {
     $aggregateConfigCollection = new Tx_PtExtlist_Domain_Configuration_Data_Aggregates_AggregateConfigCollection();
     $aggregateSettingsArray = $configurationBuilder->getSettingsForConfigObject('aggregateData');
     foreach ($aggregateSettingsArray as $aggregateIdentifier => $aggregateSettings) {
         $aggregateConfig = new Tx_PtExtlist_Domain_Configuration_Data_Aggregates_AggregateConfig($aggregateIdentifier, $aggregateSettings, $configurationBuilder);
         $aggregateConfigCollection->addAggregateConfig($aggregateConfig);
     }
     return $aggregateConfigCollection;
 }
 /**
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @return Tx_PtExtlist_Domain_Configuration_Pager_PagerConfigCollection
  */
 public static function getInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder)
 {
     $pagerCollectionSettings = $configurationBuilder->getSettingsForConfigObject('pager');
     $pagerConfigCollection = new Tx_PtExtlist_Domain_Configuration_Pager_PagerConfigCollection($configurationBuilder);
     foreach ($pagerCollectionSettings['pagerConfigs'] as $pagerIdentifier => $pagerSettings) {
         $pagerSettings['itemsPerPage'] = $pagerCollectionSettings['itemsPerPage'];
         $pagerConfiguration = Tx_PtExtlist_Domain_Configuration_Pager_PagerConfigFactory::getInstance($configurationBuilder, $pagerIdentifier, $pagerSettings);
         $pagerConfigCollection->addPagerConfig($pagerConfiguration, $pagerIdentifier);
     }
     return $pagerConfigCollection;
 }
Ejemplo n.º 6
0
 /**
  * Get the settings 
  * 
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @return array
  */
 protected static function getExportSettingsForCurrentView(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder)
 {
     $allExportSettings = $configurationBuilder->getSettingsForConfigObject('export');
     $controllerSettings = $configurationBuilder->getSettings('controller');
     $selectedViewSettingsKey = $controllerSettings['Export']['download']['view'];
     $exportSettingsPath = explode('.', $selectedViewSettingsKey);
     $exportSettings = \TYPO3\CMS\Extbase\Utility\ArrayUtility::getValueByPath($configurationBuilder->getSettings(), $exportSettingsPath);
     /* In this case we have to merge the prototype settings again because the prototype settings are filled from flexform....
      * This smells ... 
      * TODO: find a better way .... 
      */
     return $configurationBuilder->getMergedSettingsWithPrototype($exportSettings, 'export');
 }
 /**
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @return Tx_PtExtlist_Domain_Configuration_Renderer_RendererChainConfig
  */
 public static function getInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder)
 {
     $rendererChainConfiguration = null;
     $rendererChainSettings = $configurationBuilder->getSettingsForConfigObject('rendererChain');
     if (is_array($rendererChainSettings['rendererConfigs'])) {
         ksort($rendererChainSettings['rendererConfigs']);
         $rendererChainConfiguration = new Tx_PtExtlist_Domain_Configuration_Renderer_RendererChainConfig($configurationBuilder, $rendererChainSettings);
         foreach ($rendererChainSettings['rendererConfigs'] as $rendererIdentifier => $rendererSettings) {
             $rendererConfiguration = Tx_PtExtlist_Domain_Configuration_Renderer_RendererConfigFactory::getRendererConfiguration($configurationBuilder, $rendererSettings);
             $rendererChainConfiguration->addRendererConfig($rendererConfiguration, $rendererIdentifier);
         }
     }
     return $rendererChainConfiguration;
 }
 /**
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @return Tx_PtExtlist_Domain_Configuration_Columns_ColumnConfigCollection
  */
 protected static function buildColumnConfigCollection(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder)
 {
     $columnSettings = $configurationBuilder->getSettingsForConfigObject('columns');
     ksort($columnSettings);
     $columnConfigCollection = new Tx_PtExtlist_Domain_Configuration_Columns_ColumnConfigCollection();
     $security = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager')->get('Tx_PtExtlist_Domain_Security_GroupSecurity');
     /* @var $security Tx_PtExtlist_Domain_Security_GroupSecurity */
     foreach ($columnSettings as $columnId => $columnSetting) {
         $columnSettingMergedWithPrototype = $configurationBuilder->getMergedSettingsWithPrototype($columnSetting, 'column.default');
         $columnConfig = new Tx_PtExtlist_Domain_Configuration_Columns_ColumnConfig($configurationBuilder, $columnSettingMergedWithPrototype);
         // Inject security information
         $accessable = $security->isAccessableColumn($columnConfig);
         $columnConfig->setAccessable($accessable);
         $columnConfigCollection->addColumnConfig($columnId, $columnConfig);
     }
     return $columnConfigCollection;
 }
 public function testGetBookmarksSettings()
 {
     $configurationBuilder = new Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder($this->settings, 'test');
     $bookmarkSettings = $configurationBuilder->getSettingsForConfigObject('bookmarks');
     $this->assertEquals($this->settings['listConfig']['test']['bookmarks'], $bookmarkSettings);
 }
Ejemplo n.º 10
0
 /**
  * Returns a instance of the list configuration.
  * 
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @return Tx_PtExtlist_Domain_Configuration_List_ListConfig
  */
 public static function getInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder)
 {
     return new Tx_PtExtlist_Domain_Configuration_List_ListConfig($configurationBuilder, $configurationBuilder->getSettingsForConfigObject('list'));
 }
 /**
  * Returns a instance of the breadcrumbs configuration.
  * 
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @return Tx_PtExtlist_Domain_Configuration_BreadCrumbs_BreadCrumbsConfig
  */
 public static function getInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder)
 {
     return new Tx_PtExtlist_Domain_Configuration_BreadCrumbs_BreadCrumbsConfig($configurationBuilder, $configurationBuilder->getSettingsForConfigObject('breadCrumbs'));
 }
Ejemplo n.º 12
0
 /**
  * Returns a instance of a base configuration.
  * 
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @return Tx_PtExtlist_Domain_Configuration_Base_BaseConfig
  */
 public static function getInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder)
 {
     $baseSettings = $configurationBuilder->getSettingsForConfigObject('base');
     $baseConfig = new Tx_PtExtlist_Domain_Configuration_Base_BaseConfig($configurationBuilder, $baseSettings);
     return $baseConfig;
 }
 /**
  * Returns an instance of a field config collection for given field settings
  *
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @return Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection
  */
 public static function getInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder)
 {
     $fieldsSettings = $configurationBuilder->getSettingsForConfigObject('fields');
     $fieldConfigCollection = self::buildFieldConfigCollection($configurationBuilder, $fieldsSettings);
     return $fieldConfigCollection;
 }