<?php

/**
 * Avisota newsletter and mailing system
 * Copyright © 2016 Sven Baumann
 *
 * PHP version 5
 *
 * @copyright  way.vision 2016
 * @author     Sven Baumann <*****@*****.**>
 * @package    avisota/contao-renderer-mailchimp
 * @license    LGPL-3.0+
 * @filesource
 */
/**
 * Table orm_avisota_layout
 * Entity Avisota\Contao:Layout
 */
$GLOBALS['TL_DCA']['orm_avisota_layout']['metapalettes']['mailChimp'] = array('layout' => array('type', 'title', 'alias', 'preview'), 'template' => array('mailChimpTemplate', 'clearStyles', 'stylesheets'), 'structure' => array('allowedCellContents'));
$GLOBALS['TL_DCA']['orm_avisota_layout']['fields']['mailChimpTemplate'] = array('label' => &$GLOBALS['TL_LANG']['orm_avisota_layout']['mailChimpTemplate'], 'exclude' => true, 'inputType' => 'select', 'eval' => array('mandatory' => true, 'includeBlankOption' => true, 'submitOnChange' => true), 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback('avisota.create-mailchimp-template-options', 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'));
<?php

/**
 * Avisota newsletter and mailing system
 * Copyright © 2016 Sven Baumann
 *
 * PHP version 5
 *
 * @copyright  way.vision 2016
 * @author     Sven Baumann <*****@*****.**>
 * @package    avisota/contao-message
 * @license    LGPL-3.0+
 * @filesource
 */
use ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory;
/**
 * Table orm_avisota_theme
 * Entity Avisota\Contao:Theme
 */
$GLOBALS['TL_DCA']['orm_avisota_theme'] = array('entity' => array('idGenerator' => \Doctrine\ORM\Mapping\ClassMetadataInfo::GENERATOR_TYPE_UUID), 'config' => array('dataContainer' => 'General', 'ctable' => array('orm_avisota_layout'), 'enableVersioning' => true), 'dca_config' => array('data_provider' => array('default' => array('class' => 'Contao\\Doctrine\\ORM\\DataContainer\\General\\EntityDataProvider', 'source' => 'orm_avisota_theme'), 'orm_avisota_layout' => array('class' => 'Contao\\Doctrine\\ORM\\DataContainer\\General\\EntityDataProvider', 'source' => 'orm_avisota_layout')), 'childCondition' => array(array('from' => 'orm_avisota_theme', 'to' => 'orm_avisota_layout', 'setOn' => array(array('to_field' => 'theme', 'from_field' => 'id')), 'filter' => array(array('local' => 'theme', 'remote' => 'id', 'operation' => '=')), 'inverse' => array(array('local' => 'theme', 'remote' => 'id', 'operation' => '='))), array('from' => 'orm_avisota_theme', 'to' => 'orm_avisota_layout', 'setOn' => array(array('to_field' => 'theme', 'from_field' => 'id')), 'filter' => array(array('local' => 'theme', 'remote' => 'id', 'operation' => '=')), 'inverse' => array(array('local' => 'theme', 'remote' => 'id', 'operation' => '='))))), 'list' => array('sorting' => array('mode' => 1, 'flag' => 1, 'fields' => array('title'), 'panelLayout' => 'limit'), 'label' => array('fields' => array('title'), 'format' => '%s'), 'global_operations' => array('all' => array('label' => &$GLOBALS['TL_LANG']['MSC']['all'], 'href' => 'act=select', 'class' => 'header_edit_all', 'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"')), 'operations' => array('edit' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_theme']['edit'], 'href' => 'act=edit', 'icon' => 'edit.gif'), 'copy' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_theme']['copy'], 'icon' => 'copy.gif', 'attributes' => 'onclick="Backend.getScrollOffset();"'), 'delete' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_theme']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', 'attributes' => 'onclick="if (!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\')) return false; Backend.getScrollOffset();"'), 'show' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_theme']['show'], 'href' => 'act=show', 'icon' => 'show.gif'), 'layouts' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_theme']['layouts'], 'href' => 'table=orm_avisota_layout', 'icon' => 'assets/avisota/message/images/layout.png', 'idparam' => 'pid'))), 'metapalettes' => array('default' => array('theme' => array('title', 'alias'), 'expert' => array(':hide', 'templateDirectory'))), 'metasubpalettes' => array(), 'fields' => array('id' => array('field' => array('id' => true, 'type' => 'string', 'length' => '36', 'options' => array('fixed' => true))), 'createdAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'create'))), 'updatedAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'update'))), 'layouts' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['layouts'], 'eval' => array('doNotShow' => true), 'oneToMany' => array('targetEntity' => 'Avisota\\Contao\\Entity\\Layout', 'cascade' => array('all'), 'mappedBy' => 'theme', 'orderBy' => array('title' => 'ASC'))), 'title' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_theme']['title'], 'exclude' => true, 'search' => true, 'inputType' => 'text', 'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50')), 'alias' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_theme']['alias'], 'exclude' => true, 'search' => true, 'inputType' => 'text', 'eval' => array('rgxp' => 'alnum', 'unique' => true, 'spaceToUnderscore' => true, 'maxlength' => 128, 'tl_class' => 'w50'), 'setter_callback' => array(array('Contao\\Doctrine\\ORM\\Helper', 'generateAlias'))), 'templateDirectory' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_theme']['templateDirectory'], 'exclude' => true, 'inputType' => 'select', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback('avisota.create-template-directory-options', 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('tl_class' => 'clr', 'includeBlankOption' => true), 'field' => array())));
<?php

/**
 * Avisota newsletter and mailing system
 * Copyright © 2016 Sven Baumann
 *
 * PHP version 5
 *
 * @copyright  way.vision 2016
 * @author     Sven Baumann <*****@*****.**>
 * @package    avisota/contao-message
 * @license    LGPL-3.0+
 * @filesource
 */
use ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory;
/**
 * Table orm_avisota_message_category
 * Entity Avisota\Contao:MessageCategory
 */
$GLOBALS['TL_DCA']['orm_avisota_message_category'] = array('entity' => array('idGenerator' => \Doctrine\ORM\Mapping\ClassMetadataInfo::GENERATOR_TYPE_UUID), 'config' => array('dataContainer' => 'General', 'ctable' => array('orm_avisota_message'), 'switchToEdit' => true, 'enableVersioning' => true), 'dca_config' => array('data_provider' => array('default' => array('class' => 'Contao\\Doctrine\\ORM\\DataContainer\\General\\EntityDataProvider', 'source' => 'orm_avisota_message_category'), 'orm_avisota_message' => array('class' => 'Contao\\Doctrine\\ORM\\DataContainer\\General\\EntityDataProvider', 'source' => 'orm_avisota_message'), 'orm_avisota_message_content' => array('class' => 'Contao\\Doctrine\\ORM\\DataContainer\\General\\EntityDataProvider', 'source' => 'orm_avisota_message_content')), 'childCondition' => array(array('from' => 'orm_avisota_message_category', 'to' => 'orm_avisota_message', 'setOn' => array(array('to_field' => 'category', 'from_field' => 'id')), 'filter' => array(array('local' => 'category', 'remote' => 'id', 'operation' => '='))), array('from' => 'orm_avisota_message', 'to' => 'orm_avisota_message_content', 'setOn' => array(array('to_field' => 'message', 'from_field' => 'id')), 'filter' => array(array('local' => 'message', 'remote' => 'id', 'operation' => '='))))), 'list' => array('sorting' => array('mode' => 1, 'flag' => 1, 'fields' => array('title'), 'panelLayout' => 'search,limit'), 'label' => array('fields' => array('title'), 'format' => '%s'), 'global_operations' => array('all' => array('label' => &$GLOBALS['TL_LANG']['MSC']['all'], 'href' => 'act=select', 'class' => 'header_edit_all', 'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"')), 'operations' => array('edit' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['edit'], 'href' => 'table=orm_avisota_message', 'icon' => 'edit.gif', 'idparam' => 'pid'), 'editheader' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['editheader'], 'href' => 'act=edit', 'icon' => 'header.gif'), 'copy' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['copy'], 'icon' => 'copy.gif', 'attributes' => 'onclick="Backend.getScrollOffset();"'), 'delete' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', 'attributes' => 'onclick="if (!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\')) return false; Backend.getScrollOffset();"'), 'show' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['show'], 'href' => 'act=show', 'icon' => 'show.gif'))), 'palettes' => array('__selector__' => array('boilerplates')), 'metapalettes' => array('default' => array('category' => array('title', 'alias'), 'recipients' => array('recipientsMode'), 'layout' => array('layoutMode'), 'queue' => array('queueMode'), 'online' => array('viewOnlinePage'), 'expert' => array(':hide', 'boilerplates', 'showInMenu')), 'boilerplates' => array('category' => array('title', 'alias'), 'expert' => array(':hide', 'boilerplates'))), 'metasubpalettes' => array('showInMenu' => array('useCustomMenuIcon'), 'useCustomMenuIcon' => array('menuIcon')), 'metasubselectpalettes' => array('recipientsMode' => array('byCategory' => array('recipients'), 'byMessageOrCategory' => array('recipients')), 'layoutMode' => array('byCategory' => array('layout'), 'byMessageOrCategory' => array('layout')), 'queueMode' => array('byCategory' => array('queue'), 'byMessageOrCategory' => array('queue'))), 'fields' => array('id' => array('field' => array('id' => true, 'type' => 'string', 'length' => '36', 'options' => array('fixed' => true))), 'createdAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'create'))), 'updatedAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'update'))), 'messages' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['messages'], 'eval' => array('doNotShow' => true), 'oneToMany' => array('targetEntity' => 'Avisota\\Contao\\Entity\\Message', 'cascade' => array('all'), 'mappedBy' => 'category', 'orderBy' => array('sendOn' => 'ASC'))), 'title' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['title'], 'exclude' => true, 'search' => true, 'inputType' => 'text', 'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50')), 'alias' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['alias'], 'exclude' => true, 'search' => true, 'inputType' => 'text', 'eval' => array('rgxp' => 'alnum', 'unique' => true, 'spaceToUnderscore' => true, 'maxlength' => 128, 'tl_class' => 'w50'), 'setter_callback' => array(array('Contao\\Doctrine\\ORM\\Helper', 'generateAlias'))), 'recipientsMode' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['recipientsMode'], 'default' => 'byCategory', 'inputType' => 'select', 'options' => array('byCategory', 'byMessageOrCategory', 'byMessage'), 'reference' => &$GLOBALS['TL_LANG']['orm_avisota_message_category'], 'eval' => array('mandatory' => true, 'submitOnChange' => true, 'tl_class' => 'clr w50')), 'recipients' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['recipients'], 'inputType' => 'select', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback('avisota.create-recipient-source-options', 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('mandatory' => true, 'includeBlankOption' => true, 'tl_class' => 'w50'), 'manyToOne' => array('targetEntity' => 'Avisota\\Contao\\Entity\\RecipientSource', 'cascade' => array('persist', 'detach', 'merge', 'refresh'), 'joinColumns' => array(array('name' => 'recipientSource', 'referencedColumnName' => 'id')))), 'layoutMode' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['layoutMode'], 'default' => 'byCategory', 'inputType' => 'select', 'options' => array('byCategory', 'byMessageOrCategory', 'byMessage'), 'reference' => &$GLOBALS['TL_LANG']['orm_avisota_message_category'], 'eval' => array('mandatory' => true, 'submitOnChange' => true, 'tl_class' => 'w50')), 'layout' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['layout'], 'inputType' => 'select', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback('avisota.create-layout-options', 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('mandatory' => true, 'includeBlankOption' => true, 'tl_class' => 'w50'), 'manyToOne' => array('targetEntity' => 'Avisota\\Contao\\Entity\\Layout', 'cascade' => array('persist', 'detach', 'merge', 'refresh'), 'joinColumns' => array(array('name' => 'layout', 'referencedColumnName' => 'id')))), 'queueMode' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['queueMode'], 'default' => 'byCategory', 'inputType' => 'select', 'options' => array('byCategory', 'byMessageOrCategory', 'byMessage'), 'reference' => &$GLOBALS['TL_LANG']['orm_avisota_message_category'], 'eval' => array('mandatory' => true, 'submitOnChange' => true, 'tl_class' => 'w50')), 'queue' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['queue'], 'inputType' => 'select', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback('avisota.create-queue-options', 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('mandatory' => true, 'includeBlankOption' => true, 'tl_class' => 'w50'), 'manyToOne' => array('targetEntity' => 'Avisota\\Contao\\Entity\\Queue', 'cascade' => array('persist', 'detach', 'merge', 'refresh'), 'joinColumns' => array(array('name' => 'queue', 'referencedColumnName' => 'id')))), 'viewOnlinePage' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['viewOnlinePage'], 'inputType' => 'pageTree', 'field' => array('type' => 'integer')), 'boilerplates' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['boilerplates'], 'exclude' => true, 'filter' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'm12')), 'showInMenu' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['showInMenu'], 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'm12 w50')), 'useCustomMenuIcon' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['useCustomMenuIcon'], 'default' => false, 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'm12 w50', 'submitOnChange' => true)), 'menuIcon' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['menuIcon'], 'inputType' => 'fileTree', 'eval' => array('tl_class' => 'clr', 'files' => true, 'filesOnly' => true, 'fieldType' => 'radio', 'extensions' => 'png,gif,jpg,jpeg'), 'field' => array())));
<?php

