コード例 #1
0
ファイル: Layout.php プロジェクト: contao-bootstrap/core
 /**
  * Modify palette if bootstrap is used.
  *
  * Hook palettes_hook (MetaPalettes) is called.
  *
  * @return void
  *
  * @SuppressWarnings(PHPMD.Superglobals)
  */
 public function generatePalette()
 {
     // @codingStandardsIgnoreStart
     // TODO: How to handle editAll actions?
     // @codingStandardsIgnoreEnd
     if (Input::get('table') != 'tl_layout' || Input::get('act') != 'edit') {
         return;
     }
     $layout = LayoutModel::findByPk(Input::get('id'));
     // dynamically render palette so that extensions can plug into default palette
     if ($layout->layoutType == 'bootstrap') {
         $metaPalettes =& $GLOBALS['TL_DCA']['tl_layout']['metapalettes'];
         $metaPalettes['__base__'] = $this->getMetaPaletteOfPalette('tl_layout');
         $metaPalettes['default extends __base__'] = Bootstrap::getConfigVar('layout.metapalette', array());
         // unset default palette. otherwise metapalettes will not render this palette
         unset($GLOBALS['TL_DCA']['tl_layout']['palettes']['default']);
         $subSelectPalettes = Bootstrap::getConfigVar('layout.metasubselectpalettes', array());
         foreach ($subSelectPalettes as $field => $meta) {
             foreach ($meta as $value => $definition) {
                 unset($GLOBALS['TL_DCA']['tl_layout']['subpalettes'][$field . '_' . $value]);
                 $GLOBALS['TL_DCA']['tl_layout']['metasubselectpalettes'][$field][$value] = $definition;
             }
         }
     } else {
         MetaPalettes::appendFields('tl_layout', 'title', array('layoutType'));
     }
 }
コード例 #2
0
 /**
  * Add form validation to the palette of supported widgets.
  *
  * @return void
  */
 public function addFormValidationToPalette()
 {
     foreach ($this->getDefinition()->get(['palettes'], []) as $name => $palette) {
         if (is_array($palette) || !in_array($name, $this->supportedWidgets)) {
             continue;
         }
         MetaPalettes::appendBefore('tl_form_field', $name, 'expert', array('formvalidation' => array('fv_enabled')));
     }
     if ($this->getDefinition()->has(['palettes', 'checkbox'])) {
         MetaPalettes::appendFields('tl_form_field', 'checkbox', 'expert', array('minlength', 'maxlength'));
     }
 }
コード例 #3
0
 /**
  * Add the toggle feature field to the palette.
  *
  * @param DataContainer $dataContainer Data container driver.
  *
  * @return void
  * @SuppressWarnings(PHPMD.Superglobals)
  */
 public function addToggleFeatureField(DataContainer $dataContainer)
 {
     if (!isset($this->legendMapping[$dataContainer->table])) {
         return;
     }
     foreach ($GLOBALS['TL_DCA'][$dataContainer->table]['palettes'] as $name => $palette) {
         if (is_array($palette)) {
             continue;
         }
         MetaPalettes::appendFields($dataContainer->table, $name, $this->legendMapping[$dataContainer->table], ['feature_toggle']);
     }
 }
コード例 #4
0
<?php

/**
 * Avisota newsletter and mailing system
 * 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,
コード例 #5
0
<?php

/**
 * @package    contao-form-validation
 * @author     David Molineus <*****@*****.**>
 * @copyright  2015-2016 netzmacht David Molineus
 * @license    LGPL 3.0
 * @filesource
 *
 */
/*
 * Config
 */
$GLOBALS['TL_DCA']['tl_form']['config']['onsubmit_callback'][] = \Netzmacht\Contao\FormValidation\Dca\FormCallbacks::callback('clearCache');
$GLOBALS['TL_DCA']['tl_form']['config']['ondelete_callback'][] = \Netzmacht\Contao\FormValidation\Dca\FormCallbacks::callback('clearCache');
/*
 * Global operations.
 */
array_insert($GLOBALS['TL_DCA']['tl_form']['list']['global_operations'], 0, array('formvalidation' => array('label' => &$GLOBALS['TL_LANG']['tl_form']['formvalidation'], 'href' => 'table=tl_form_validation', 'icon' => 'form.gif', 'attributes' => 'onclick="Backend.getScrollOffset();"')));
/*
 * Palettes
 */
