/**
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @param $filterboxIdentifier
  * @param array $filterBoxSettings
  * @return Tx_PtExtlist_Domain_Configuration_Filters_FilterboxConfig
  */
 public static function createInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, $filterboxIdentifier, array $filterBoxSettings)
 {
     $filterboxConfiguration = new Tx_PtExtlist_Domain_Configuration_Filters_FilterboxConfig($configurationBuilder, $filterboxIdentifier, $filterBoxSettings);
     $filterSettingsArray = is_array($filterBoxSettings['filterConfigs']) ? $filterBoxSettings['filterConfigs'] : array();
     ksort($filterSettingsArray);
     foreach ($filterSettingsArray as $arrayIndex => $filterSettings) {
         Tx_PtExtbase_Assertions_Assert::isArray($filterSettings, array('message' => 'No array given for filter settings. Perhaps misconfiguration of TS for filterbox? 1280772788'));
         $filterConfig = Tx_PtExtlist_Domain_Configuration_Filters_FilterConfigFactory::createInstance($configurationBuilder, $filterboxIdentifier, $filterSettings);
         $filterboxConfiguration->addFilterConfig($filterConfig, $arrayIndex);
     }
     return $filterboxConfiguration;
 }
 /**
  * Check and set the prototype settings
  * @param array $settings
  */
 protected function setPrototypeSettings($settings)
 {
     Tx_PtExtbase_Assertions_Assert::isArray($settings['prototype'], array('message' => 'The basic settings are not available. Maybe the static typoscript template for pt_extlist is not included on this page. 1281175089'));
     $this->prototypeSettings = $settings['prototype'];
 }
Esempio n. 3
0
 /**
  * Init the dataProvider by TS-conifg
  * 
  * @param array $filterSettings
  */
 protected function initDataProviderByTsConfig($filterSettings)
 {
     $this->tsOptions = $this->filterConfig->getSettings('options');
     Tx_PtExtbase_Assertions_Assert::isArray($this->tsOptions, array('message' => 'Options configured by TS has to be an array, ' . gettype($this->tsOptions) . ' given! 1284142006'));
 }
Esempio n. 4
0
 /**
  * Overwrites the conf array with parameters from the flexform with the same keys
  *
  * @param   mixed    plugin object, e.g. "tslib_pibase" or any other object (needs a "tslib_cObj" at ->cObj, an array at ->conf and callable methods "pi_getFFvalue()" and "pi_initPIflexForm()")
  * @param   bool     (optional) if true the method won't throw an exception if no flexform data is found, default: false
  * @return  void
  * @throws  \PunktDe\PtExtbase\Exception\Exception    if no flexform data was found
  */
 public static function mergeConfAndFlexform($pObj, $noExceptionIfNoFlexform = false)
 {
     Tx_PtExtbase_Assertions_Assert::isObject($pObj, array('message' => '"$pObj" is no object.'));
     Tx_PtExtbase_Assertions_Assert::isInstanceOf($pObj->cObj, 'tslib_cObj', array('message' => '"$pObj->cObj" is no instance of "tslib_cObj".'));
     Tx_PtExtbase_Assertions_Assert::isArray($pObj->conf, array('message' => '"$pObj->conf" is no array.'));
     if (!is_callable(array($pObj, 'pi_initPIflexForm'))) {
         throw new \PunktDe\PtExtbase\Exception\Exception('"$pObj needs a callable method "pi_initPIflexForm()"');
     }
     if (!is_callable(array($pObj, 'pi_getFFvalue'))) {
         throw new \PunktDe\PtExtbase\Exception\Exception('"$pObj needs a callable method "pi_getFFvalue()"');
     }
     $pObj->pi_initPIflexForm();
     $piFlexForm = $pObj->cObj->data['pi_flexform'];
     if (is_array($piFlexForm['data'])) {
         foreach ($piFlexForm['data'] as $sheet => $data) {
             foreach ($data as $lang => $value) {
                 foreach ($value as $key => $val) {
                     $ff_value = trim($pObj->pi_getFFvalue($piFlexForm, $key, $sheet));
                     if ($ff_value != '') {
                         // do not overwrite conf settings with ''
                         $pObj->conf[$key] = $ff_value;
                         unset($pObj->conf[$key . '.']);
                         // unset stdWrap settings if available
                     }
                 }
             }
         }
     } elseif (!$noExceptionIfNoFlexform) {
         throw new \PunktDe\PtExtbase\Exception\Exception('No plugin configuration found!', 0, 'No flexform data found. Please update your plugin configuration!');
     }
 }
 /**
  * Returns a renderer configuration for given renderer settings
  *
  * @param array $rendererSettings
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @return Tx_PtExtlist_Domain_Configuration_Renderer_RendererConfig
  */
 public static function getRendererConfiguration(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, $rendererSettings)
 {
     Tx_PtExtbase_Assertions_Assert::isArray($rendererSettings, array(message => 'No renderer settings found. 1281087488'));
     $config = new Tx_PtExtlist_Domain_Configuration_Renderer_RendererConfig($configurationBuilder, $rendererSettings);
     return $config;
 }