/**
 * xNavigation - Highly extendable and flexible navigation module for the Contao Open Source CMS
 *
 * Copyright (C) 2013 bit3 UG <http://bit3.de>
 *
 * @package    xNavigation
 * @author     Tristan Lins <*****@*****.**>
 * @link       http://www.themeplus.de
 * @license    http://www.gnu.org/licenses/lgpl-3.0.html LGPL
 */
\Controller::loadLanguageFile('tl_article');
/**
 * Table tl_xnavigation_provider
 */
$GLOBALS['TL_DCA']['tl_xnavigation_provider']['metapalettes']['article'] = array('provider' => array('type', 'title'), 'article' => array('article_columns'));
$GLOBALS['TL_DCA']['tl_xnavigation_provider']['fields']['article_columns'] = array('label' => &$GLOBALS['TL_LANG']['tl_xnavigation_provider']['article_columns'], 'inputType' => 'checkboxWizard', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Bit3\Contao\XNavigation\Article\XNavigationArticleEvents::BUILD_ARTICLE_SECTIONS), 'reference' => &$GLOBALS['TL_LANG']['tl_article'], 'eval' => array('mandatory' => true, 'multiple' => true), 'sql' => "text NULL");
                    }
                }
                $visibleCondition->addCondition(new \ContaoCommunityAlliance\DcGeneral\DataDefinition\Palette\Condition\Property\NotCondition($boilerplateCondition));
                $visibleCondition->addCondition(new \ContaoCommunityAlliance\DcGeneral\DataDefinition\Palette\Condition\Property\PropertyCallbackCondition(function (\Contao\Doctrine\ORM\DataContainer\General\EntityModel $model = null) {
                    /** @var \Avisota\Contao\Entity\Message $message */
                    $message = $model->getEntity();
                    return $message->getCategory()->getQueueMode() == 'byMessageOrCategory';
                }));
                $property->setVisibleCondition($visibleCondition);
                break;
            case 'queue':
                $visibleCondition = $property->getVisibleCondition();
                if (!$visibleCondition) {
                    $visibleCondition = new \ContaoCommunityAlliance\DcGeneral\DataDefinition\Palette\Condition\Property\PropertyConditionChain();
                } else {
                    if (!$visibleCondition instanceof \ContaoCommunityAlliance\DcGeneral\DataDefinition\Palette\Condition\Property\PropertyConditionChain || $visibleCondition->getConjunction() != \ContaoCommunityAlliance\DcGeneral\DataDefinition\Palette\Condition\Property\PropertyConditionChain::AND_CONJUNCTION) {
                        $visibleCondition = new \ContaoCommunityAlliance\DcGeneral\DataDefinition\Palette\Condition\Property\PropertyConditionChain(array($visibleCondition));
                    }
                }
                $visibleCondition->addCondition(new \ContaoCommunityAlliance\DcGeneral\DataDefinition\Palette\Condition\Property\PropertyCallbackCondition(function (\Contao\Doctrine\ORM\DataContainer\General\EntityModel $model = null) {
                    /** @var \Avisota\Contao\Entity\Message $message */
                    $message = $model->getEntity();
                    $category = $message->getCategory();
                    return $category->getQueueMode() == 'byMessage' || $category->getQueueMode() == 'byMessageOrCategory' && $message->getSetQueue();
                }));
                $property->setVisibleCondition($visibleCondition);
                break;
        }
    }
})), 'metasubpalettes' => array('addFile' => array('files')), 'fields' => array('id' => array('field' => array('id' => true, 'type' => 'string', 'length' => '36', 'options' => array('fixed' => true))), 'createdAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'create'))), 'updatedAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'update'))), 'category' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['category'], 'eval' => array('doNotShow' => true), 'manyToOne' => array('index' => true, 'targetEntity' => 'Avisota\\Contao\\Entity\\MessageCategory', 'cascade' => array('persist', 'detach', 'merge', 'refresh'), 'inversedBy' => 'messages', 'joinColumns' => array(array('name' => 'category', 'referencedColumnName' => 'id')))), 'contents' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['contents'], 'eval' => array('doNotShow' => true), 'oneToMany' => array('targetEntity' => 'Avisota\\Contao\\Entity\\MessageContent', 'cascade' => array('all'), 'mappedBy' => 'message', 'orderBy' => array('cell' => 'ASC', 'sorting' => 'ASC'))), 'subject' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['subject'], 'exclude' => true, 'search' => true, 'flag' => 1, 'inputType' => 'text', 'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50', 'decodeEntities' => true)), 'alias' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['alias'], 'exclude' => true, 'search' => true, 'inputType' => 'text', 'eval' => array('rgxp' => 'alnum', 'unique' => true, 'spaceToUnderscore' => true, 'maxlength' => 128, 'tl_class' => 'w50'), 'setter_callback' => array(array('Contao\\Doctrine\\ORM\\Helper', 'generateAlias'))), 'language' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['language'], 'exclude' => true, 'filter' => true, 'flag' => 1, 'inputType' => 'select', 'options' => $this->getLanguages(), 'eval' => array('mandatory' => true, 'tl_class' => 'w50'), 'field' => array('type' => 'string', 'length' => 5, 'options' => array('fixed' => true))), 'description' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['description'], 'exclude' => true, 'search' => true, 'inputType' => 'textarea', 'eval' => array('maxlength' => 255, 'rows' => 4)), 'keywords' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['keywords'], 'exclude' => true, 'search' => true, 'inputType' => 'text', 'eval' => array('maxlength' => 255, 'tl_class' => 'long')), 'setRecipients' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['setRecipients'], 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'clr w50', 'submitOnChange' => true)), 'recipients' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['recipients'], 'inputType' => 'select', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback('avisota.create-recipient-source-options', 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('mandatory' => true, 'includeBlankOption' => true, 'tl_class' => 'w50'), 'manyToOne' => array('targetEntity' => 'Avisota\\Contao\\Entity\\RecipientSource', 'cascade' => array('persist', 'detach', 'merge', 'refresh'), 'joinColumns' => array(array('name' => 'recipientSource', 'referencedColumnName' => 'id')))), 'setLayout' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['setLayout'], 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'clr m12 w50', 'submitOnChange' => true)), 'layout' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['layout'], 'inputType' => 'select', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback('avisota.create-layout-options', 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('mandatory' => true, 'includeBlankOption' => true, 'tl_class' => 'w50'), 'manyToOne' => array('targetEntity' => 'Avisota\\Contao\\Entity\\Layout', 'cascade' => array('persist', 'detach', 'merge', 'refresh'), 'joinColumns' => array(array('name' => 'layout', 'referencedColumnName' => 'id')))), 'setQueue' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['setQueue'], 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'clr m12 w50', 'submitOnChange' => true)), 'queue' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['queue'], 'inputType' => 'select', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback('avisota.create-queue-options', 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('mandatory' => true, 'includeBlankOption' => true, 'tl_class' => 'w50'), 'manyToOne' => array('targetEntity' => 'Avisota\\Contao\\Entity\\Queue', 'cascade' => array('persist', 'detach', 'merge', 'refresh'), 'joinColumns' => array(array('name' => 'queue', 'referencedColumnName' => 'id')))), 'addFile' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['addFile'], 'exclude' => true, 'filter' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true)), 'files' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message']['files'], 'exclude' => true, 'inputType' => 'fileTree', 'eval' => array('fieldType' => 'checkbox', 'files' => true, 'filesOnly' => true, 'inputType' => 'checkbox', 'multiple' => true, 'mandatory' => true), 'field' => array()), 'sendOn' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient']['sendOn'], 'filter' => true, 'sorting' => true, 'flag' => 7, 'eval' => array('doNotCopy' => true, 'doNotShow' => true), 'field' => array('type' => 'datetime', 'nullable' => true))));
<?php

/*
 * This file is part of the "Table of contents element" package.
 *
 * (c) Tristan Lins <*****@*****.**>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
/**
 * Palettes
 */
$GLOBALS['TL_DCA']['tl_content']['metapalettes']['table-of-contents'] = array('type' => array('type', 'headline'), 'navigation' => array('toc_source', 'toc_include_articles', 'toc_min_level', 'toc_max_level', 'xnavigation_template'), 'protected' => array(':hide', 'protected'), 'expert' => array(':hide', 'guests', 'cssID', 'space'), 'invisible' => array(':hide', 'invisible', 'start', 'stop'));
$GLOBALS['TL_DCA']['tl_content']['metasubselectpalettes']['toc_source'] = array('sections' => array('toc_sections'), 'articles' => array('toc_articles'));
/**
 * Fields
 */
$GLOBALS['TL_DCA']['tl_content']['fields']['toc_source'] = array('label' => &$GLOBALS['TL_LANG']['tl_content']['toc_source'], 'default' => 'sections', 'inputType' => 'select', 'options' => array('sections', 'articles'), 'reference' => &$GLOBALS['TL_LANG']['tl_content']['toc_sources'], 'eval' => array('mandatory' => true, 'submitOnChange' => true), 'sql' => 'varchar(10) NOT NULL default \'\'');
$GLOBALS['TL_DCA']['tl_content']['fields']['toc_sections'] = array('label' => &$GLOBALS['TL_LANG']['tl_content']['toc_sections'], 'default' => 'main', 'inputType' => 'checkboxWizard', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Bit3\Contao\TableOfContentsElement\TableOfContentsElementEvents::CREATE_SECTION_OPTIONS), 'eval' => array('mandatory' => true, 'multiple' => true), 'sql' => 'text NULL');
$GLOBALS['TL_DCA']['tl_content']['fields']['toc_articles'] = array('label' => &$GLOBALS['TL_LANG']['tl_content']['toc_articles'], 'default' => 'main', 'inputType' => 'checkbox', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Bit3\Contao\TableOfContentsElement\TableOfContentsElementEvents::CREATE_ARTICLE_OPTIONS), 'eval' => array('mandatory' => true, 'multiple' => true), 'sql' => 'text NULL');
$GLOBALS['TL_DCA']['tl_content']['fields']['toc_include_articles'] = array('label' => &$GLOBALS['TL_LANG']['tl_content']['toc_include_articles'], 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'm12'), 'sql' => 'char(1) NOT NULL default \'\'');
$GLOBALS['TL_DCA']['tl_content']['fields']['toc_min_level'] = array('label' => &$GLOBALS['TL_LANG']['tl_content']['toc_min_level'], 'default' => '1', 'inputType' => 'select', 'options' => array('1', '2', '3', '4', '5', '6'), 'eval' => array('mandatory' => true, 'tl_class' => 'w50'), 'sql' => 'tinyint(1) NOT NULL default \'1\'');
$GLOBALS['TL_DCA']['tl_content']['fields']['toc_max_level'] = array('label' => &$GLOBALS['TL_LANG']['tl_content']['toc_max_level'], 'default' => '6', 'inputType' => 'select', 'options' => array('1', '2', '3', '4', '5', '6'), 'eval' => array('mandatory' => true, 'tl_class' => 'w50'), 'sql' => 'tinyint(1) NOT NULL default \'6\'');
<?php

/**
 * Avisota newsletter and mailing system
 * Copyright (C) 2013 Tristan Lins
 *
 * PHP version 5
 *
 * @copyright  bit3 UG 2013
 * @author     Tristan Lins <*****@*****.**>
 * @package    avisota/contao-message
 * @license    LGPL-3.0+
 * @filesource
 */
/**
 * Table orm_avisota_layout
 * Entity Avisota\Contao:Layout
 */