\Bit3\Contao\MetaPalettes\MetaPalettes::appendBefore('tl_form', 'expert', array('formvalidation' => array(':hide', 'fv_active')));
$GLOBALS['TL_DCA']['tl_form']['metasubpalettes']['fv_active'] = array('fv_setting');
/*
 * Fields
 */
$GLOBALS['TL_DCA']['tl_form']['fields']['fv_active'] = array('label' => &$GLOBALS['TL_LANG']['tl_form']['fv_active'], 'inputType' => 'checkbox', 'exclude' => true, 'eval' => array('tl_class' => 'w50 m12', 'submitOnChange' => true), 'sql' => "char(1) NOT NULL default ''");
$GLOBALS['TL_DCA']['tl_form']['fields']['fv_setting'] = array('label' => &$GLOBALS['TL_LANG']['tl_form']['fv_setting'], 'inputType' => 'select', 'exclude' => true, 'options_callback' => \Netzmacht\Contao\FormValidation\Dca\FormCallbacks::callback('getSettings'), 'save_callback' => array(\Netzmacht\Contao\FormValidation\Dca\FormCallbacks::callback('addIncompleteWarning')), 'wizard' => array(\Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::popupWizard('do=form&amp;table=tl_form_validation', $GLOBALS['TL_LANG']['tl_form']['fv_edit_setting'][0], $GLOBALS['TL_LANG']['tl_form']['fv_edit_setting'][1], 'edit.gif')), 'eval' => array('includeBlankOption' => true, 'chosen' => true, 'tl_class' => 'w50'), 'sql' => "int(10) NOT NULL default '0'");
コード例 #6
0
ファイル: tl_module.php プロジェクト: netzmacht/contao-i18n
<?php

/**
 * Contao I18n provides some i18n structures for easily l10n websites.
 *
 * @package    dev
 * @author     David Molineus <*****@*****.**>
 * @copyright  2015 netzmacht creative David Molineus
 * @license    LGPL 3.0
 * @filesource
 *
 */
use Bit3\Contao\MetaPalettes\MetaPalettes;
/*
 * Palettes
 */
$GLOBALS['TL_DCA']['tl_module']['palettes']['i18n_navigation'] =& $GLOBALS['TL_DCA']['tl_module']['palettes']['navigation'];
$GLOBALS['TL_DCA']['tl_module']['palettes']['i18n_form'] =& $GLOBALS['TL_DCA']['tl_module']['palettes']['form'];
MetaPalettes::appendFields('tl_module', 'login', 'redirect', ['jumpToI18n']);
MetaPalettes::appendFields('tl_module', 'logout', 'redirect', ['jumpToI18n']);
MetaPalettes::appendFields('tl_module', 'personalData', 'redirect', ['jumpToI18n']);
MetaPalettes::appendFields('tl_module', 'registration', 'redirect', ['jumpToI18n']);
MetaPalettes::appendFields('tl_module', 'lostPassword', 'redirect', ['jumpToI18n']);
MetaPalettes::appendFields('tl_module', 'closeAccount', 'redirect', ['jumpToI18n']);
MetaPalettes::appendFields('tl_module', 'search', 'redirect', ['jumpToI18n']);
/*
 * Fields
 */
$GLOBALS['TL_DCA']['tl_module']['fields']['jumpToI18n'] = array('label' => &$GLOBALS['TL_LANG']['tl_module']['jumpToI18n'], 'inputType' => 'checkbox', 'exclude' => true, 'eval' => array('tl_class' => 'w50'), 'sql' => "char(1) NOT NULL default ''");
コード例 #7
0
 public function onLoadCallback()
 {
     MetaPalettes::appendFields('tl_module', 'registration', 'config', array('avisota_selectable_lists'));
     MetaPalettes::appendFields('tl_module', 'personalData', 'config', array('avisota_selectable_lists'));
 }
コード例 #8
0
ファイル: Wrapper.php プロジェクト: contao-bootstrap/core
 /**
  * Make bootstrap_parentId editable in editAll and if a parent id got broken (after duplicating).
  *
  * @return void
  *
  * @SuppressWarnings(PHPMD.Superglobals)
  */
 public function enableFixParentPalette()
 {
     if (\Input::get('bootstrap') === 'parent' && \Input::get('act') === 'edit') {
         $row = \ContentModel::findByPk(\Input::get('id'));
         if ($row) {
             $GLOBALS['TL_DCA']['tl_content']['palettes'][$row->type] = $GLOBALS['TL_DCA']['tl_content']['palettes']['bootstrap_parent'];
         }
     } elseif (\Input::get('act') === 'editAll') {
         $wrappers = Bootstrap::getConfigVar('wrappers');
         foreach ($wrappers as $wrapper) {
             foreach ($wrapper as $name => $type) {
                 if ($name === 'start') {
                     continue;
                 }
                 MetaPalettes::appendFields('tl_content', $type['name'], 'type', array('bootstrap_parentId'));
             }
         }
     }
 }
