From ad913b65eecea6cd11c6f8a1490f8e129a098cf3 Mon Sep 17 00:00:00 2001 From: Jun Pataleta Date: Sat, 24 Aug 2024 00:57:34 +0800 Subject: [PATCH] MDL-82740 core: Check for monologo icons in theme overrides --- lib/classes/component.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/classes/component.php b/lib/classes/component.php index d954186e738..d37c5e4af1b 100644 --- a/lib/classes/component.php +++ b/lib/classes/component.php @@ -1566,10 +1566,15 @@ $cache = ' . var_export($cache, true) . '; * @return bool True if the plugin has a monologo icon */ public static function has_monologo_icon(string $plugintype, string $pluginname): bool { + global $PAGE; $plugindir = self::get_plugin_directory($plugintype, $pluginname); if ($plugindir === null) { return false; } - return file_exists("$plugindir/pix/monologo.svg") || file_exists("$plugindir/pix/monologo.png"); + $theme = \theme_config::load($PAGE->theme->name); + $component = self::normalize_componentname("{$plugintype}_{$pluginname}"); + $hassvgmonologo = $theme->resolve_image_location('monologo', $component, true) !== null; + $haspngmonologo = $theme->resolve_image_location('monologo', $component) !== null; + return $haspngmonologo || $hassvgmonologo; } }