__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/**
* @package DPCalendar
* @copyright Copyright (C) 2017 Digital Peak GmbH. <https://www.digital-peak.com>
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
*/
namespace DigitalPeak\Component\DPCalendar\Administrator\Field;
\defined('_JEXEC') or die();
use DigitalPeak\Component\DPCalendar\Administrator\Helper\DPCalendarHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Form\Field\ListField;
use Joomla\CMS\Form\Form;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\Component\Fields\Administrator\Helper\FieldsHelper;
class DpcfieldsField extends ListField
{
public $type = 'DPCFields';
public function getFields(): array
{
return $this->getOptions();
}
protected function getOptions(): array
{
$options = [];
Factory::getApplication()->getLanguage()->load('com_dpcalendar', JPATH_ADMINISTRATOR . '/components/com_dpcalendar');
Form::addFormPath(JPATH_ADMINISTRATOR . '/components/com_dpcalendar/forms');
$hide = array_filter(explode(',', $this->element['hide'] ?: ''));
// @phpstan-ignore-next-line
$form = Form::getInstance('com_dpcalendar.' . $this->element['section'], $this->element['section'], ['control' => 'jform']);
foreach ($form->getFieldset() as $field) {
// Ignore spacers
if ($field->type === 'Spacer') {
continue;
}
$fieldName = $field->fieldname;
// When no filter form use the compiled field name
if (!str_contains((string)$this->element['section'], 'filter')) {
$fieldName = DPCalendarHelper::getFieldName($field);
}
// Ignore when hidden
if ($hide && array_filter($hide, fn ($toHide): bool => fnmatch($toHide, $fieldName))) {
continue;
}
$field->hidden = false;
$options[] = HTMLHelper::_('select.option', $fieldName, Text::_($field->getTitle()));
}
$fields = FieldsHelper::getFields('com_dpcalendar.' . str_replace('filter_events', 'event', (string)$this->element['section']));
foreach ($fields as $field) {
if ((string)$this->element['section'] === 'filter_events' && $field->type !== 'text') {
continue;
}
$options[] = HTMLHelper::_('select.option', $field->name, Text::_($field->label));
}
// Merge any additional options in the XML definition.
return array_merge($options, parent::getOptions());
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| DatetimechooserField.php | File | 3.21 KB | 0664 |
|
| DpauthorField.php | File | 1007 B | 0664 |
|
| DpcalendarField.php | File | 1.74 KB | 0664 |
|
| DpcalendareditField.php | File | 3.21 KB | 0664 |
|
| DpcfieldsField.php | File | 2.24 KB | 0664 |
|
| DpcountriesField.php | File | 1.07 KB | 0664 |
|
| DpcroomsField.php | File | 1.16 KB | 0664 |
|
| DpcurrencyField.php | File | 1.02 KB | 0664 |
|
| DpmenuitemsField.php | File | 2.62 KB | 0664 |
|
| DppaymentproviderField.php | File | 1.02 KB | 0664 |
|
| DpradioField.php | File | 2.69 KB | 0664 |
|
| DptokenField.php | File | 1.16 KB | 0664 |
|
| EventField.php | File | 9.04 KB | 0664 |
|
| ExtcalendarField.php | File | 1.35 KB | 0664 |
|
| GeocompleteField.php | File | 1.08 KB | 0664 |
|
| LocationField.php | File | 1007 B | 0664 |
|