File: /home/confeduphaar/backip-old-files/administrator/components/com_jevents/fields/jevtimezone.php
<?php
/**
* JEvents Component for Joomla! 3.x
*
* @version $Id: jevtimezone.php 1975 2011-04-27 15:52:33Z geraintedwards $
* @package JEvents
* @copyright Copyright (C) 2008-2020 GWESystems Ltd
* @license GNU/GPLv2, see http://www.gnu.org/licenses/gpl-2.0.html
* @link http://www.jevents.net
*/
// Check to ensure this file is within the rest of the framework
defined('JPATH_BASE') or die();
use Joomla\CMS\Language\Text;
use Joomla\CMS\Form\FormField;
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Component\ComponentHelper;
jimport('joomla.html.html');
jimport('joomla.form.formfield');
jimport('joomla.form.helper');
class FormFieldJevtimezone extends FormField
{
protected $type = 'Jevtimezone';
protected function getInput()
{
JLoader::register('JEVHelper', JPATH_SITE . "/components/com_jevents/libraries/helper.php");
JEVHelper::ConditionalFields($this->element, $this->form->getName());
if (class_exists("DateTimeZone"))
{
$params = ComponentHelper::getParams("com_jevents");
$choosefrom = $params->get("offeredtimezones", array());
//? explode(",",$this->getAttribute("choosefrom", "")) : array();
if (!is_array($choosefrom) || (count($choosefrom) == 1 && $choosefrom[0] == "") || Factory::getApplication()->input->getCmd("task") == "params.edit")
{
$choosefrom = array();
}
$zones = DateTimeZone::listIdentifiers();
static $options;
if (!isset($options))
{
$options = array();
$options[] = HTMLHelper::_('select.option', '', '- ' . Text::_('SELECT_TIMEZONE') . ' -');
foreach ($zones as $zone)
{
if (strpos($zone, "/") === false && strpos($zone, "UTC") === false)
continue;
if (strpos($zone, "Etc") === 0)
continue;
if (count($choosefrom) && !in_array($zone, $choosefrom))
{
continue;
}
$zonevalue = $zone;
$translatezone = str_replace("/", "_", $zone);
$translatedzone = Text::_($translatezone);
if ($translatezone != $translatedzone)
{
$zone = $translatedzone;
}
$options[] = HTMLHelper::_('select.option', $zonevalue, $zone);
}
}
$attr = array('list.attr' => 'class="' . $this->class . '" ',
'list.select' => $this->value,
'option.key' => 'value',
'option.text' => 'text',
'id' => $this->id
);
$attr["list.attr"] .= !empty($this->size) ? ' size="' . $this->size . '"' : '';
$attr["list.attr"] .= !empty($this->onchange) ? ' onchange="' . $this->onchange . '"' : '';
$attr["list.attr"] .= $this->getAttribute("style", false) ? "style='" . $this->getAttribute("style") . "'" : '';
$attr["list.attr"] .= $this->multiple ? ' multiple="multiple" ' : '';
if (($this->value == "" || $this->value == -1) && $this->multiple)
{
unset($attr["list.select"]);
}
//$input = HTMLHelper::_('select.groupedlist', $optionsGroup, $this->name,$attr);
return HTMLHelper::_('select.genericlist', $options, $this->name, $attr); //'class="inputbox"', 'value', 'text', $this->value, $this->id);
}
else
{
/*
* Required to avoid a cycle of encoding &
* html_entity_decode was used in place of htmlspecialchars_decode because
* htmlspecialchars_decode is not compatible with PHP 4
*/
$value = htmlspecialchars(html_entity_decode($this->value, ENT_QUOTES), ENT_QUOTES);
return '<input type="text" name="' . $this->name . '" id="' . $this->id . '" value="' . $value . '" />';
}
}
}
class_alias("FormFieldJevtimezone", "JFormFieldJevtimezone");