Exemple #1
0
 /**
  * @param \DataContainer $dc
  * @return array
  */
 public function getAppearance(\DataContainer $dc)
 {
     $type = $dc->activeRecord->type;
     $style = FieldAppearance::getAppearance();
     $options = array();
     if ($type == 'simple_choice') {
         $options = $style['simple_choice'];
     }
     if ($type == 'multi_choice') {
         $options = $style['multi_choice'];
     }
     return $options;
 }
Exemple #2
0
 /**
  * @param DataContainer $dc
  * @return array
  */
 public function getListModules(\DataContainer $dc)
 {
     $type = 'fmodule_fe_list';
     $listID = $dc->activeRecord->f_list_field;
     $tl_moduleDB = $this->Database->prepare('SELECT name, id, f_select_module FROM tl_module WHERE type = ?')->execute($type);
     $options = array();
     $filters = array();
     while ($tl_moduleDB->next()) {
         $options[$tl_moduleDB->id] = $tl_moduleDB->name;
         $filters[$tl_moduleDB->id] = $tl_moduleDB->f_select_module;
     }
     $activeOptions = array();
     if ($listID) {
         $selectedList = $filters[$listID];
         $filterFieldsDB = $this->Database->prepare('SELECT tl_fmodules_filters.* FROM tl_fmodules JOIN tl_fmodules_filters ON tl_fmodules.id = tl_fmodules_filters.pid WHERE tablename = ? ORDER BY tl_fmodules_filters.sorting')->execute($selectedList);
         $filterFields = array();
         $doNotSetByType = array('legend_start', 'legend_end', 'widget', 'map_field');
         $doNotSetByID = array('auto_page', 'auto_item');
         $allowedOptionTypes = array('search_field', 'multi_choice', 'simple_choice', 'fulltext_search', 'date_field');
         $allowedOptionID = array('pagination', 'orderBy', 'sorting_fields');
         while ($filterFieldsDB->next()) {
             if ($filterFieldsDB->fieldID && in_array($filterFieldsDB->type, $allowedOptionTypes) && !in_array($filterFieldsDB->fieldID, $allowedOptionID)) {
                 $activeOptions[$filterFieldsDB->fieldID] = $filterFieldsDB->title;
             }
             if (in_array($filterFieldsDB->type, $doNotSetByType)) {
                 continue;
             }
             if (in_array($filterFieldsDB->fieldID, $doNotSetByID)) {
                 continue;
             }
             //active options
             $filterFields[$filterFieldsDB->id] = array('id' => $filterFieldsDB->id, 'label' => $filterFieldsDB->title, 'fieldID' => $filterFieldsDB->fieldID, 'title' => $filterFieldsDB->title, 'description' => $filterFieldsDB->description, 'type' => $filterFieldsDB->type, 'isInteger' => $filterFieldsDB->isInteger, 'addTime' => $filterFieldsDB->addTime, 'from_field' => $filterFieldsDB->from_field, 'to_field' => $filterFieldsDB->to_field, 'dataFromTaxonomy' => $filterFieldsDB->dataFromTaxonomy, 'reactToTaxonomy' => $filterFieldsDB->reactToTaxonomy, 'reactToField' => $filterFieldsDB->reactToField, 'active' => '', 'cssClass' => '', 'templates' => array(), 'appearance' => FieldAppearance::getAppearance()[$filterFieldsDB->type], 'used_templates' => '', 'used_appearance' => '', 'changeOnSubmit' => '', 'dependsOn' => '');
         }
         $GLOBALS['TL_DCA']['tl_module']['fields']['f_form_fields']['eval']['filterFields'] = $filterFields;
         $GLOBALS['TL_DCA']['tl_module']['fields']['f_form_fields']['eval']['currentListID'] = $listID;
         $GLOBALS['TL_DCA']['tl_module']['fields']['f_active_options']['options'] = $activeOptions;
     }
     return $options;
 }