From 8adf85039afd698cd370c488f76bb06debd9a140 Mon Sep 17 00:00:00 2001 From: Richard Fath Date: Thu, 28 Dec 2023 13:41:01 +0100 Subject: [PATCH 1/3] Use concat of columns for getting core extensions --- libraries/src/Extension/ExtensionHelper.php | 22 +++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/libraries/src/Extension/ExtensionHelper.php b/libraries/src/Extension/ExtensionHelper.php index 9b236c1a8e798..097ca76b84a91 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[] = $db->quote($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(); From 8d011e44fe81805847f1976a5f471a1e7d572cd8 Mon Sep 17 00:00:00 2001 From: Richard Fath Date: Thu, 28 Dec 2023 14:29:48 +0100 Subject: [PATCH 2/3] Fix PHPCS --- libraries/src/Extension/ExtensionHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Extension/ExtensionHelper.php b/libraries/src/Extension/ExtensionHelper.php index 097ca76b84a91..2659379e17eee 100644 --- a/libraries/src/Extension/ExtensionHelper.php +++ b/libraries/src/Extension/ExtensionHelper.php @@ -405,7 +405,7 @@ public static function getCoreExtensionIds() $db->quoteName('type'), $db->quoteName('element'), $db->quoteName('folder'), - $db->quoteName('client_id') + $db->quoteName('client_id'), ], '|' ), From ad2edfc5f9e4770c4e7de5e2a49ac7a7b6a8df66 Mon Sep 17 00:00:00 2001 From: Richard Fath Date: Thu, 28 Dec 2023 15:00:52 +0100 Subject: [PATCH 3/3] Remove wrong quotes --- libraries/src/Extension/ExtensionHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Extension/ExtensionHelper.php b/libraries/src/Extension/ExtensionHelper.php index 2659379e17eee..3917bb01080ad 100644 --- a/libraries/src/Extension/ExtensionHelper.php +++ b/libraries/src/Extension/ExtensionHelper.php @@ -396,7 +396,7 @@ public static function getCoreExtensionIds() $values = []; foreach (self::$coreExtensions as $extension) { - $values[] = $db->quote($extension[0] . '|' . $extension[1] . '|' . $extension[2] . '|' . $extension[3]); + $values[] = $extension[0] . '|' . $extension[1] . '|' . $extension[2] . '|' . $extension[3]; } $query->whereIn(