$GLOBALS['TL_DCA']['orm_avisota_layout'] = array('entity' => array('idGenerator' => \Doctrine\ORM\Mapping\ClassMetadataInfo::GENERATOR_TYPE_UUID), 'config' => array('dataContainer' => 'General', 'enableVersioning' => true), 'dca_config' => array('data_provider' => array('default' => array('class' => 'Contao\\Doctrine\\ORM\\DataContainer\\General\\EntityDataProvider', 'source' => 'orm_avisota_layout'), 'parent' => array('class' => 'Contao\\Doctrine\\ORM\\DataContainer\\General\\EntityDataProvider', 'source' => 'orm_avisota_theme')), 'childCondition' => array(array('from' => 'orm_avisota_theme', 'to' => 'orm_avisota_layout', 'setOn' => array(array('to_field' => 'theme', 'from_field' => 'id')), 'filter' => array(array('local' => 'theme', 'remote' => 'id', 'operation' => '='))))), 'list' => array('sorting' => array('mode' => 4, 'flag' => 1, 'fields' => array('title'), 'panelLayout' => 'filter;search,limit', 'headerFields' => array('title'), 'child_record_callback' => array('Avisota\\Contao\\Message\\Core\\DataContainer\\Layout', 'addElement')), 'label' => array('fields' => array('title'), 'format' => '%s'), 'global_operations' => array(), 'operations' => array('edit' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_layout']['edit'], 'href' => 'act=edit', 'icon' => 'edit.gif'), 'copy' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_layout']['copy'], 'icon' => 'copy.gif', 'attributes' => 'onclick="Backend.getScrollOffset();"'), 'delete' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_layout']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', 'attributes' => 'onclick="if (!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\')) return false; Backend.getScrollOffset();"'), 'show' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_layout']['show'], 'href' => 'act=show', 'icon' => 'show.gif'))), 'palettes' => array('__selector__' => array('type')), 'metapalettes' => array('default' => array('layout' => array('type', 'title', 'alias', 'preview'))), 'fields' => array('id' => array('field' => array('id' => true, 'type' => 'string', 'length' => '36', 'options' => array('fixed' => true))), 'createdAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'create'))), 'updatedAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'update'))), 'theme' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['theme'], 'eval' => array('doNotShow' => true), 'manyToOne' => array('index' => true, 'targetEntity' => 'Avisota\\Contao\\Entity\\Theme', 'cascade' => array('persist', 'detach', 'merge', 'refresh'), 'inversedBy' => 'layouts', 'joinColumns' => array(array('name' => 'theme', 'referencedColumnName' => 'id')))), 'type' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_layout']['type'], 'exclude' => true, 'inputType' => 'select', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback('avisota.create-layout-type-options', 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'reference' => &$GLOBALS['TL_LANG']['orm_avisota_layout'], 'eval' => array('mandatory' => true, 'includeBlankOption' => true, 'submitOnChange' => true)), 'title' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_layout']['title'], 'exclude' => true, 'search' => true, 'inputType' => 'text', 'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50')), 'alias' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_mailing_list']['alias'], 'exclude' => true, 'search' => true, 'inputType' => 'text', 'eval' => array('rgxp' => 'alnum', 'unique' => true, 'spaceToUnderscore' => true, 'maxlength' => 128, 'tl_class' => 'w50'), 'setter_callback' => array(array('Contao\\Doctrine\\ORM\\Helper', 'generateAlias'))), 'preview' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_layout']['preview'], 'exclude' => true, 'inputType' => 'fileTree', 'eval' => array('files' => true, 'filesOnly' => true, 'fieldType' => 'radio', 'extensions' => 'jpg,jpeg,png,gif', 'tl_class' => 'clr')), 'stylesheets' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_layout']['stylesheets'], 'inputType' => 'checkboxWizard', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback('avisota.create-layout-stylesheet-options', 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('tl_class' => 'clr', 'multiple' => true), 'field' => array()), 'allowedCellContents' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_layout']['allowedCellContents'], 'exclude' => true, 'inputType' => 'checkbox', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback('avisota.create-content-type-options', 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('multiple' => true), 'field' => array(), 'getter_callback' => array(array('Avisota\\Contao\\Message\\Core\\DataContainer\\Layout', 'getterCallbackAllowedCellContents')), 'setter_callback' => array(array('Avisota\\Contao\\Message\\Core\\DataContainer\\Layout', 'setterCallbackAllowedCellContents'))), 'clearStyles' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_layout']['clearStyles'], 'exclude' => true, 'inputType' => 'checkbox')));
<?php

/**
 * Avisota newsletter and mailing system
 * Copyright (C) 2013 Tristan Lins
 *
 * PHP version 5
 *
 * @copyright  bit3 UG 2013
 * @author     Tristan Lins <*****@*****.**>
 * @package    avisota/contao-core
 * @license    LGPL-3.0+
 * @filesource
 */
/**
 * System configuration
 */
$GLOBALS['TL_DCA']['tl_avisota_settings'] = array('config' => array('dataContainer' => 'File', 'closed' => true, 'onload_callback' => array(array('Avisota\\Contao\\Core\\DataContainer\\Settings', 'onload_callback'))), 'palettes' => array('__selector__' => array()), 'metapalettes' => array('default' => array('transport' => array('avisota_default_transport'), 'developer' => array('avisota_developer_mode'))), 'metasubpalettes' => array('avisota_developer_mode' => array('avisota_developer_email')), 'metasubselectpalettes' => array('avisota_chart' => array('highstock' => array('avisota_chart_highstock_confirmed'))), 'fields' => array('avisota_default_transport' => array('label' => &$GLOBALS['TL_LANG']['tl_avisota_settings']['avisota_default_transport'], 'inputType' => 'select', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\Core\CoreEvents::CREATE_TRANSPORT_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('mandatory' => true, 'includeBlankOption' => true, 'tl_class' => 'w50')), 'avisota_developer_mode' => array('label' => &$GLOBALS['TL_LANG']['tl_avisota_settings']['avisota_developer_mode'], 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'clr m12 w50')), 'avisota_developer_email' => array('label' => &$GLOBALS['TL_LANG']['tl_avisota_settings']['avisota_developer_email'], 'inputType' => 'text', 'eval' => array('mandatory' => true, 'rgxp' => 'email', 'tl_class' => 'w50'))));
 * Fields
 */
