diff --git a/site/elements/civieventtypes.php b/site/elements/civieventtypes.php new file mode 100644 index 00000000..e31bf96f --- /dev/null +++ b/site/elements/civieventtypes.php @@ -0,0 +1,84 @@ +value; + $name = $this->name; + + // Initiate CiviCRM + define('CIVICRM_SETTINGS_PATH', JPATH_ROOT . '/' . 'administrator/components/com_civicrm/civicrm.settings.php'); + require_once CIVICRM_SETTINGS_PATH; + + require_once 'CRM/Core/ClassLoader.php'; + CRM_Core_ClassLoader::singleton()->register(); + + require_once 'CRM/Core/Config.php'; + $config = CRM_Core_Config::singleton(); + + $groupIdForEventTypes = $this->getGroupIdForEventTypes(); + + $eventTypeResults = \Civi\Api4\OptionValue::get(TRUE) + ->addWhere('option_group_id', '=', $groupIdForEventTypes) + ->execute(); + $eventTypes = iterator_to_array($eventTypeResults); + + $options = array(); + $options[] = JHTML::_('select.option', '', ''); // Add an empty first option + foreach ($eventTypes as $eventType) { + $options[] = JHTML::_('select.option', $eventType['value'], $eventType['label']); + } + + return JHTML::_('select.genericlist', $options, $name, NULL, 'value', 'text', $value); + } + + private function getGroupIdForEventTypes() + { + $groupIdResults = \Civi\Api4\OptionGroup::get(TRUE) + ->addSelect('id') + ->addWhere('name', '=', 'event_type') + ->execute(); + $groupIdForEventTypes = current(iterator_to_array($groupIdResults))['id']; + + return $groupIdForEventTypes; + } +} + diff --git a/site/views/Events/tmpl/eventlisting.xml b/site/views/Events/tmpl/eventlisting.xml index 2f79c675..ff7013d5 100644 --- a/site/views/Events/tmpl/eventlisting.xml +++ b/site/views/Events/tmpl/eventlisting.xml @@ -16,16 +16,15 @@ List of all active, current, public events. Event Listing - +
-