コード例 #9
0
<?php

/**
 * contao-calendar-filter
 *
 * Copyright © ContaoBlackForest
 *
 * @package   contao-calendar-filter
 * @author    Sven Baumann <*****@*****.**>
 * @author    Dominik Tomasi <*****@*****.**>
 * @license   LGPL-3.0+
 * @copyright Copyright 2016 ContaoBlackForest
 */
\Bit3\Contao\MetaPalettes\MetaPalettes::appendAfter('tl_module', 'eventlist', 'config', array('config_filter' => array('calendarFilterField', 'calendarFilterTemplate', 'calendarFilterMergeMonth')));
$fields = array('calendarFilterField' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['calendarFilterField'], 'exclude' => true, 'inputType' => 'checkboxWizard', 'options_callback' => array('ContaoBlackForest\\Module\\CalendarFilter\\DataContainer\\Module', 'getFilterFields'), 'eval' => array('multiple' => true), 'sql' => "blob NULL"), 'calendarFilterTemplate' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['calendarFilterTemplate'], 'exclude' => true, 'inputType' => 'select', 'options' => array('bootstrap3.default.html.twig', 'bootstrap3.horizontal.html.twig', 'basic.html.twig', 'basic.table.html.twig'), 'eval' => array('chosen' => true, 'tl_class' => 'w50'), 'sql' => 'varchar(64) NOT NULL default \'\''), 'calendarFilterMergeMonth' => array('label' => &$GLOBALS['TL_LANG']['tl_module']['calendarFilterMergeMonth'], 'exclude' => true, 'filter' => true, 'inputType' => 'checkbox', 'sql' => "char(1) NOT NULL default ''"));
$GLOBALS['TL_DCA']['tl_module']['fields'] = array_merge($fields, $GLOBALS['TL_DCA']['tl_module']['fields']);
unset($fields);
コード例 #10
0
<?php

/**
 * @package    contao-form-validation
 * @author     David Molineus <*****@*****.**>
 * @copyright  2015-2016 netzmacht David Molineus
 * @license    LGPL 3.0
 * @filesource
 *
 */
\Bit3\Contao\MetaPalettes\MetaPalettes::appendFields('tl_settings', 'form_validation', array('fv_assetPath'));
$GLOBALS['TL_DCA']['tl_settings']['fields']['fv_assetPath'] = array('label' => &$GLOBALS['TL_LANG']['tl_settings']['fv_assetPath'], 'inputType' => 'text', 'exclude' => true, 'eval' => array('tl_class' => 'long'), 'sql' => "varchar(128) NOT NULL default ''");
コード例 #11
0
<?php

/**
 * Avisota newsletter and mailing system
 *
 * Copyright (C) Avisota
 *
 * @package   contao-css-to-inline-style
 * @file      config.php
 * @author    Sven Baumann <*****@*****.**>
 * @license   LGPL-3.0+
 * @copyright Copyright 2016 Avisota
 */
\Bit3\Contao\MetaPalettes\MetaPalettes::appendFields('orm_avisota_layout', 'mailChimp', 'template', array('cssToInline'));
$fields = array('cssToInline' => array('label' => &$GLOBALS['TL_LANG']['orm_avisota_layout']['cssToInline'], 'exclude' => true, 'inputType' => 'checkbox'));
$GLOBALS['TL_DCA']['orm_avisota_layout']['fields'] = array_merge($GLOBALS['TL_DCA']['orm_avisota_layout']['fields'], $fields);
unset($fields);
<?php

/**
 * contao-calendar-filter-tag
 *
 * Copyright © ContaoBlackForest
 *
 * @package   contao-calendar-filter-tag
 * @file      tl_module.php
 * @author    Sven Baumann <*****@*****.**>
 * @author    Dominik Tomasi <*****@*****.**>
 * @license   LGPL-3.0+
 * @copyright Copyright 2016 ContaoBlackForest
 */