$arrFields = array('formHybridDataContainer' => array('inputType' => 'select', 'label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridDataContainer'], 'options_callback' => array('tl_form_hybrid_module', 'getDataContainers'), 'eval' => array('chosen' => true, 'submitOnChange' => true, 'includeBlankOption' => true, 'tl_class' => 'w50 clr', 'mandatory' => true), 'exclude' => true, 'sql' => "varchar(64) NOT NULL default ''"), 'formHybridViewMode' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridViewMode'], 'default' => FORMHYBRID_VIEW_MODE_DEFAULT, 'exclude' => true, 'inputType' => 'select', 'options_callback' => array('HeimrichHannot\\FormHybrid\\Backend\\ModuleBackend', 'getViewModes'), 'eval' => array('tl_class' => 'w50 clr', 'mandatory' => true, 'includeBlankOption' => true, 'submitOnChange' => true), 'sql' => "varchar(10) NOT NULL default 'default'", 'reference' => &$GLOBALS['TL_LANG']['tl_module']['reference']), 'formHybridEditable' => array('inputType' => 'checkboxWizard', 'label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridEditable'], 'options_callback' => array('tl_form_hybrid_module', 'getEditable'), 'exclude' => true, 'eval' => array('multiple' => true, 'includeBlankOption' => true, 'tl_class' => 'w50 autoheight clr', 'mandatory' => true), 'sql' => "blob NULL"), 'formHybridAddEditableRequired' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridAddEditableRequired'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'w50'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridEditableRequired' => array('inputType' => 'select', 'label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridEditableRequired'], 'options_callback' => array('tl_form_hybrid_module', 'getFields'), 'exclude' => true, 'eval' => array('multiple' => true, 'chosen' => true, 'includeBlankOption' => true, 'tl_class' => 'w50 autoheight'), 'sql' => "blob NULL"), 'formHybridAddReadOnly' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridAddReadOnly'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'w50'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridReadOnly' => array('inputType' => 'select', 'label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridReadOnly'], 'options_callback' => array('tl_form_hybrid_module', 'getFields'), 'exclude' => true, 'eval' => array('multiple' => true, 'chosen' => true, 'includeBlankOption' => true, 'tl_class' => 'w50 autoheight'), 'sql' => "blob NULL"), 'formHybridAddDisplayedSubPaletteFields' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridAddDisplayedSubPaletteFields'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'w50'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridDisplayedSubPaletteFields' => array('inputType' => 'checkboxWizard', 'label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridDisplayedSubPaletteFields'], 'options_callback' => array('tl_form_hybrid_module', 'getSubPaletteFields'), 'exclude' => true, 'eval' => array('multiple' => true, 'includeBlankOption' => true, 'tl_class' => 'w50 autoheight'), 'sql' => "blob NULL"), 'formHybridEditableSkip' => array('inputType' => 'checkboxWizard', 'label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridEditableSkip'], 'options_callback' => array('tl_form_hybrid_module', 'getFields'), 'exclude' => true, 'eval' => array('multiple' => true, 'includeBlankOption' => true, 'tl_class' => 'w50 autoheight'), 'sql' => "blob NULL"), 'formHybridAddDefaultValues' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridAddDefaultValues'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'w50 clr'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridDefaultValues' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridDefaultValues'], 'exclude' => true, 'inputType' => 'multiColumnWizard', 'eval' => array('columnFields' => array('field' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridDefaultValues']['field'], 'exclude' => true, 'inputType' => 'select', 'options_callback' => array('tl_form_hybrid_module', 'getFields'), 'eval' => array('style' => 'width: 150px', 'chosen' => true, 'includeBlankOption' => true)), 'value' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridDefaultValues']['value'], 'exclude' => true, 'inputType' => 'text', 'eval' => array('style' => 'width: 100px')), 'label' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridDefaultValues']['label'], 'exclude' => true, 'inputType' => 'text', 'eval' => array('style' => 'width: 350px', 'allowHtml' => true))), 'tl_class' => 'clr long'), 'sql' => "blob NULL"), 'formHybridTemplate' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridTemplate'], 'default' => 'formhybrid_default', 'exclude' => true, 'inputType' => 'select', 'options_callback' => array('HeimrichHannot\\FormHybrid\\Backend\\ModuleBackend', 'getFormHybridTemplates'), 'eval' => array('tl_class' => 'w50 clr', 'mandatory' => true, 'includeBlankOption' => true), 'sql' => "varchar(64) NOT NULL default 'formhybrid_default'"), 'formHybridReadonlyTemplate' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridReadonlyTemplate'], 'default' => 'formhybridreadonly_default', 'exclude' => true, 'inputType' => 'select', 'options_callback' => array('HeimrichHannot\\FormHybrid\\Backend\\ModuleBackend', 'getFormHybridReadonlyTemplates'), 'eval' => array('tl_class' => 'w50 clr', 'mandatory' => true, 'includeBlankOption' => true), 'sql' => "varchar(64) NOT NULL default 'formhybridreadonly_default'"), 'formHybridCustomSubTemplates' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridCustomSubTemplates'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'w50 clr'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridAction' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridAction'], 'exclude' => true, 'inputType' => 'pageTree', 'foreignKey' => 'tl_page.title', 'eval' => array('fieldType' => 'radio', 'tl_class' => 'clr'), 'sql' => "int(10) unsigned NOT NULL default '0'", 'relation' => array('type' => 'hasOne', 'load' => 'eager')), 'formHybridAddHashToAction' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridAddHashToAction'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'w50', 'submitOnChange' => true), 'sql' => "char(1) NOT NULL default ''"), 'formHybridCustomHash' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridCustomHash'], 'exclude' => true, 'inputType' => 'text', 'eval' => array('maxlength' => 255, 'tl_class' => 'w50'), 'sql' => "varchar(255) NOT NULL default ''"), 'formHybridCssClass' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridCssClass'], 'exclude' => true, 'filter' => false, 'inputType' => 'text', 'eval' => array('maxlength' => 64, 'tl_class' => 'w50 clr'), 'sql' => "varchar(64) NOT NULL default ''"), 'formHybridStartTemplate' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridStartTemplate'], 'default' => 'formhybridStart_default', 'exclude' => true, 'inputType' => 'select', 'options_callback' => array('HeimrichHannot\\FormHybrid\\Backend\\ModuleBackend', 'getFormHybridStartTemplates'), 'eval' => array('tl_class' => 'w50'), 'sql' => "varchar(64) NOT NULL default ''"), 'formHybridStopTemplate' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridStopTemplate'], 'default' => 'formhybridStop_default', 'exclude' => true, 'inputType' => 'select', 'options_callback' => array('HeimrichHannot\\FormHybrid\\Backend\\ModuleBackend', 'getFormHybridStopTemplates'), 'eval' => array('tl_class' => 'w50'), 'sql' => "varchar(64) NOT NULL default ''"), 'formHybridAsync' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridAsync'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'w50 clr'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridSuccessMessage' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSuccessMessage'], 'exclude' => true, 'filter' => false, 'inputType' => 'textarea', 'explanation' => 'formhybrid_inserttags_text', 'eval' => array('allowHtml' => true, 'tl_class' => 'clr', 'class' => 'monospace', 'rte' => 'ace|html', 'helpwizard' => true), 'sql' => "text NULL"), 'formHybridSkipScrollingToSuccessMessage' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSkipScrollingToSuccessMessage'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'w50 clr'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridSendSubmissionAsNotification' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSendSubmissionAsNotification'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'clr', 'helpwizard' => true), 'sql' => "char(1) NOT NULL default ''"), 'formHybridSubmissionNotification' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSubmissionNotification'], 'exclude' => true, 'search' => true, 'inputType' => 'select', 'options_callback' => array('tl_form_hybrid_module', 'getNoficiationMessages'), 'eval' => array('chosen' => true, 'maxlength' => 255, 'tl_class' => 'w50 clr', 'includeBlankOption' => true), 'sql' => "int(10) unsigned NOT NULL default '0'"), 'formHybridSendSubmissionViaEmail' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSendSubmissionViaEmail'], 'exclude' => true, 'inputType' => 'checkbox', 'explanation' => 'formhybrid_inserttags', 'eval' => array('submitOnChange' => true, 'tl_class' => 'w50 clr', 'helpwizard' => true), 'sql' => "char(1) NOT NULL default ''"), 'formHybridSubmissionMailSender' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSubmissionMailSender'], 'exclude' => true, 'filter' => false, 'inputType' => 'text', 'explanation' => 'formhybrid_inserttags', 'eval' => array('mandatory' => false, 'maxlength' => 128, 'tl_class' => 'w50 clr', 'helpwizard' => true), 'sql' => "varchar(128) NOT NULL default ''"), 'formHybridSubmissionMailRecipient' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSubmissionMailRecipient'], 'exclude' => true, 'search' => true, 'inputType' => 'text', 'explanation' => 'formhybrid_inserttags', 'eval' => array('mandatory' => true, 'maxlength' => 128, 'rgxp' => 'emails', 'tl_class' => 'w50 clr', 'helpwizard' => true), 'sql' => "varchar(128) NOT NULL default ''"), 'formHybridSubmissionMailSubject' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSubmissionMailSubject'], 'exclude' => true, 'search' => true, 'inputType' => 'text', 'explanation' => 'formhybrid_inserttags_text', 'eval' => array('mandatory' => false, 'maxlength' => 128, 'decodeEntities' => true, 'tl_class' => 'w50', 'helpwizard' => true), 'sql' => "varchar(128) NOT NULL default ''"), 'formHybridSubmissionMailText' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSubmissionMailText'], 'exclude' => true, 'filter' => false, 'inputType' => 'textarea', 'explanation' => 'formhybrid_inserttags_text', 'eval' => array('tl_class' => 'clr', 'decodeEntities' => true, 'alwaysSave' => true, 'helpwizard' => true), 'sql' => "text NULL"), 'formHybridSubmissionMailTemplate' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSubmissionMailTemplate'], 'exclude' => true, 'filter' => false, 'inputType' => 'fileTree', 'explanation' => 'formhybrid_inserttags_text', 'eval' => array('helpwizard' => true, 'files' => true, 'fieldType' => 'radio', 'extensions' => 'htm,html,txt,tpl'), 'sql' => "binary(16) NULL"), 'formHybridSubmissionMailAttachment' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSubmissionMailAttachment'], 'exclude' => true, 'inputType' => 'fileTree', 'eval' => array('multiple' => true, 'fieldType' => 'checkbox', 'files' => true), 'sql' => "blob NULL"), 'formHybridSendConfirmationAsNotification' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSendConfirmationAsNotification'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'clr', 'helpwizard' => true), 'sql' => "char(1) NOT NULL default ''"), 'formHybridConfirmationNotification' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridConfirmationNotification'], 'exclude' => true, 'search' => true, 'inputType' => 'select', 'options_callback' => array('tl_form_hybrid_module', 'getNoficiationMessages'), 'eval' => array('chosen' => true, 'maxlength' => 255, 'tl_class' => 'w50 clr', 'includeBlankOption' => true), 'sql' => "int(10) unsigned NOT NULL default '0'"), 'formHybridSendConfirmationViaEmail' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSendConfirmationViaEmail'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'w50 clr'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridConfirmationMailRecipientField' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridConfirmationMailRecipientField'], 'exclude' => true, 'search' => true, 'inputType' => 'select', 'options_callback' => array('tl_form_hybrid_module', 'getEmailFormFields'), 'eval' => array('mandatory' => true, 'chosen' => true, 'maxlength' => 128, 'tl_class' => 'w50 clr'), 'sql' => "varchar(128) NOT NULL default ''"), 'formHybridConfirmationMailSender' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridConfirmationMailSender'], 'exclude' => true, 'filter' => false, 'inputType' => 'text', 'explanation' => 'formhybrid_inserttags', 'eval' => array('mandatory' => false, 'maxlength' => 128, 'tl_class' => 'w50 clr', 'helpwizard' => true), 'sql' => "varchar(128) NOT NULL default ''"), 'formHybridConfirmationMailSubject' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridConfirmationMailSubject'], 'exclude' => true, 'search' => true, 'inputType' => 'text', 'explanation' => 'formhybrid_inserttags_text', 'eval' => array('mandatory' => false, 'maxlength' => 128, 'decodeEntities' => true, 'tl_class' => 'w50', 'helpwizard' => true), 'sql' => "varchar(128) NOT NULL default ''"), 'formHybridConfirmationMailText' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridConfirmationMailText'], 'exclude' => true, 'filter' => false, 'inputType' => 'textarea', 'explanation' => 'formhybrid_inserttags_text', 'eval' => array('tl_class' => 'clr', 'decodeEntities' => true, 'alwaysSave' => true, 'helpwizard' => true), 'sql' => "text NULL"), 'formHybridConfirmationMailTemplate' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridConfirmationMailTemplate'], 'exclude' => true, 'filter' => false, 'inputType' => 'fileTree', 'explanation' => 'formhybrid_inserttags_text', 'eval' => array('helpwizard' => true, 'files' => true, 'fieldType' => 'radio', 'extensions' => 'htm,html,txt,tpl'), 'sql' => "binary(16) NULL"), 'formHybridConfirmationMailAttachment' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridConfirmationMailAttachment'], 'exclude' => true, 'inputType' => 'fileTree', 'eval' => array('multiple' => true, 'fieldType' => 'checkbox', 'files' => true), 'sql' => "blob NULL"), 'formHybridAddFieldDependentRedirect' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridAddFieldDependentRedirect'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'w50'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridFieldDependentRedirectKeepParams' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridFieldDependentRedirectKeepParams'], 'inputType' => 'text', 'eval' => array('tl_class' => 'w50', 'maxlength' => 64), 'sql' => "varchar(64) NOT NULL default ''"), 'formHybridCustomSubmit' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridCustomSubmit'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'clr w50'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridSubmitLabel' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSubmitLabel'], 'exclude' => true, 'inputType' => 'select', 'options_callback' => array('HeimrichHannot\\FormHybrid\\Backend\\ModuleBackend', 'getSubmitLabels'), 'eval' => array('tl_class' => 'w50 clr', 'mandatory' => true, 'maxlength' => 64), 'sql' => "varchar(64) NOT NULL default ''"), 'formHybridSubmitClass' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSubmitClass'], 'exclude' => true, 'inputType' => 'text', 'eval' => array('maxlength' => 64, 'tl_class' => 'w50'), 'sql' => "varchar(64) NOT NULL default ''"), 'formHybridAddPermanentFields' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridAddPermanentFields'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'w50'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridPermanentFields' => array('inputType' => 'select', 'label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridPermanentFields'], 'options_callback' => array('tl_form_hybrid_module', 'getEditable'), 'exclude' => true, 'eval' => array('multiple' => true, 'includeBlankOption' => true, 'chosen' => true, 'tl_class' => 'w50', 'mandatory' => true), 'sql' => "blob NULL"), 'formHybridSingleSubmission' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSingleSubmission'], 'exclude' => true, 'default' => true, 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'w50'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridResetAfterSubmission' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridResetAfterSubmission'], 'exclude' => true, 'default' => true, 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'w50'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridJumpToPreserveParams' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridJumpToPreserveParams'], 'exclude' => true, 'inputType' => 'text', 'eval' => array('tl_class' => 'w50', 'maxlength' => 128), 'sql' => "varchar(128) NOT NULL default ''"), 'formHybridUseCustomFormId' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridUseCustomFormId'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'w50'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridCustomFormId' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridCustomFormId'], 'exclude' => true, 'inputType' => 'text', 'eval' => array('tl_class' => 'w50', 'maxlength' => 50), 'sql' => "varchar(50) NOT NULL default ''"), 'formHybridAllowIdAsGetParameter' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridAllowIdAsGetParameter'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'w50 clr', 'submitOnChange' => true), 'sql' => "char(1) NOT NULL default ''"), 'formHybridIdGetParameter' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridIdGetParameter'], 'exclude' => true, 'inputType' => 'text', 'eval' => array('tl_class' => 'clr w50', 'maxlength' => 64, 'mandatory' => true), 'sql' => "varchar(64) NOT NULL default 'id'"), 'formHybridAppendIdToUrlOnCreation' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridAppendIdToUrlOnCreation'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'w50'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridTransformGetParamsToHiddenFields' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridTransformGetParamsToHiddenFields'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'w50'), 'sql' => "char(1) NOT NULL default ''"), 'formHybridCreatePdfAfterSubmission' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridAddEditableRequired'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'w50'), 'sql' => "char(1) NOT NULL default ''"));
// conditions for the field depending redirect
$arrFields['formHybridFieldDependentRedirectConditions'] = $arrFields['formHybridDefaultValues'];
$arrFields['formHybridFieldDependentRedirectConditions']['label'] =& $GLOBALS['TL_LANG']['tl_module']['formHybridFieldDependentRedirectConditions'];
unset($arrFields['formHybridFieldDependentRedirectConditions']['eval']['columnFields']['label']);
unset($arrFields['formHybridFieldDependentRedirectConditions']['eval']['columnFields']['hidden']);
$arrFields['formHybridFieldDependentRedirectJumpTo'] = $arrDca['fields']['jumpTo'];
$arrFields['formHybridFieldDependentRedirectJumpTo']['label'] =& $GLOBALS['TL_LANG']['tl_module']['formHybridFieldDependentRedirectJumpTo'];
$arrFields['formHybridFieldDependentRedirectJumpTo']['eval']['mandatory'] = true;
$arrFields['formHybridFieldDependentRedirectJumpTo']['eval']['tl_class'] = 'w50';
if (in_array('avisota-core', \ModuleLoader::getActive())) {
    $arrFields['formHybridSubmissionAvisotaMessage'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSubmissionAvisotaMessage'], 'inputType' => 'select', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\Message\Core\MessageEvents::CREATE_BOILERPLATE_MESSAGE_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('includeBlankOption' => true, 'tl_class' => 'w50 clr', 'chosen' => true, 'submitOnChange' => true), 'sql' => "char(36) NOT NULL default ''");
    $arrFields['formHybridSubmissionAvisotaSalutationGroup'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridSubmissionAvisotaSalutationGroup'], 'inputType' => 'select', 'options_callback' => array('tl_form_hybrid_module', 'getSalutationGroupOptions'), 'eval' => array('includeBlankOption' => true, 'tl_class' => 'w50', 'chosen' => true), 'sql' => "char(36) NOT NULL default ''");
    $arrFields['formHybridConfirmationAvisotaMessage'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridConfirmationAvisotaMessage'], 'inputType' => 'select', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\Message\Core\MessageEvents::CREATE_BOILERPLATE_MESSAGE_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('includeBlankOption' => true, 'tl_class' => 'w50 clr', 'chosen' => true, 'submitOnChange' => true), 'sql' => "char(36) NOT NULL default ''");
    $arrFields['formHybridConfirmationAvisotaSalutationGroup'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridConfirmationAvisotaSalutationGroup'], 'inputType' => 'select', 'options_callback' => array('tl_form_hybrid_module', 'getSalutationGroupOptions'), 'eval' => array('includeBlankOption' => true, 'tl_class' => 'w50', 'chosen' => true), 'sql' => "char(36) NOT NULL default ''");
}
if (in_array('exporter', \ModuleLoader::getActive())) {
    $arrFields['formHybridExportAfterSubmission'] = array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridExportAfterSubmission'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'w50 clr'), 'sql' => "char(1) NOT NULL default ''");
    $arrFields['formHybridExportConfigs'] = array('label' => &$GLOBALS['TL_LANG']['tl_module']['formHybridExportConfigs'], 'exclude' => true, 'inputType' => 'fieldpalette', 'foreignKey' => 'tl_fieldpalette.id', 'relation' => array('type' => 'hasMany', 'load' => 'eager'), 'sql' => "blob NULL", 'eval' => array('tl_class' => 'clr'), 'fieldpalette' => array('config' => array('hidePublished' => true), 'list' => array('label' => array('fields' => array('formhybrid_formHybridExportConfigs_config'), 'format' => '%s')), 'palettes' => array('default' => 'formhybrid_formHybridExportConfigs_config,formhybrid_formHybridExportConfigs_entityField'), 'fields' => array('formhybrid_formHybridExportConfigs_config' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formhybrid_formHybridExportConfigs_config'], 'exclude' => true, 'filter' => true, 'inputType' => 'select', 'options_callback' => array('tl_form_hybrid_module', 'getFormHybridExportConfigsAsOptions'), 'eval' => array('tl_class' => 'long clr', 'chosen' => true, 'mandatory' => true, 'includeBlankOption' => true), 'sql' => "int(10) unsigned NOT NULL default '0'"), 'formhybrid_formHybridExportConfigs_entityField' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['formhybrid_formHybridExportConfigs_entityField'], 'exclude' => true, 'inputType' => 'select', 'options_callback' => array('tl_form_hybrid_module', 'getEditableForExport'), 'eval' => array('tl_class' => 'w50', 'chosen' => true, 'includeBlankOption' => true), 'sql' => "varchar(64) NOT NULL default ''"))));
}
$arrDca['fields'] = array_merge($arrDca['fields'], $arrFields);
class tl_form_hybrid_module extends \Backend
{
    public static function getSalutationGroupOptions()
    {
        $arrOptions = array();
        $salutationGroupRepository = \Contao\Doctrine\ORM\EntityHelper::getRepository('Avisota\\Contao:SalutationGroup');
        /** @var SalutationGroup[] $salutationGroups */
        $salutationGroups = $salutationGroupRepository->findAll();
<?php

/**
 * Avisota newsletter and mailing system
 * Copyright © 2016 Sven Baumann
 *
 * PHP version 5
 *
 * @copyright  way.vision 2016
 * @author     Sven Baumann <*****@*****.**>
 * @package    avisota/contao-core
 * @license    LGPL-3.0+
 * @filesource
 */
global $TL_DCA, $TL_LANG;
$configOnloadCallback = array(array('Avisota\\Contao\\SubscriptionRecipient\\DataContainer\\Module', 'onLoadCallback'));
$TL_DCA['tl_module']['config']['onload_callback'] = array_merge($TL_DCA['tl_module']['config']['onload_callback'], $configOnloadCallback);
$metaPalettes = array('avisota_subscribe' => array('title' => array('name', 'headline', 'type'), 'avisota_subscription' => array('avisota_mailing_lists', 'avisota_recipient_fields', 'avisota_subscribe_confirmation_message'), 'template' => array('tableless', 'avisota_subscribe_form_template', 'avisota_form_target', 'avisota_subscribe_confirmation_page', 'avisota_subscribe_activation_page', 'avisota_subscribe_activate_confirmation_page'), 'protected' => array(':hide', 'protected'), 'expert' => array(':hide', 'guests', 'cssID', 'space')), 'avisota_activation' => array('title' => array('name', 'headline', 'type'), 'template' => array('tableless', 'avisota_activation_redirect_page', 'avisota_activation_confirmation_page'), 'protected' => array(':hide', 'protected'), 'expert' => array(':hide', 'guests', 'cssID', 'space')), 'avisota_unsubscribe' => array('title' => array('name', 'headline', 'type'), 'avisota_subscription' => array('avisota_mailing_lists', 'avisota_unsubscribe_show_mailing_lists', 'avisota_unsubscribe_confirmation_message'), 'template' => array('tableless', 'avisota_unsubscribe_form_template', 'avisota_form_target', 'avisota_unsubscribe_confirmation_page'), 'protected' => array(':hide', 'protected'), 'expert' => array(':hide', 'guests', 'cssID', 'space')), 'avisota_subscription' => array('title' => array('name', 'headline', 'type'), 'avisota_subscription' => array('avisota_mailing_lists', 'avisota_recipient_fields', 'avisota_subscription_confirmation_message'), 'template' => array('tableless', 'avisota_subscription_form_template'), 'protected' => array(':hide', 'protected'), 'expert' => array(':hide', 'avisota_form_target', 'guests', 'cssID', 'space')));
$TL_DCA['tl_module']['metapalettes'] = array_merge($TL_DCA['tl_module']['metapalettes'], $metaPalettes);
$fields = array('avisota_mailing_lists' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_mailing_lists'], 'inputType' => 'checkbox', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\Core\CoreEvents::CREATE_MAILING_LIST_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('multiple' => true)), 'avisota_recipient_fields' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_recipient_fields'], 'inputType' => 'checkboxWizard', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\SubscriptionRecipient\RecipientDataContainerEvents::CREATE_EDITABLE_RECIPIENT_FIELD_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('multiple' => true), 'load_callback' => array(array('Avisota\\Contao\\SubscriptionRecipient\\DataContainer\\Module', 'injectRequiredRecipientFields')), 'save_callback' => array(array('Avisota\\Contao\\SubscriptionRecipient\\DataContainer\\Module', 'injectRequiredRecipientFields'))), 'avisota_form_target' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_form_target'], 'inputType' => 'pageTree', 'eval' => array('fieldType' => 'radio', 'tl_class' => 'clr')), 'avisota_subscribe_form_template' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_subscribe_form_template'], 'inputType' => 'select', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\SubscriptionRecipient\RecipientDataContainerEvents::CREATE_SUBSCRIBE_TEMPLATE_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('tl_class' => 'w50')), 'avisota_subscribe_confirmation_message' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_subscribe_confirmation_message'], 'inputType' => 'select', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\Message\Core\MessageEvents::CREATE_BOILERPLATE_MESSAGE_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('includeBlankOption' => true, 'tl_class' => 'w50')), 'avisota_subscribe_confirmation_page' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_subscribe_confirmation_page'], 'inputType' => 'pageTree', 'eval' => array('fieldType' => 'radio')), 'avisota_subscribe_activation_page' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_subscribe_activation_page'], 'inputType' => 'pageTree', 'eval' => array('fieldType' => 'radio')), 'avisota_subscribe_activate_confirmation_page' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_subscribe_activate_confirmation_page'], 'inputType' => 'pageTree', 'eval' => array('fieldType' => 'radio')), 'avisota_activation_redirect_page' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_activation_redirect_page'], 'inputType' => 'pageTree', 'eval' => array('fieldType' => 'radio', 'tl_class' => 'clr')), 'avisota_activation_confirmation_page' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_activation_confirmation_page'], 'inputType' => 'pageTree', 'eval' => array('fieldType' => 'radio', 'tl_class' => 'clr')), 'avisota_unsubscribe_show_mailing_lists' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_unsubscribe_show_mailing_lists'], 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'm12 w50')), 'avisota_unsubscribe_confirmation_message' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_unsubscribe_confirmation_message'], 'inputType' => 'select', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\Message\Core\MessageEvents::CREATE_BOILERPLATE_MESSAGE_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('includeBlankOption' => true, 'tl_class' => 'w50')), 'avisota_unsubscribe_form_template' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_unsubscribe_form_template'], 'inputType' => 'select', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\SubscriptionRecipient\RecipientDataContainerEvents::CREATE_UNSUBSCRIBE_TEMPLATE_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('tl_class' => 'w50')), 'avisota_unsubscribe_confirmation_page' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_unsubscribe_confirmation_page'], 'inputType' => 'pageTree', 'eval' => array('fieldType' => 'radio')), 'avisota_subscription_form_template' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_subscription_form_templateddd'], 'inputType' => 'select', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\SubscriptionRecipient\RecipientDataContainerEvents::CREATE_SUBSCRIPTION_TEMPLATE_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('tl_class' => 'w50')), 'avisota_subscription_confirmation_message' => array('exclude' => true, 'label' => &$TL_LANG['tl_module']['avisota_subscription_confirmation_message'], 'inputType' => 'select', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\Message\Core\MessageEvents::CREATE_BOILERPLATE_MESSAGE_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('includeBlankOption' => true, 'tl_class' => 'w50')));
$TL_DCA['tl_module']['fields'] = array_merge($TL_DCA['tl_module']['fields'], $fields);
<?php

