Your IP : 216.73.216.224


Current Path : /var/www/html/administrator/components/com_osmembership/elements/
Upload File :
Current File : /var/www/html/administrator/components/com_osmembership/elements/osmfield.php

<?php
/**
 * @package        Joomla
 * @subpackage     Membership Pro
 * @author         Tuan Pham Ngoc
 * @copyright      Copyright (C) 2012 - 2026 Ossolution Team
 * @license        GNU/GPL, see LICENSE.php
 */

defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\Form\Field\ListField;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;

class JFormFieldOSMField extends ListField
{
	/**
	 * The form field type.
	 *
	 * @var string
	 */
	protected $type = 'osmfield';

	/**
	 * Method to get the list of options for the field.
	 *
	 * @return  array  The field option objects.
	 *
	 */
	protected function getOptions()
	{
		/* @var \Joomla\Database\DatabaseDriver $db */
		$db = Factory::getContainer()->get('db');

		$keyField = (string) $this->element['keyField'] ?: 'id';

		$query = $db->getQuery(true)
			->select($db->quoteName($keyField, 'value'))
			->select($db->quoteName('title', 'text'))
			->from('#__eb_fields')
			->where('published = 1')
			->order('title');
		$db->setQuery($query);

		$options = [];

		if ($keyField === 'name')
		{
			$options[] = HTMLHelper::_('select.option', '', Text::_('Select Field'));
		}
		else
		{
			$options[] = HTMLHelper::_('select.option', 0, Text::_('Select Field'));
		}

		return array_merge($options, $db->loadObjectList());
	}
}