Server : LiteSpeed System : Linux server 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : alsaif ( 1057) PHP Version : 7.4.33 Disable Function : show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/alsaif/public_html/libraries/regularlabs/fields/ |
<?php
/**
* @package Regular Labs Library
* @version 23.9.3039
*
* @author Peter van Westen <info@regularlabs.com>
* @link https://regularlabs.com
* @copyright Copyright © 2023 Regular Labs All Rights Reserved
* @license GNU General Public License version 2 or later
*/
defined('_JEXEC') or die;
use Joomla\CMS\HTML\HTMLHelper as JHtml;
use Joomla\Registry\Registry;
use RegularLabs\Library\Field;
if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php'))
{
return;
}
require_once JPATH_LIBRARIES . '/regularlabs/autoload.php';
class JFormFieldRL_Languages extends Field
{
public $type = 'Languages';
public function getAjaxRaw(Registry $attributes)
{
$name = $attributes->get('name', $this->type);
$id = $attributes->get('id', strtolower($name));
$value = $attributes->get('value', []);
$size = $attributes->get('size');
$multiple = $attributes->get('multiple');
$options = $this->getLanguages($value);
return $this->selectListSimple($options, $name, $value, $id, $size, $multiple);
}
public function getLanguages($value)
{
$langs = JHtml::_('contentlanguage.existing');
if ( ! is_array($value))
{
$value = [$value];
}
$options = [];
foreach ($langs as $lang)
{
if (empty($lang->value))
{
continue;
}
$options[] = (object) [
'value' => $lang->value,
'text' => $lang->text . ' [' . $lang->value . ']',
'selected' => in_array($lang->value, $value),
];
}
return $options;
}
protected function getInput()
{
$size = (int) $this->get('size');
$multiple = $this->get('multiple');
return $this->selectListSimpleAjax(
$this->type, $this->name, $this->value, $this->id,
compact('size', 'multiple')
);
}
}