diff --git a/libraries/src/Extension/ExtensionHelper.php b/libraries/src/Extension/ExtensionHelper.php index 9b236c1a8e798..3917bb01080ad 100644 --- a/libraries/src/Extension/ExtensionHelper.php +++ b/libraries/src/Extension/ExtensionHelper.php @@ -393,15 +393,25 @@ public static function getCoreExtensionIds() ->select($db->quoteName('extension_id')) ->from($db->quoteName('#__extensions')); + $values = []; + foreach (self::$coreExtensions as $extension) { - $values = $query->bindArray($extension, [ParameterType::STRING, ParameterType::STRING, ParameterType::STRING, ParameterType::INTEGER]); - $query->where( - '(' . $db->quoteName('type') . ' = ' . $values[0] . ' AND ' . $db->quoteName('element') . ' = ' . $values[1] - . ' AND ' . $db->quoteName('folder') . ' = ' . $values[2] . ' AND ' . $db->quoteName('client_id') . ' = ' . $values[3] . ')', - 'OR' - ); + $values[] = $extension[0] . '|' . $extension[1] . '|' . $extension[2] . '|' . $extension[3]; } + $query->whereIn( + $query->concatenate( + [ + $db->quoteName('type'), + $db->quoteName('element'), + $db->quoteName('folder'), + $db->quoteName('client_id'), + ], + '|' + ), + $values + ); + $db->setQuery($query); self::$coreExtensionIds = $db->loadColumn();