/**
 * Avisota newsletter and mailing system
 * Copyright (C) 2013 Tristan Lins
 *
 * PHP version 5
 *
 * @copyright  bit3 UG 2013
 * @author     Tristan Lins <*****@*****.**>
 * @package    avisota/contao-core
 * @license    LGPL-3.0+
 * @filesource
 */
use Avisota\Contao\Core\CoreEvents;
use ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory;
/**
 * Extend default palette
 */
$GLOBALS['TL_DCA']['tl_user_group']['palettes']['default'] = str_replace('formp;', 'formp;{avisota_legend},avisota_recipient_lists,avisota_recipient_list_permissions,avisota_recipient_permissions,avisota_newsletter_categories,avisota_newsletter_category_permissions,avisota_newsletter_permissions;', $GLOBALS['TL_DCA']['tl_user_group']['palettes']['default']);
/**
 * Add fields to tl_user_group
 */
$GLOBALS['TL_DCA']['tl_user_group']['fields']['avisota_recipient_lists'] = array('label' => &$GLOBALS['TL_LANG']['tl_user_group']['avisota_recipient_lists'], 'exclude' => true, 'inputType' => 'checkbox', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback(CoreEvents::CREATE_MAILING_LIST_OPTIONS), 'eval' => array('multiple' => true));
$GLOBALS['TL_DCA']['tl_user_group']['fields']['avisota_recipient_list_permissions'] = array('label' => &$GLOBALS['TL_LANG']['tl_user_group']['avisota_recipient_list_permissions'], 'exclude' => true, 'inputType' => 'checkbox', 'options' => array('create', 'delete'), 'reference' => &$GLOBALS['TL_LANG']['MSC'], 'eval' => array('multiple' => true));
$GLOBALS['TL_DCA']['tl_user_group']['fields']['avisota_recipient_permissions'] = array('label' => &$GLOBALS['TL_LANG']['tl_user_group']['avisota_recipient_permissions'], 'exclude' => true, 'inputType' => 'checkbox', 'options' => array('create', 'delete', 'delete_no_blacklist'), 'reference' => &$GLOBALS['TL_LANG']['MSC'], 'eval' => array('multiple' => true));
$GLOBALS['TL_DCA']['tl_user_group']['fields']['avisota_newsletter_categories'] = array('label' => &$GLOBALS['TL_LANG']['tl_user_group']['avisota_newsletter_categories'], 'exclude' => true, 'inputType' => 'checkbox', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback('avisota.create-message-category-options'), 'eval' => array('multiple' => true));
$GLOBALS['TL_DCA']['tl_user_group']['fields']['avisota_newsletter_category_permissions'] = array('label' => &$GLOBALS['TL_LANG']['tl_user_group']['avisota_newsletter_category_permissions'], 'exclude' => true, 'inputType' => 'checkbox', 'options' => array('create', 'delete'), 'reference' => &$GLOBALS['TL_LANG']['MSC'], 'eval' => array('multiple' => true));
$GLOBALS['TL_DCA']['tl_user_group']['fields']['avisota_newsletter_permissions'] = array('label' => &$GLOBALS['TL_LANG']['tl_user_group']['avisota_newsletter_permissions'], 'exclude' => true, 'inputType' => 'checkbox', 'options' => array('create', 'delete', 'send'), 'reference' => &$GLOBALS['TL_LANG']['MSC'], 'eval' => array('multiple' => true));
<?php

/**
 * Avisota newsletter and mailing system
 * Copyright © 2016 Sven Baumann
 *
 * PHP version 5
 *
 * @copyright  way.vision 2016
 * @author     Sven Baumann <*****@*****.**>
 * @package    avisota/contao-subscription-recipient
 * @license    LGPL-3.0+
 * @filesource
 */
/**
 * Table orm_avisota_recipient_source
 * Entity Avisota\Contao:RecipientSource
 */
