MDL-82740 core: Consider theme when checking for monologo icons

This commit is contained in:
Jun Pataleta 2024-08-23 21:46:55 +08:00
parent f6141a67d8
commit 23a7976a4b
No known key found for this signature in database
GPG key ID: F83510526D99E2C7

View file

@ -25,6 +25,7 @@
namespace core;
use core\exception\coding_exception;
use core\output\theme_config;
use stdClass;
use ArrayIterator;
use DirectoryIterator;
@ -1680,11 +1681,16 @@ $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;
}
}