<?php
/**
* @package RSForm! Pro
* @copyright (C) 2007-2019 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/
defined('_JEXEC') or die;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Form\FormHelper;
use Joomla\CMS\Form\Field\ListField;
use Joomla\CMS\Factory;
FormHelper::loadFieldClass('list');
if (version_compare(JVERSION, '4.0', '<'))
{
JLoader::registerAlias('Joomla\\CMS\\Form\\Field\\ListField', 'JFormFieldList');
}
class JFormFieldFormfields extends ListField
{
protected function getOptions()
{
$formId = Factory::getApplication()->input->getInt('formId');
if (!$formId)
{
$formId = $this->form->getValue('formId', 'params');
}
$options = array();
if ($formId)
{
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select($db->qn('p.PropertyValue'))
->select($db->qn('c.ComponentId'))
->from($db->qn('#__rsform_components', 'c'))
->join('LEFT', $db->qn('#__rsform_properties', 'p') . ' ON (' . $db->qn('c.ComponentId') . '=' . $db->qn('p.ComponentId') . ')')
->where($db->qn('c.FormId') . '=' . $db->q($formId))
->where($db->qn('p.PropertyName') . '=' . $db->q('NAME'))
->order($db->qn('c.Order') . ' ' . $db->escape('ASC'));
if ($fields = $db->setQuery($query)->loadColumn())
{
foreach ($fields as $field)
{
$options[] = HTMLHelper::_('select.option', $field, $field);
}
}
reset($options);
}
return array_merge(parent::getOptions(), $options);
}
}