<?php
/*
* This file is part of eSales Media cookieconsent module
*
* (c) Benjamin Roth
*
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL
*/
/**
* Extend the palettes.
*/
$GLOBALS['TL_DCA']['tl_page']['palettes']['__selector__'][] = 'cookieconsent_enable';
$GLOBALS['TL_DCA']['tl_page']['palettes']['root'] .= ';{cookieconsent_legend},cookieconsent_enable';
$GLOBALS['TL_DCA']['tl_page']['subpalettes']['cookieconsent_enable'] = 'cookieconsent_link,cookieconsent_services,cookieconsent_categories_custom,cookieconsent_services_custom';
/*
* Add the fields
*/
$GLOBALS['TL_DCA']['tl_page']['fields']['cookieconsent_enable'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_page']['cookieconsent_enable'],
'exclude' => true,
'inputType' => 'checkbox',
'eval' => array('submitOnChange' => true, 'tl_class' => 'clr'),
'sql' => "char(1) NOT NULL default ''",
);
$GLOBALS['TL_DCA']['tl_page']['fields']['cookieconsent_link'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_page']['cookieconsent_link'],
'exclude' => true,
'search' => true,
'inputType' => 'text',
'eval' => array('rgxp'=>'url', 'decodeEntities'=>true, 'maxlength'=>255, 'fieldType'=>'radio', 'tl_class'=>'clr w50 wizard'),
'wizard' => array
(
array('tl_content_cookieconsent', 'pagePicker')
),
'sql'=> "varchar(255) NOT NULL default ''"
);
$GLOBALS['TL_DCA']['tl_page']['fields']['cookieconsent_services'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_page']['cookieconsent_services'],
'exclude' => true,
'inputType' => 'checkbox',
'options' => array('analytics','matomo'),
'reference' => &$GLOBALS['TL_LANG']['REF']['tl_page']['cookieconsent_services'],
'eval' => array('multiple'=>true, 'tl_class' => 'clr'),
'sql' => "blob NULL",
);
$GLOBALS['TL_DCA']['tl_page']['fields']['cookieconsent_categories_custom'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_page']['cookieconsent_categories_custom'],
'exclude' => true,
'inputType' => 'textarea',
'explanation' => 'cookieconsent_categories',
'eval' => array('allowHtml'=>true, 'class'=>'monospace', 'rte'=>'ace|javascript', 'tl_class'=>'clr', 'helpwizard'=>true),
'sql'=> "mediumtext NULL"
);
$GLOBALS['TL_DCA']['tl_page']['fields']['cookieconsent_services_custom'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_page']['cookieconsent_services_custom'],
'exclude' => true,
'inputType' => 'textarea',
'explanation' => 'cookieconsent_services',
'eval' => array('allowHtml'=>true, 'class'=>'monospace', 'rte'=>'ace|javascript', 'tl_class'=>'clr', 'helpwizard'=>true),
'sql'=> "mediumtext NULL"
);
class tl_content_cookieconsent extends Backend
{
/**
* Return the link picker wizard
*
* @param \DataContainer $dc
*
* @return string
*/
public function pagePicker(\DataContainer $dc)
{
return ' <a href="' . (($dc->value == '' || strpos($dc->value, '{{link_url::') !== false) ? 'contao/page.php' : 'contao/file.php') . '?do=' . \Input::get('do') . '&table=' . $dc->table . '&field=' . $dc->field . '&value=' . rawurlencode(str_replace(array('{{link_url::', '}}'), '', $dc->value)) . '&switch=1' . '" title="' . specialchars($GLOBALS['TL_LANG']['MSC']['pagepicker']) . '" onclick="Backend.getScrollOffset();Backend.openModalSelector({\'width\':768,\'title\':\'' . specialchars(str_replace("'", "\\'", $GLOBALS['TL_DCA'][$dc->table]['fields'][$dc->field]['label'][0])) . '\',\'url\':this.href,\'id\':\'' . $dc->field . '\',\'tag\':\'ctrl_'. $dc->field . ((\Input::get('act') == 'editAll') ? '_' . $dc->id : '') . '\',\'self\':this});return false">' . \Image::getHtml('pickpage.gif', $GLOBALS['TL_LANG']['MSC']['pagepicker'], 'style="vertical-align:top;cursor:pointer"') . '</a>';
}
}