<?php if (!defined('TL_ROOT')) die('You can not access this file directly!');

/**
 * Contao Open Source CMS
 * Copyright (C) 2005-2011 Leo Feyer
 *
 * Formerly known as TYPOlight Open Source CMS.
 *
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation, either
 * version 3 of the License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with this program. If not, please visit the Free
 * Software Foundation website at <http://www.gnu.org/licenses/>.
 *
 * PHP version 5
 * @copyright  eSales Media 2012 
 * @author     Benjamin Roth <www.esales-media.de> 
 * @package    legalAgeCheck 
 * @license    GNU/LGPL
 * @filesource
 */


/**
 * Palettes
 */
$GLOBALS['TL_DCA']['tl_page']['palettes']['root'] = str_replace('{meta_legend}', '{agecheck_legend:hide},es_ext_agecheck;{meta_legend}',$GLOBALS['TL_DCA']['tl_page']['palettes']['root']);
$GLOBALS['TL_DCA']['tl_page']['palettes']['regular'] = str_replace('{meta_legend}', '{agecheck_legend:hide},es_ext_agecheck_ignorePage;{meta_legend}',$GLOBALS['TL_DCA']['tl_page']['palettes']['regular']);
$GLOBALS['TL_DCA']['tl_page']['palettes']['__selector__'][] = 'es_ext_agecheck';
$GLOBALS['TL_DCA']['tl_page']['subpalettes']['es_ext_agecheck'] = 'es_ext_agecheck_exitPage,es_ext_agecheck_title,es_ext_agecheck_text';
/**
 * Fields
 */
$GLOBALS['TL_DCA']['tl_page']['fields']['es_ext_agecheck'] = array
(
	'label'                   => &$GLOBALS['TL_LANG']['tl_page']['es_ext_agecheck'],
	'exclude'                 => true,
	'inputType'               => 'checkbox',
	'eval'                    => array('submitOnChange'=>true),
  'sql'                     => "char(1) NOT NULL default ''"
);

$GLOBALS['TL_DCA']['tl_page']['fields']['es_ext_agecheck_exitPage'] = array
(
	'label'                   => &$GLOBALS['TL_LANG']['tl_page']['es_ext_agecheck_exitPage'],
	'exclude'                 => true,
	'inputType'               => 'pageTree',
	'eval'                    => array('fieldType'=>'radio', 'mandatory'=>true),
  'sql'                     => "int(10) unsigned NOT NULL default '0'"
);

$GLOBALS['TL_DCA']['tl_page']['fields']['es_ext_agecheck_ignorePage'] = array
(
	'label'                   => &$GLOBALS['TL_LANG']['tl_page']['es_ext_agecheck_ignorePage'],
	'exclude'                 => true,
	'inputType'               => 'checkbox',
  'sql'                     => "char(1) NOT NULL default ''"
);

$GLOBALS['TL_DCA']['tl_page']['fields']['es_ext_agecheck_title'] = array
(
  'label'                   => &$GLOBALS['TL_LANG']['tl_page']['es_ext_agecheck_title'],
  'exclude'                 => true,
  'inputType'               => 'text',
  'load_callback'            => array
  (
    array('tl_page_legalAgeCheck', 'setDefaultLegalAgeTitle')
  ),
  'eval'                    => array('mandatory'=>true, 'rgxp'=>'extnd','alwaysSave'=>true),
  'sql'                     => "varchar(255) NOT NULL default ''"
);

$GLOBALS['TL_DCA']['tl_page']['fields']['es_ext_agecheck_text'] = array
(
  'label'                   => &$GLOBALS['TL_LANG']['tl_page']['es_ext_agecheck_text'],
  'exclude'                 => true,
  'inputType'               => 'textarea',
  'load_callback'            => array
  (
    array('tl_page_legalAgeCheck', 'setDefaultLegalAgeText')
  ),
  'save_callback'            => array
  (
    array('tl_page_legalAgeCheck', 'setDefaultLegalAgeText')
  ),
  'eval'                    => array('rte'=>'tinyMCE', 'minlen'=>1, 'allowHtml'=>true),
  'sql'                     => "text NULL"
);

class tl_page_legalAgeCheck extends \Backend
{
  /**
   * Return default text if value is empty
   *
   * @param $varValue
   * @param \DataContainer $dc
   * @return String
   */
  public function setDefaultLegalAgeText($varValue, \DataContainer $dc)
  {
    if (!$varValue)
    {
      return $GLOBALS['TL_LANG']['MSC']['es_legalagecheck']['text'];
    }

    return $varValue;
  }

  /**
   * Return default title if value is empty
   *
   * @param $varValue
   * @param \DataContainer $dc
   * @return String
   */
  public function setDefaultLegalAgeTitle($varValue, \DataContainer $dc)
  {
    if (!$varValue)
    {
      return $GLOBALS['TL_LANG']['MSC']['es_legalagecheck']['title'];
    }

    return $varValue;
  }
}