[ 'dataContainer' => DC_Table::class, 'ctable' => ['tl_survey_content', 'tl_survey_condition', 'tl_survey_editor', 'tl_survey_submission'], 'enableVersioning' => true, 'onload_callback' => [ [SurveyDcaListener::class, 'refreshSurveyBackendStateIndex'], ], 'onsubmit_callback' => [ [SurveyDcaListener::class, 'persistSurveyBackendState'], ], 'sql' => [ 'keys' => [ 'id' => 'primary', 'alias' => 'unique', 'published' => 'index', ], ], ], 'list' => [ 'sorting' => [ 'mode' => 1, 'fields' => ['title'], 'flag' => 1, 'panelLayout' => 'filter;sort,search,limit', ], 'label' => [ 'fields' => ['title', 'categorySummary', 'assignedMembersSummary'], 'showColumns' => true, ], 'global_operations' => [ 'all' => [ 'href' => 'act=select', 'class' => 'header_edit_all', 'attributes' => 'onclick="Backend.getScrollOffset()" accesskey="e"', ], ], 'operations' => [ 'edit' => [ 'href' => 'table=tl_survey_content', 'icon' => 'children.svg', ], 'editheader' => [ 'href' => 'act=edit', 'icon' => 'header.svg', ], 'delete' => [ 'href' => 'act=delete', 'icon' => 'delete.svg', 'attributes' => 'onclick="if(!confirm(\'Eintrag wirklich loeschen?\'))return false;Backend.getScrollOffset()"', ], 'show' => [ 'href' => 'act=show', 'icon' => 'show.svg', ], 'copyPublicLink' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['copyPublicLink'], 'icon' => 'copy.svg', 'button_callback' => [SurveyDcaListener::class, 'generateCopyPublicLinkButton'], ], 'showResults' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['showResults'], 'icon' => 'show.svg', 'button_callback' => [SurveyDcaListener::class, 'generateShowResultsButton'], ], ], ], 'palettes' => [ 'default' => '{title_legend},title,category,description;{assignment_legend},assignedMembers;{publishing_legend},published,isLocked;{meta_legend},createdAt,updatedAt', ], 'fields' => [ 'id' => [ 'sql' => 'int(10) unsigned NOT NULL auto_increment', ], 'tstamp' => [ 'sql' => 'int(10) unsigned NOT NULL default 0', ], 'title' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['title'], 'inputType' => 'text', 'search' => true, 'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'], 'sql' => "varchar(255) NOT NULL default ''", ], 'alias' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['alias'], 'inputType' => 'text', 'eval' => ['maxlength' => 20, 'readonly' => true, 'alwaysSave' => true, 'tl_class' => 'w50'], 'save_callback' => [[SurveyDcaListener::class, 'generateSurveyAlias']], 'sql' => "varchar(20) NOT NULL default ''", ], 'description' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['description'], 'inputType' => 'textarea', 'eval' => ['rte' => 'tinyMCE', 'tl_class' => 'clr'], 'sql' => 'text NULL', ], 'category' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['category'], 'inputType' => 'select', 'foreignKey' => 'tl_survey_category.title', 'eval' => ['multiple' => true, 'chosen' => true, 'tl_class' => 'clr'], 'relation' => ['type' => 'hasMany', 'load' => 'lazy', 'table' => 'tl_survey_category', 'field' => 'id'], 'sql' => 'blob NULL', ], 'categoryFilter' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['categoryFilter'], 'filter' => true, 'inputType' => 'select', 'options_callback' => [SurveyDcaListener::class, 'getCategoryOptions'], 'eval' => ['includeBlankOption' => true, 'chosen' => true, 'findInSet' => true], 'sql' => "varchar(255) NOT NULL default ''", ], 'categorySummary' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['categorySummary'], 'sql' => 'text NULL', ], 'published' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['published'], 'inputType' => 'checkbox', 'eval' => ['tl_class' => 'w50 m12'], 'sql' => "char(1) NOT NULL default ''", ], 'isLocked' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['isLocked'], 'inputType' => 'checkbox', 'eval' => ['tl_class' => 'w50 m12'], 'sql' => "char(1) NOT NULL default ''", ], 'assignedMembers' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['assignedMembers'], 'inputType' => 'select', 'options_callback' => [Mummert\SurveyBundle\EventListener\SurveyDcaListener::class, 'getMemberOptions'], 'eval' => ['multiple' => true, 'chosen' => true, 'tl_class' => 'clr'], 'load_callback' => [[Mummert\SurveyBundle\EventListener\SurveyDcaListener::class, 'loadSurveyAssignedMembers']], 'save_callback' => [[Mummert\SurveyBundle\EventListener\SurveyDcaListener::class, 'saveSurveyAssignedMembers']], 'sql' => 'blob NULL', ], 'assignedMembersFilter' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['assignedMembersFilter'], 'filter' => true, 'inputType' => 'select', 'options_callback' => [SurveyDcaListener::class, 'getMemberOptions'], 'eval' => ['includeBlankOption' => true, 'chosen' => true, 'findInSet' => true], 'sql' => 'text NULL', ], 'assignedMembersSummary' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['assignedMembersSummary'], 'sql' => 'text NULL', ], 'createdBy' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['createdBy'], 'inputType' => 'text', 'eval' => ['readonly' => true, 'tl_class' => 'w50'], 'sql' => 'int(10) unsigned NOT NULL default 0', ], 'updatedBy' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['updatedBy'], 'inputType' => 'text', 'eval' => ['readonly' => true, 'tl_class' => 'w50'], 'sql' => 'int(10) unsigned NOT NULL default 0', ], 'createdAt' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['createdAt'], 'inputType' => 'text', 'eval' => ['rgxp' => 'datim', 'readonly' => true, 'tl_class' => 'w50'], 'sql' => 'int(10) unsigned NOT NULL default 0', ], 'updatedAt' => [ 'label' => &$GLOBALS['TL_LANG']['tl_survey']['updatedAt'], 'inputType' => 'text', 'eval' => ['rgxp' => 'datim', 'readonly' => true, 'tl_class' => 'w50'], 'sql' => 'int(10) unsigned NOT NULL default 0', ], ], ]; if ('cli' !== PHP_SAPI) { $hasListMetadataColumns = false; try { $columnNames = array_map( static fn (string $columnName): string => strtolower($columnName), System::getContainer()->get('database_connection')->fetchFirstColumn('SHOW COLUMNS FROM tl_survey'), ); $hasListMetadataColumns = !array_diff( ['categoryfilter', 'categorysummary', 'assignedmembersfilter', 'assignedmemberssummary'], $columnNames, ); } catch (\Throwable) { $hasListMetadataColumns = false; } if (!$hasListMetadataColumns) { $GLOBALS['TL_DCA']['tl_survey']['list']['label']['fields'] = ['title', 'alias']; unset( $GLOBALS['TL_DCA']['tl_survey']['fields']['categoryFilter'], $GLOBALS['TL_DCA']['tl_survey']['fields']['categorySummary'], $GLOBALS['TL_DCA']['tl_survey']['fields']['assignedMembersFilter'], $GLOBALS['TL_DCA']['tl_survey']['fields']['assignedMembersSummary'], ); } }