| Current Path : /home/megadansyp/www/components/com_eventgallery/models/fields/ |
| Current File : /home/megadansyp/www/components/com_eventgallery/models/fields/states.php |
<?php
/**
* @package Sven.Bluege
* @subpackage com_eventgallery
*
* @copyright Copyright (C) 2005 - 2019 Sven Bluege All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die('Restricted access');
jimport('joomla.form.formfield');
// The class name must always be the same as the filename (in camel case)
class JFormFieldstates extends JFormField
{
//The field class must know its own type through the variable $type.
protected $type = 'states';
public function getInput()
{
$attribs = ['class' => 'form-control input-xlarge'];
$data = array();
$data['N/A'] = ['id'=>$this->buildOptGroupId('nocountry'), 'text'=>'N/A', 'items'=>[JHtml::_('select.option', '', 'N/A')]];
foreach(EventgalleryLibraryCommonGeoobjects::getStates(true) as $countryCode=>$states) {
$countryName = EventgalleryLibraryCommonGeoobjects::getCountryName($countryCode);
$data[$countryName] = [
'id' => $this->buildOptGroupId($countryCode),
'text' => $countryName,
'items' => []
];
foreach($states as $state) {
$data[$countryName]['items'][] = JHtml::_('select.option', $state->statecode, $state->statename);
}
}
$html = JHtml::_('select.groupedlist', $data, $this->id, [
'id' =>$this->id,
'group.id' => 'id',
'list.attr' => $attribs,
'list.select' => $this->value
]);
return $html;
}
private function buildOptGroupId($id) {
return $this->id . '_' . $id;
}
}