$GLOBALS['TL_DCA']['orm_avisota_recipient_source'] = array('entity' => array('idGenerator' => \Doctrine\ORM\Mapping\ClassMetadataInfo::GENERATOR_TYPE_UUID), 'config' => array('dataContainer' => 'General', 'enableVersioning' => true), 'dca_config' => array('data_provider' => array('default' => array('class' => 'Contao\\Doctrine\\ORM\\DataContainer\\General\\EntityDataProvider', 'source' => 'orm_avisota_recipient_source'))), 'list' => array('sorting' => array('mode' => 1, 'flag' => 1, 'fields' => array('title')), 'label' => array('fields' => array('title', 'type'), 'format' => '%s <span style="color:#b3b3b3; padding-left:3px;">[%s]</span>'), 'global_operations' => array('all' => array('label' => &$GLOBALS['TL_LANG']['MSC']['all'], 'href' => 'act=select', 'class' => 'header_edit_all', 'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"')), 'operations' => array('edit' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['edit'], 'href' => 'act=edit', 'icon' => 'edit.gif'), 'copy' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_mailing_list']['copy'], 'icon' => 'copy.gif', 'attributes' => 'onclick="Backend.getScrollOffset();"'), 'delete' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', 'attributes' => 'onclick="if (!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\')) return false; ' . 'Backend.getScrollOffset();"'), 'toggle' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['toggle'], 'icon' => 'visible.gif', 'attributes' => 'onclick="Backend.getScrollOffset(); return AjaxRequest.toggleVisibility(this, %s);"', 'toggleProperty' => 'disable', 'toggleInverse' => true), 'show' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['show'], 'href' => 'act=show', 'icon' => 'show.gif'), 'list' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['list'], 'href' => 'act=list', 'icon' => 'assets/avisota/core/images/recipient_source.png'))), 'palettes' => array('__selector__' => array('type')), 'metapalettes' => array('default' => array('source' => array('type')), 'union' => array('source' => array('title', 'alias', 'type'), 'union' => array('unionRecipientSources', 'unionClean'), 'expert' => array('disable')), 'csv_file' => array('source' => array('title', 'alias', 'type'), 'csvFile' => array('csvFileSrc', 'csvColumnAssignment', 'csvFileDelimiter', 'csvFileEnclosure'), 'expert' => array('disable')), 'dummy' => array('source' => array('title', 'alias', 'type'), 'dummy' => array('dummyMinCount', 'dummyMaxCount'), 'expert' => array('disable'))), 'metasubpalettes' => array('filterByMailingLists' => array('mailingLists')), 'fields' => array('id' => array('field' => array('id' => true, 'type' => 'string', 'length' => '36', 'options' => array('fixed' => true))), 'createdAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'create'))), 'updatedAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'update'))), 'title' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['title'], 'inputType' => 'text', 'eval' => array('mandatory' => true, 'unique' => true, 'maxlength' => 255, 'tl_class' => 'w50')), 'alias' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['alias'], 'exclude' => true, 'search' => true, 'inputType' => 'text', 'eval' => array('rgxp' => 'alnum', 'unique' => true, 'spaceToUnderscore' => true, 'maxlength' => 128, 'tl_class' => 'w50'), 'setter_callback' => array(array('Contao\\Doctrine\\ORM\\Helper', 'generateAlias'))), 'type' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['type'], 'inputType' => 'select', 'options' => array_keys($GLOBALS['AVISOTA_RECIPIENT_SOURCE']), 'reference' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source'], 'eval' => array('mandatory' => true, 'submitOnChange' => true, 'includeBlankOption' => true, 'helpwizard' => true, 'tl_class' => 'w50 wizard')), 'unionRecipientSources' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['unionRecipientSources'], 'inputType' => 'checkboxWizard', 'eval' => array('mandatory' => true, 'multiple' => true), 'field' => array('type' => 'serialized', 'length' => 65532, 'nullable' => true), 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\Core\CoreEvents::CREATE_RECIPIENT_SOURCE_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent')), 'unionClean' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['unionClean'], 'inputType' => 'checkbox', 'field' => array()), 'csvFileSrc' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['csvFileSrc'], 'inputType' => 'fileTree', 'eval' => array('mandatory' => true, 'files' => true, 'filesOnly' => true, 'extensions' => 'csv', 'fieldType' => 'radio'), 'field' => array()), 'csvColumnAssignment' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['csvColumnAssignment'], 'inputType' => 'multiColumnWizard', 'eval' => array('columnFields' => array('column' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['csvColumnAssignmentColumn'], 'inputType' => 'select', 'options' => range(1, 30), 'eval' => array('mandatory' => true, 'style' => 'width:60px')), 'field' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['csvColumnAssignmentField'], 'inputType' => 'text', 'eval' => array('mandatory' => true)))), 'field' => array('type' => 'serialized', 'length' => 65532, 'nullable' => true)), 'csvFileDelimiter' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['csvFileDelimiter'], 'default' => 'comma', 'inputType' => 'select', 'options' => array('comma', 'semicolon', 'space', 'tabulator', 'linebreak'), 'reference' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['csvFileDelimiters'], 'eval' => array('mandatory' => true, 'tl_class' => 'clr w50'), 'field' => array('type' => 'string', 'length' => 9, 'options' => array('fixed' => true))), 'csvFileEnclosure' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['csvFileEnclosure'], 'default' => 'double', 'inputType' => 'select', 'options' => array('double', 'single'), 'reference' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['csvFileEnclosures'], 'eval' => array('mandatory' => true, 'tl_class' => 'w50'), 'field' => array('type' => 'string', 'length' => 6, 'options' => array('fixed' => true))), 'dummyMinCount' => array('default' => false, 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['dummyMinCount'], 'inputType' => 'text', 'eval' => array('mandatory' => true, 'tl_class' => 'w50', 'rgxp' => 'digit'), 'field' => array('type' => 'integer')), 'dummyMaxCount' => array('default' => false, 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['dummyMaxCount'], 'inputType' => 'text', 'eval' => array('mandatory' => true, 'tl_class' => 'w50', 'rgxp' => 'digit'), 'field' => array('type' => 'integer')), 'filter' => array('default' => false, 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['filter'], 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'm12', 'submitOnChange' => true)), 'filterByMailingLists' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['filterByMailingLists'], 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true), 'field' => array('nullable' => true)), 'mailingLists' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['mailingLists'], 'inputType' => 'checkbox', 'eval' => array('mandatory' => true, 'multiple' => true), 'manyToMany' => array('targetEntity' => 'Avisota\\Contao\\Entity\\MailingList', 'cascade' => array('persist', 'detach', 'merge', 'refresh'), 'joinTable' => array('name' => 'orm_avisota_recipient_source_mailing_lists', 'joinColumns' => array(array('name' => 'recipientSource', 'referencedColumnName' => 'id')), 'inverseJoinColumns' => array(array('name' => 'mailingList', 'referencedColumnName' => 'id')))), 'load_callback' => array(Contao\Doctrine\ORM\OptionsLoadResolver::create()), 'save_callback' => array(Contao\Doctrine\ORM\OptionsSaveResolver::create('Avisota\\Contao\\Entity\\MailingList')), 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\Core\CoreEvents::CREATE_MAILING_LIST_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent')), 'disable' => array('default' => false, 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_source']['disable'], 'inputType' => 'checkbox', 'eval' => array('tl_class' => 'm12'))));
<?php

/**
 * Avisota newsletter and mailing system
 * Copyright © 2016 Sven Baumann
 *
 * PHP version 5
 *
 * @copyright  way.vision 2016
 * @author     Sven Baumann <*****@*****.**>
 * @package    avisota/contao-subscription-recipient
 * @license    LGPL-3.0+
 * @filesource
 */
/**
 * Table mem_avisota_recipient_export
 */
$GLOBALS['TL_DCA']['mem_avisota_recipient_export'] = array('config' => array('dataContainer' => 'General', 'forceEdit' => true), 'dca_config' => array('data_provider' => array('default' => array('class' => 'Avisota\\Contao\\SubscriptionRecipient' . '\\DataContainer\\DataProvider\\RecipientExportDataProvider', 'source' => 'mem_avisota_recipient_export'))), 'metapalettes' => array('default' => array('export' => array('columns', 'delimiter', 'enclosure'))), 'fields' => array('columns' => array('label' => &$GLOBALS['TL_LANG']['mem_avisota_recipient_export']['columns'], 'inputType' => 'checkboxWizard', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\SubscriptionRecipient\RecipientDataContainerEvents::CREATE_IMPORTABLE_RECIPIENT_FIELD_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('mandatory' => true, 'multiple' => true)), 'delimiter' => array('label' => &$GLOBALS['TL_LANG']['mem_avisota_recipient_export']['delimiter'], 'inputType' => 'select', 'options' => array('comma', 'semicolon', 'space', 'tabulator', 'linebreak'), 'reference' => &$GLOBALS['TL_LANG']['mem_avisota_recipient_export']['delimiters'], 'eval' => array('mandatory' => true, 'tl_class' => 'clr w50')), 'enclosure' => array('label' => &$GLOBALS['TL_LANG']['mem_avisota_recipient_export']['enclosure'], 'inputType' => 'select', 'options' => array('double', 'single'), 'reference' => &$GLOBALS['TL_LANG']['mem_avisota_recipient_export']['enclosures'], 'eval' => array('mandatory' => true, 'tl_class' => 'w50'))));
<?php

/**
 * Avisota newsletter and mailing system
 * Copyright © 2016 Sven Baumann
 *
 * PHP version 5
 *
 * @copyright  way.vision 2016
 * @author     Sven Baumann <*****@*****.**>
 * @package    avisota/contao-core
 * @license    LGPL-3.0+
 * @filesource
 */
/**
 * Table orm_avisota_queue
 * Entity Avisota\Contao:Queue
 */
$GLOBALS['TL_DCA']['orm_avisota_queue'] = array('entity' => array('idGenerator' => \Doctrine\ORM\Mapping\ClassMetadataInfo::GENERATOR_TYPE_UUID), 'config' => array('dataContainer' => 'General', 'enableVersioning' => true), 'dca_config' => array('data_provider' => array('default' => array('class' => 'Contao\\Doctrine\\ORM\\DataContainer\\General\\EntityDataProvider', 'source' => 'orm_avisota_queue'))), 'list' => array('sorting' => array('mode' => 1, 'flag' => 11, 'fields' => array('title')), 'label' => array('fields' => array('title', 'type'), 'format' => '%s <span style="color:#b3b3b3; padding-left:3px;">(%s)</span><br>'), 'global_operations' => array('all' => array('label' => &$GLOBALS['TL_LANG']['MSC']['all'], 'href' => 'act=select', 'class' => 'header_edit_all', 'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"')), 'operations' => array('edit' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_queue']['edit'], 'href' => 'act=edit', 'icon' => 'edit.gif'), 'copy' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_mailing_list']['copy'], 'icon' => 'copy.gif', 'attributes' => 'onclick="Backend.getScrollOffset();"'), 'delete' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_queue']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', 'attributes' => 'onclick="if (!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\')) return false; ' . 'Backend.getScrollOffset();"'), 'clear' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_queue']['clear'], 'href' => 'act=clear', 'icon' => 'assets/avisota/core/images/clear.png', 'attributes' => 'onclick="if (!confirm(\'' . $GLOBALS['TL_LANG']['orm_avisota_queue']['clearConfirm'] . '\')) ' . 'return false; Backend.getScrollOffset();"'), 'show' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_queue']['show'], 'href' => 'act=show', 'icon' => 'show.gif'))), 'palettes' => array('__selector__' => array('type')), 'metapalettes' => array('default' => array('queue' => array('type')), 'simpleDatabase' => array('queue' => array('type', 'title', 'alias'), 'transport' => array('transport', 'maxSendTime', 'maxSendCount', 'cyclePause'), 'config' => array('simpleDatabaseQueueTable'), 'send' => array('allowManualSending'))), 'metasubpalettes' => array(), 'fields' => array('id' => array('field' => array('id' => true, 'type' => 'string', 'length' => '36', 'options' => array('fixed' => true))), 'createdAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'create'))), 'updatedAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'update'))), 'type' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_queue']['type'], 'inputType' => 'select', 'options' => array_keys($GLOBALS['AVISOTA_QUEUE']), 'reference' => &$GLOBALS['TL_LANG']['orm_avisota_queue'], 'filter' => true, 'eval' => array('mandatory' => true, 'submitOnChange' => true, 'includeBlankOption' => true)), 'title' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_queue']['title'], 'inputType' => 'text', 'search' => true, 'flag' => 1, 'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50', 'doNotCopy' => true)), 'alias' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_queue']['alias'], 'exclude' => true, 'search' => true, 'inputType' => 'text', 'eval' => array('rgxp' => 'alnum', 'unique' => true, 'spaceToUnderscore' => true, 'maxlength' => 128, 'tl_class' => 'w50', 'doNotCopy' => true), 'load_callback' => array(array('Avisota\\Contao\\Core\\DataContainer\\Queue', 'rememberAlias')), 'setter_callback' => array(array('Contao\\Doctrine\\ORM\\Helper', 'generateAlias'))), 'transport' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_queue']['transport'], 'inputType' => 'select', 'eval' => array('mandatory' => true, 'includeBlankOption' => true, 'tl_class' => 'w50'), 'manyToOne' => array('targetEntity' => 'Avisota\\Contao\\Entity\\Transport', 'joinColumns' => array(array('name' => 'transport', 'referencedColumnName' => 'id'))), 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback('avisota.create-transport-options', 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent')), 'maxSendTime' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_queue']['maxSendTime'], 'default' => ini_get('max_execution_time') > 0 ? floor(0.85 * ini_get('max_execution_time')) : 60, 'inputType' => 'text', 'eval' => array('mandatory' => true, 'rgxp' => 'digit', 'tl_class' => 'w50')), 'maxSendCount' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_queue']['maxSendCount'], 'default' => 100, 'inputType' => 'text', 'eval' => array('mandatory' => true, 'rgxp' => 'digit', 'tl_class' => 'w50')), 'cyclePause' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_queue']['cyclePause'], 'default' => 10, 'inputType' => 'text', 'eval' => array('mandatory' => true, 'rgxp' => 'digit', 'tl_class' => 'w50')), 'simpleDatabaseQueueTable' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_queue']['simpleDatabaseQueueTable'], 'default' => 'avisota_queue', 'inputType' => 'text', 'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'm12 w50', 'doNotCopy' => true)), 'allowManualSending' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_queue']['allowManualSending'], 'default' => true, 'inputType' => 'checkbox', 'eval' => array('mandatory' => true, 'tl_class' => 'm12 w50'))));
 * Copyright © 2016 Sven Baumann
 *
 * PHP version 5
 *
 * @copyright  way.vision
 * @author     Sven Baumann <*****@*****.**>
 * @package    avisota/contao-core
 * @license    LGPL-3.0+
 * @filesource
 */
