| Current Path : /home/j/u/v/juvelize/www/modules/mod_geekfacebookembed/fields/ |
| Current File : /home/j/u/v/juvelize/www/modules/mod_geekfacebookembed/fields/dependentselect.php |
<?php
/**
* @package mod_geekfacebookembed
* @version 1.2.0
*
* @copyright Copyright (C) 2015 - 2017 JoomlaGeek. All Rights Reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
* @author JoomlaGeek <admin@joomlageek.com>
* @link http://www.joomlageek.com
*/
defined('JPATH_BASE') or die;
JFormHelper::loadFieldClass('list');
class JFormFieldDependentSelect extends JFormFieldList
{
/**
* The form field type.
*
* @var string
* @since 11.1
*/
protected $type = 'DependentSelect';
protected function getInput()
{
$this->hidden = true;
$group = $this->formControl.'['.$this->group.']';
$script = array();
foreach ($this->element->children() as $option) {
// Only add <option /> elements.
if ($option->getName() != 'option') {
continue;
}
$depends = preg_replace('/\s+/', '', (string) $option);
$depends = explode(',', $depends);
$depends = count($depends) ? "['".implode("','", $depends)."']" : '[]';
$script[] = "
geekDependentSelect.register({
group: '{$group}',
element: '{$option['element']}',
value: '{$option['value']}',
depends: {$depends}
});
";
}
if(count($script)) {
$path = substr(dirname(__FILE__), strlen(JPATH_ROOT));
$path = preg_replace('#[/\\\\]+#', '/', $path.'/');
$path = preg_replace('#^[/\\\\]+#', '', $path);
$doc = JFactory::getDocument();
$doc->addScript(JUri::root(true).'/'.$path.'dependentselect/script.js');
$doc->addScriptDeclaration(implode('', $script));
}
}
}