From e0ac018f25ced10af55d5bf6ba216dcd56b27191 Mon Sep 17 00:00:00 2001 From: SharkyKZ Date: Wed, 10 Oct 2018 00:46:44 +0300 Subject: [PATCH] [com_actionlogs] Sort events in alpha order (#22542) * Sort log extensions * Case insensitive * Workaround. Thanks @mbabker. --- .../com_actionlogs/models/fields/logtype.php | 30 ++++++++----------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/administrator/components/com_actionlogs/models/fields/logtype.php b/administrator/components/com_actionlogs/models/fields/logtype.php index 8573ae9ca781b..c8f0ef56b08e5 100644 --- a/administrator/components/com_actionlogs/models/fields/logtype.php +++ b/administrator/components/com_actionlogs/models/fields/logtype.php @@ -9,6 +9,8 @@ defined('_JEXEC') or die; +use Joomla\CMS\Application\ApplicationHelper; + JFormHelper::loadFieldClass('checkboxes'); JLoader::register('ActionlogsHelper', JPATH_ADMINISTRATOR . '/components/com_actionlogs/helpers/actionlogs.php'); @@ -38,29 +40,23 @@ public function getOptions() { $db = JFactory::getDbo(); $query = $db->getQuery(true) - ->select('a.extension') - ->from($db->quoteName('#__action_logs_extensions', 'a')); - - $db->setQuery($query); + ->select($db->quoteName('extension')) + ->from($db->quoteName('#__action_logs_extensions')); - $extensions = $db->loadObjectList(); + $extensions = $db->setQuery($query)->loadColumn(); - $options = array(); - $defaults = array(); + $options = array(); + $tmp = array('checked' => true); foreach ($extensions as $extension) { - $tmp = array( - 'checked' => true, - ); - - $defaults[] = $extension; - - ActionlogsHelper::loadTranslationFiles($extension->extension); - $option = JHtml::_('select.option', $extension->extension, JText::_($extension->extension)); - $options[] = (object) array_merge($tmp, (array) $option); + ActionlogsHelper::loadTranslationFiles($extension); + $option = JHtml::_('select.option', $extension, JText::_($extension)); + $options[ApplicationHelper::stringURLSafe(JText::_($extension)) . '_' . $extension] = (object) array_merge($tmp, (array) $option); } - return array_merge(parent::getOptions(), $options); + ksort($options); + + return array_merge(parent::getOptions(), array_values($options)); } }