\Bit3\Contao\MetaPalettes\MetaPalettes::appendBefore('tl_member', 'default', 'login', array('avisota' => array(':hide', 'avisota_lists', 'avisota_subscriptionAction')));
/*
$GLOBALS['TL_DCA']['tl_member']['config']['onload_callback'][]   = array('AvisotaDCA', 'filterByMailingLists');
$GLOBALS['TL_DCA']['tl_member']['config']['onload_callback'][]   = array('tl_member_avisota', 'onload_callback');
$GLOBALS['TL_DCA']['tl_member']['config']['onsubmit_callback'][] = array('tl_member_avisota', 'onsubmit_callback');
*/
$GLOBALS['TL_DCA']['tl_member']['config']['onsubmit_callback'][] = array('Avisota\\Contao\\Core\\DataContainer\\Member', 'onsubmit_callback');
$GLOBALS['TL_DCA']['tl_member']['fields']['avisota_lists'] = array('label' => &$GLOBALS['TL_LANG']['tl_member']['avisota_lists'], 'inputType' => 'checkbox', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\Core\CoreEvents::CREATE_MAILING_LIST_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'load_callback' => array(array('Avisota\\Contao\\Core\\DataContainer\\Member', 'loadMailingLists')), 'save_callback' => array(array('Avisota\\Contao\\Core\\DataContainer\\Member', 'validateBlacklist'), array('Avisota\\Contao\\Core\\DataContainer\\Member', 'saveMailingLists')), 'eval' => array('multiple' => true, 'feEditable' => true, 'feGroup' => 'newsletter'));
$GLOBALS['TL_DCA']['tl_member']['fields']['avisota_subscriptionAction'] = array('label' => &$GLOBALS['TL_LANG']['tl_member']['avisota_subscriptionAction'], 'inputType' => 'select', 'options' => array('sendConfirmation', 'activateSubscription', 'doNothink', 'sendOptIn'), 'reference' => &$GLOBALS['TL_LANG']['orm_avisota_recipient'], 'eval' => array('doNotSaveEmpty' => false, 'doNotCopy' => true, 'doNotShow' => true), 'save_callback' => array(array('Avisota\\Contao\\Core\\DataContainer\\Member', 'saveSubscriptionAction')), 'field' => false);
/*
$GLOBALS['TL_DCA']['tl_member']['fields']['avisota_subscribe'] = array
(
	'label'     => &$GLOBALS['TL_LANG']['tl_member']['avisota_subscribe'],
	'inputType' => 'checkbox',
	'eval'      => array
	(
		'feEditable' => true,
		'feGroup'    => 'newsletter'
	)
);
*/
Exemple #16
0
<?php

/**
 * Avisota newsletter and mailing system
 * Copyright © 2016 Sven Baumann
 *
 * PHP version 5
 *
 * @copyright  way.vision 2016
 * @author     Sven Baumann <*****@*****.**>
 * @package    avisota/contao-core
 * @license    LGPL-3.0+
 * @filesource
 */
use Avisota\Contao\Core\CoreEvents;
use ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory;
/**
 * Extend default palette
 */
$GLOBALS['TL_DCA']['tl_user']['palettes']['extend'] = str_replace('formp;', 'formp;{avisota_legend},avisota_recipient_lists,avisota_recipient_list_permissions,' . 'avisota_recipient_permissions,avisota_newsletter_categories,avisota_newsletter_category_permissions,' . 'avisota_newsletter_permissions;', $GLOBALS['TL_DCA']['tl_user']['palettes']['extend']);
$GLOBALS['TL_DCA']['tl_user']['palettes']['custom'] = str_replace('formp;', 'formp;{avisota_legend},avisota_recipient_lists,avisota_recipient_list_permissions,' . 'avisota_recipient_permissions,avisota_newsletter_categories,avisota_newsletter_category_permissions,' . 'avisota_newsletter_permissions;', $GLOBALS['TL_DCA']['tl_user']['palettes']['custom']);
/**
 * Add fields to tl_user
 */
$GLOBALS['TL_DCA']['tl_user']['fields']['avisota_recipient_lists'] = array('label' => &$GLOBALS['TL_LANG']['tl_user']['avisota_recipient_lists'], 'exclude' => true, 'inputType' => 'checkbox', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback(CoreEvents::CREATE_MAILING_LIST_OPTIONS), 'eval' => array('multiple' => true));
$GLOBALS['TL_DCA']['tl_user']['fields']['avisota_recipient_list_permissions'] = array('label' => &$GLOBALS['TL_LANG']['tl_user']['avisota_recipient_list_permissions'], 'exclude' => true, 'inputType' => 'checkbox', 'options' => array('create', 'delete'), 'reference' => &$GLOBALS['TL_LANG']['MSC'], 'eval' => array('multiple' => true));
$GLOBALS['TL_DCA']['tl_user']['fields']['avisota_recipient_permissions'] = array('label' => &$GLOBALS['TL_LANG']['tl_user']['avisota_recipient_permissions'], 'exclude' => true, 'inputType' => 'checkbox', 'options' => array('create', 'delete', 'delete_no_blacklist'), 'reference' => &$GLOBALS['TL_LANG']['MSC'], 'eval' => array('multiple' => true));
$GLOBALS['TL_DCA']['tl_user']['fields']['avisota_newsletter_categories'] = array('label' => &$GLOBALS['TL_LANG']['tl_user']['avisota_newsletter_categories'], 'exclude' => true, 'inputType' => 'checkbox', 'options_callback' => array('Avisota\\Contao\\Core\\DataContainer\\OptionsBuilder', 'getMessageCategoryOptions'), 'eval' => array('multiple' => true));
$GLOBALS['TL_DCA']['tl_user']['fields']['avisota_newsletter_category_permissions'] = array('label' => &$GLOBALS['TL_LANG']['tl_user']['avisota_newsletter_category_permissions'], 'exclude' => true, 'inputType' => 'checkbox', 'options' => array('create', 'delete'), 'reference' => &$GLOBALS['TL_LANG']['MSC'], 'eval' => array('multiple' => true));
$GLOBALS['TL_DCA']['tl_user']['fields']['avisota_newsletter_permissions'] = array('label' => &$GLOBALS['TL_LANG']['tl_user']['avisota_newsletter_permissions'], 'exclude' => true, 'inputType' => 'checkbox', 'options' => array('create', 'delete', 'send'), 'reference' => &$GLOBALS['TL_LANG']['MSC'], 'eval' => array('multiple' => true));
Exemple #17
0
<?php

/**
 * Avisota newsletter and mailing system
 * Copyright © 2016 Sven Baumann
 *
 * PHP version 5
 *
 * @copyright  way.vision 2016
 * @author     Sven Baumann <*****@*****.**>
 * @package    avisota/contao-core
 * @license    LGPL-3.0+
 * @filesource
 */
/**
 * Palettes
 */
$GLOBALS['TL_DCA']['tl_module']['metapalettes']['avisota_message_list'] = array('title' => array('name', 'headline', 'type'), 'avisota_message_list' => array('avisota_message_categories'), 'template' => array('jumpTo'), 'protected' => array(':hide', 'protected'), 'expert' => array(':hide', 'guests', 'cssID', 'space'));
$GLOBALS['TL_DCA']['tl_module']['metapalettes']['avisota_message_reader'] = array('title' => array('name', 'headline', 'type'), 'avisota_message_reader' => array('avisota_message_categories'), 'template' => array('avisota_message_layout', 'avisota_message_cell'), 'protected' => array(':hide', 'protected'), 'expert' => array(':hide', 'guests', 'cssID', 'space'));
/**
 * General module fields
 */
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_message_categories'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_message_categories'], 'inputType' => 'checkbox', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\Message\Core\MessageEvents::CREATE_MESSAGE_CATEGORY_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('mandatory' => true, 'multiple' => true));
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_message_layout'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_message_layout'], 'inputType' => 'select', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\Message\Core\MessageEvents::CREATE_MESSAGE_LAYOUT_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('mandatory' => true, 'tl_class' => 'w50'));
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_message_cell'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_message_cell'], 'inputType' => 'checkboxWizard', 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\Message\Core\MessageEvents::CREATE_MESSAGE_CONTENT_CELL_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'eval' => array('mandatory' => true, 'multiple' => true, 'tl_class' => 'clr'));
<?php

/**
 * Avisota newsletter and mailing system
 * Copyright © 2016 Sven Baumann
 *
 * PHP version 5
 *
 * @copyright  way.vision 2016
 * @author     Sven Baumann <*****@*****.**>
 * @package    avisota/contao-message
 * @license    LGPL-3.0+
 * @filesource
 */
use ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory;
/**
 * Table orm_avisota_message_content
 * Entity Avisota\Contao:MessageContent
 */
