public static function getCoreExtensionIds()
{
if (self::$coreExtensionIds !== null) {
return self::$coreExtensionIds;
}
$db = Factory::getDbo();
$query = $db->getQuery(true)->select($db->quoteName('extension_id'))->from($db->quoteName('#__extensions'));
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');
}
$db->setQuery($query);
self::$coreExtensionIds = $db->loadColumn();
return self::$coreExtensionIds;
}