\Bit3\Contao\MetaPalettes\MetaPalettes::appendFields('tl_calendar_events', 'title', array('tag'));
$fields = array('tag' => array('label' => &$GLOBALS['TL_LANG']['tl_calendar_events']['tag'], 'exclude' => true, 'search' => true, 'sorting' => true, 'flag' => 1, 'inputType' => 'text', 'eval' => array('maxlength' => 255), 'sql' => 'varchar(255) NOT NULL default \'\''));
$GLOBALS['TL_DCA']['tl_calendar_events']['fields'] = array_merge($fields, $GLOBALS['TL_DCA']['tl_calendar_events']['fields']);
unset($fields);
コード例 #13
0
/*
 * Palettes
 */
$GLOBALS['TL_DCA']['tl_form_field']['metapalettes']['button'] = array('type' => array('type', 'name', 'slabel', 'bootstrap_addIcon'), 'image' => array(':hide', 'imageSubmit'), 'expert' => array(':hide', 'class', 'accesskey', 'tabindex'), 'template' => array(':hide,customTpl'));
foreach (Bootstrap::getConfigVar('form.widgets', array()) as $widget => $config) {
    if (isset($config['input-group']) && $config['input-group']) {
        MetaPalettes::appendAfter('tl_form_field', $widget, 'fconfig', array('icon' => array(':hide', 'bootstrap_addIcon'), 'unit' => array(':hide', 'bootstrap_addUnit')));
    }
}
// append inlineStyle option to radio and checkbox
MetaPalettes::appendFields('tl_form_field', 'radio', 'fconfig', array('bootstrap_inlineStyle'));
MetaPalettes::appendFields('tl_form_field', 'checkbox', 'fconfig', array('bootstrap_inlineStyle'));
// Add search select option
MetaPalettes::appendFields('tl_form_field', 'select', 'fconfig', array('bootstrap_select_search'));
if (Bootstrap::getConfigVar('form.styled-upload.enabled')) {
    MetaPalettes::appendFields('tl_form_field', 'upload', 'fconfig', array('placeholder'));
}
$GLOBALS['TL_DCA']['tl_form_field']['metasubpalettes']['bootstrap_addIcon'] = array('bootstrap_icon', 'bootstrap_iconPosition');
$GLOBALS['TL_DCA']['tl_form_field']['metasubpalettes']['bootstrap_addUnit'] = array('bootstrap_unit', 'bootstrap_unitPosition');
unset($GLOBALS['TL_DCA']['tl_form_field']['subpalettes']['addSubmit']);
$GLOBALS['TL_DCA']['tl_form_field']['metasubpalettes']['addSubmit'] = array('slabel', 'bootstrap_addSubmitIcon', 'bootstrap_addSubmitIconPosition', 'bootstrap_addSubmitClass');
/*
 * Fields
 */
$GLOBALS['TL_DCA']['tl_form_field']['fields']['type']['options_callback'] = function () {
    return array_keys($GLOBALS['TL_FFL']);
};
$GLOBALS['TL_DCA']['tl_form_field']['fields']['bootstrap_addIcon'] = array('label' => &$GLOBALS['TL_LANG']['tl_form_field']['bootstrap_addIcon'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true), 'sql' => "char(1) NOT NULL default ''");
$GLOBALS['TL_DCA']['tl_form_field']['fields']['bootstrap_icon'] = array('label' => &$GLOBALS['TL_LANG']['tl_form_field']['bootstrap_icon'], 'exclude' => true, 'inputType' => 'icon', 'options' => Bootstrap::getIconSet()->getIcons(), 'eval' => array('tl_class' => 'w50', 'iconTemplate' => Bootstrap::getIconSet()->getTemplate()), 'sql' => "varchar(32) NOT NULL default ''");
$GLOBALS['TL_DCA']['tl_form_field']['fields']['bootstrap_iconPosition'] = array('label' => &$GLOBALS['TL_LANG']['tl_form_field']['bootstrap_iconPosition'], 'exclude' => true, 'inputType' => 'select', 'options' => array('left', 'right'), 'reference' => &$GLOBALS['TL_LANG']['tl_form_field'], 'eval' => array('tl_class' => 'w50'), 'sql' => "varchar(32) NOT NULL default ''");
$GLOBALS['TL_DCA']['tl_form_field']['fields']['bootstrap_addUnit'] = array('label' => &$GLOBALS['TL_LANG']['tl_form_field']['bootstrap_addUnit'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('submitOnChange' => true, 'tl_class' => 'clr'), 'sql' => "char(1) NOT NULL default ''");