$GLOBALS['TL_DCA']['orm_avisota_message_content'] = array('entity' => array('idGenerator' => \Doctrine\ORM\Mapping\ClassMetadataInfo::GENERATOR_TYPE_UUID), 'config' => array('dataContainer' => 'General', 'enableVersioning' => true), 'dca_config' => array('data_provider' => array('parent' => array('class' => 'Contao\\Doctrine\\ORM\\DataContainer\\General\\EntityDataProvider', 'source' => 'orm_avisota_message'), 'default' => array('class' => 'Contao\\Doctrine\\ORM\\DataContainer\\General\\EntityDataProvider', 'source' => 'orm_avisota_message_content'), array('class' => 'Contao\\Doctrine\\ORM\\DataContainer\\General\\EntityDataProvider', 'source' => 'orm_avisota_message_category')), 'childCondition' => array(array('from' => 'orm_avisota_message_category', 'to' => 'orm_avisota_message', 'setOn' => array(array('to_field' => 'category', 'from_field' => 'id')), 'inverse' => array(array('local' => 'category', 'remote' => 'id', 'operation' => '='))), array('from' => 'orm_avisota_message', 'to' => 'orm_avisota_message_content', 'setOn' => array(array('to_field' => 'message', 'from_field' => 'id')), 'filter' => array(array('local' => 'message', 'remote' => 'id', 'operation' => '='))))), 'list' => array('sorting' => array('mode' => 4, 'fields' => array('cell FIELD(e.cell, \'header\', \'main\', \'left\', \'center\', \'right\', \'footer\')', 'sorting'), 'panelLayout' => 'filter;search,limit', 'headerFields' => array('subject')), 'label' => array('fields' => array('title'), 'format' => '%s'), 'global_operations' => array('send' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['send'], 'href' => 'table=orm_avisota_message&amp;act=preview', 'class' => 'header_send'), 'all' => array('label' => &$GLOBALS['TL_LANG']['MSC']['all'], 'href' => 'act=select', 'class' => 'header_edit_all', 'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"')), 'operations' => array('edit' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['edit'], 'href' => 'act=edit', 'icon' => 'edit.gif'), 'copy' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['copy'], 'icon' => 'copy.gif', 'attributes' => 'onclick="Backend.getScrollOffset();"'), 'cut' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['cut'], 'icon' => 'cut.gif', 'attributes' => 'onclick="Backend.getScrollOffset();"'), 'delete' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', 'attributes' => 'onclick="if (!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\')) return false; Backend.getScrollOffset();"'), 'toggle' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['toggle'], 'icon' => 'visible.gif', 'toggleProperty' => 'invisible', 'toggleInverse' => true), 'show' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['show'], 'href' => 'act=show', 'icon' => 'show.gif'))), 'palettes' => array('__selector__' => array('type')), 'metapalettes' => array('default' => array('type' => array('cell', 'type'), 'published' => array('invisible'))), 'metasubpalettes' => array(), 'fields' => array('id' => array('field' => array('id' => true, 'type' => 'string', 'length' => '36', 'options' => array('fixed' => true))), 'createdAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'create'))), 'updatedAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'update'))), 'message' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['message'], 'eval' => array('doNotShow' => true), 'manyToOne' => array('index' => true, 'targetEntity' => 'Avisota\\Contao\\Entity\\Message', 'cascade' => array('persist', 'detach', 'merge', 'refresh'), 'inversedBy' => 'contents', 'joinColumns' => array(array('name' => 'message', 'referencedColumnName' => 'id')))), 'sorting' => array('default' => 0, 'field' => array('type' => 'integer')), 'cell' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['cell'], 'exclude' => true, 'filter' => true, 'flag' => 1, 'inputType' => 'select', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\Message\Core\MessageEvents::CREATE_MESSAGE_CONTENT_CELL_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'reference' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['cells'], 'eval' => array('mandatory' => true, 'submitOnChange' => true, 'includeBlankOption' => true, 'tl_class' => 'w50')), 'type' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['type'], 'exclude' => true, 'filter' => true, 'inputType' => 'select', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback(\Avisota\Contao\Message\Core\MessageEvents::CREATE_MESSAGE_CONTENT_TYPE_OPTIONS, 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'), 'reference' => &$GLOBALS['TL_LANG']['MCE'], 'eval' => array('includeBlankOption' => true, 'helpwizard' => true, 'submitOnChange' => true, 'tl_class' => 'w50')), 'cssID' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['cssID'], 'exclude' => true, 'inputType' => 'text', 'eval' => array('multiple' => true, 'size' => 2, 'tl_class' => 'w50')), 'space' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['space'], 'exclude' => true, 'inputType' => 'text', 'eval' => array('multiple' => true, 'size' => 2, 'rgxp' => 'digit', 'nospace' => true)), 'invisible' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['invisible'], 'default' => false, 'inputType' => 'checkbox', 'field' => array('type' => 'boolean')), 'unmodifiable' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['unmodifiable'], 'default' => false, 'field' => array('type' => 'boolean')), 'undeletable' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_message_content']['undeletable'], 'default' => false, 'field' => array('type' => 'boolean'))));
Exemple #19
0
	'inputType' => 'text',
	'eval'      => array('rgxp' => 'email', 'tl_class' => 'w50')
);
*/
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_show_lists'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_show_lists'], 'inputType' => 'checkbox', 'eval' => array());
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_lists'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_lists'], 'inputType' => 'checkbox', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback(CoreEvents::CREATE_MAILING_LIST_OPTIONS), 'eval' => array('multiple' => true));
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_subscribe_mail'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_subscribe_mail'], 'inputType' => 'select', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback('avisota.create-boilerplate-message-options'), 'eval' => array('mandatory' => true, 'includeBlankOption' => true, 'tl_class' => 'w50 clr'));
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_unsubscribe_mail'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_unsubscribe_mail'], 'inputType' => 'select', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback('avisota.create-boilerplate-message-options'), 'eval' => array('mandatory' => true, 'includeBlankOption' => true, 'tl_class' => 'w50 clr'));
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_transport'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_transport'], 'inputType' => 'select', 'options_callback' => array('Avisota\\Contao\\Core\\DataContainer\\OptionsBuilder', 'getTransportOptions'), 'eval' => array('mandatory' => true, 'includeBlankOption' => true, 'tl_class' => 'w50 clr'));
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_subscribe_confirmation_page'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_subscribe_confirmation_page'], 'inputType' => 'pageTree', 'eval' => array('fieldType' => 'radio'));
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_unsubscribe_confirmation_page'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_unsubscribe_confirmation_page'], 'inputType' => 'pageTree', 'eval' => array('fieldType' => 'radio'));
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_template_subscribe'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_template_subscribe'], 'inputType' => 'select', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback('avisota.create-subscribe-module-template-options'), 'eval' => array('tl_class' => 'w50'));
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_template_unsubscribe'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_template_unsubscribe'], 'inputType' => 'select', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback('avisota.create-unsubscribe-module-template-options'), 'eval' => array('tl_class' => 'w50'));
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_template_subscription'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_template_subscription'], 'inputType' => 'select', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback('avisota.create-subscription-template-options'), 'eval' => array('tl_class' => 'w50'));
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_categories'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_categories'], 'inputType' => 'checkbox', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback('avisota.create-message-category-options'), 'eval' => array('mandatory' => true, 'multiple' => true));
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_reader_template'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_reader_template'], 'inputType' => 'select', 'options_callback' => CreateOptionsEventCallbackFactory::createCallback('avisota.create-reader-module-template-options'), 'eval' => array('mandatory' => true, 'tl_class' => 'w50'));
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_list_template'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_list_template'], 'inputType' => 'select', 'options_callback' => array('Avisota\\Contao\\Core\\DataContainer\\Module', 'getTemplates'), 'eval' => array('mandatory' => true, 'tl_class' => 'w50'));
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_view_page'] = array('exclude' => true, 'label' => &$GLOBALS['TL_LANG']['tl_module']['avisota_view_page'], 'inputType' => 'pageTree', 'eval' => array('fieldType' => 'radio'));
/*
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_selectable_lists'] = array
(
	'exclude'          => true,
	'label'            => &$GLOBALS['TL_LANG']['tl_module']['avisota_selectable_lists'],
	'inputType'        => 'checkbox',
	'options_callback' => array('Avisota\Contao\Core\DataContainer\Module', 'getLists'),
	'eval'             => array('multiple' => true)
);
*/
/*
$GLOBALS['TL_DCA']['tl_module']['fields']['avisota_confirm_on_activate'] = array
(
<?php

/**
 * Avisota newsletter and mailing system
 * Copyright © 2016 Sven Baumann
 *
 * PHP version 5
 *
 * @copyright  way.vision 2016
 * @author     Sven Baumann <*****@*****.**>
 * @package    avisota/contao-core
 * @license    LGPL-3.0+
 * @filesource
 */
/**
 * Table orm_avisota_salutation
 * Entity Avisota\Contao:Salutation
 */
$GLOBALS['TL_DCA']['orm_avisota_salutation'] = array('entity' => array('idGenerator' => \Doctrine\ORM\Mapping\ClassMetadataInfo::GENERATOR_TYPE_UUID), 'config' => array('dataContainer' => 'General', 'enableVersioning' => true), 'dca_config' => array('data_provider' => array('default' => array('class' => 'Contao\\Doctrine\\ORM\\DataContainer\\General\\EntityDataProvider', 'source' => 'orm_avisota_salutation'), 'parent' => array('class' => 'Contao\\Doctrine\\ORM\\DataContainer\\General\\EntityDataProvider', 'source' => 'orm_avisota_salutation_group')), 'childCondition' => array(array('from' => 'orm_avisota_salutation_group', 'to' => 'orm_avisota_salutation', 'setOn' => array(array('to_field' => 'salutationGroup', 'from_field' => 'id')), 'filter' => array(array('local' => 'salutationGroup', 'remote' => 'id', 'operation' => '='))))), 'list' => array('sorting' => array('mode' => 4, 'fields' => array('sorting'), 'panelLayout' => 'filter;search,limit', 'headerFields' => array('title'), 'child_record_callback' => array('Avisota\\Contao\\Salutation\\DataContainer\\Salutation', 'addElement')), 'label' => array('fields' => array('title'), 'format' => '%s'), 'global_operations' => array('all' => array('label' => &$GLOBALS['TL_LANG']['MSC']['all'], 'href' => 'act=select', 'class' => 'header_edit_all', 'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"')), 'operations' => array('edit' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_salutation']['edit'], 'href' => 'act=edit', 'icon' => 'edit.gif'), 'copy' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_salutation']['copy'], 'icon' => 'copy.gif', 'attributes' => 'onclick="Backend.getScrollOffset();"'), 'cut' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_salutation']['cut'], 'href' => 'act=paste&amp;mode=cut', 'icon' => 'cut.gif', 'attributes' => 'onclick="Backend.getScrollOffset();"'), 'delete' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_salutation']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', 'attributes' => 'onclick="if (!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\')) ' . 'return false; Backend.getScrollOffset();"'), 'show' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_salutation']['show'], 'href' => 'act=show', 'icon' => 'show.gif'))), 'metapalettes' => array('default' => array('salutation' => array('salutation'), 'filter' => array('enableGenderFilter', 'enableRequiredFieldsFilter'))), 'metasubpalettes' => array('enableGenderFilter' => array('genderFilter'), 'enableRequiredFieldsFilter' => array('requiredFieldsFilter')), 'fields' => array('id' => array('field' => array('id' => true, 'type' => 'string', 'length' => '36', 'options' => array('fixed' => true))), 'createdAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'create'))), 'updatedAt' => array('field' => array('type' => 'datetime', 'nullable' => true, 'timestampable' => array('on' => 'update'))), 'salutationGroup' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_salutation']['group'], 'eval' => array('doNotShow' => true), 'manyToOne' => array('index' => true, 'targetEntity' => 'Avisota\\Contao\\Entity\\SalutationGroup', 'cascade' => array('persist', 'detach', 'merge', 'refresh'), 'inversedBy' => 'salutations', 'joinColumns' => array(array('name' => 'salutationGroup', 'referencedColumnName' => 'id')))), 'sorting' => array('field' => array('type' => 'integer')), 'salutation' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_salutation']['salutation'], 'exclude' => true, 'search' => true, 'inputType' => 'text', 'eval' => array('maxlength' => 255, 'mandatory' => true, 'decodeEntities' => true, 'tl_class' => 'clr')), 'enableGenderFilter' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_salutation']['enableGenderFilter'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true)), 'genderFilter' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_salutation']['genderFilter'], 'exclude' => true, 'inputType' => 'select', 'options' => array('male', 'female'), 'reference' => &$GLOBALS['TL_LANG']['orm_avisota_salutation']['gender'], 'eval' => array('mandatory' => true, 'includeBlankOption' => true), 'field' => array('nullable' => true)), 'enableRequiredFieldsFilter' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_salutation']['enableRequiredFieldsFilter'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true)), 'requiredFieldsFilter' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_salutation']['requiredFieldsFilter'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('mandatory' => true, 'multiple' => true), 'field' => array('nullable' => true), 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback('avisota.create-salutation-recipient-field-options', 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'))));
<?php

/**
 * Avisota newsletter and mailing system
 * Copyright © 2016 Sven Baumann
 *
 * PHP version 5
 *
 * @copyright  way.vision 2016
 * @author     Sven Baumann <*****@*****.**>
 * @package    avisota/contao-subscription-recipient
 * @license    LGPL-3.0+
 * @filesource
 */
/**
 * Table orm_avisota_message_category
 * Entity Avisota\Contao:MessageCategory
 */
$GLOBALS['TL_DCA']['orm_avisota_message_category']['metapalettes']['default']['salutation'] = array('salutation');
$GLOBALS['TL_DCA']['orm_avisota_message_category']['fields']['salutation'] = array('default' => false, 'label' => &$GLOBALS['TL_LANG']['orm_avisota_message_category']['salutation'], 'inputType' => 'select', 'eval' => array('tl_class' => 'w50', 'includeBlankOption' => true), 'options_callback' => \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEventCallbackFactory::createCallback('avisota.create-salutation-group-options', 'Avisota\\Contao\\Core\\Event\\CreateOptionsEvent'));