diff options
Diffstat (limited to 'apps/theming/lib/ThemingDefaults.php')
-rw-r--r-- | apps/theming/lib/ThemingDefaults.php | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/apps/theming/lib/ThemingDefaults.php b/apps/theming/lib/ThemingDefaults.php index 3f0a94e244a..01af4d1b177 100644 --- a/apps/theming/lib/ThemingDefaults.php +++ b/apps/theming/lib/ThemingDefaults.php @@ -225,11 +225,20 @@ class ThemingDefaults extends \OC_Defaults { public function getLogo($useSvg = true): string { $logo = $this->config->getAppValue('theming', 'logoMime', false); - $logoExists = true; - try { - $this->imageManager->getImage('logo', $useSvg); - } catch (\Exception $e) { - $logoExists = false; + // short cut to avoid setting up the filesystem just to check if the logo is there + // + // explanation: if an SVG is requested and the app config value for logoMime is set then the logo is there. + // otherwise we need to check it and maybe also generate a PNG from the SVG (that's done in getImage() which + // needs to be called then) + if ($useSvg === true && $logo !== false) { + $logoExists = true; + } else { + try { + $this->imageManager->getImage('logo', $useSvg); + $logoExists = true; + } catch (\Exception $e) { + $logoExists = false; + } } $cacheBusterCounter = $this->config->getAppValue('theming', 'cachebuster', '0'); |