From: Simon L Date: Wed, 14 Jun 2023 17:58:31 +0000 (+0200) Subject: generate user themed favicon and touchicon X-Git-Tag: v28.0.0beta1~883^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=734b8c26dbbd043366275f0e5a90fdd8aef9f915;p=nextcloud-server.git generate user themed favicon and touchicon Signed-off-by: Simon L --- diff --git a/apps/theming/lib/Controller/IconController.php b/apps/theming/lib/Controller/IconController.php index 08ee71ac660..1b16293a7f3 100644 --- a/apps/theming/lib/Controller/IconController.php +++ b/apps/theming/lib/Controller/IconController.php @@ -120,14 +120,15 @@ class IconController extends Controller { } catch (NotFoundException $e) { } if ($iconFile === null && $this->imageManager->shouldReplaceIcons()) { + $color = $this->themingDefaults->getColorPrimary(); try { - $iconFile = $this->imageManager->getCachedImage('favIcon-' . $app); + $iconFile = $this->imageManager->getCachedImage('favIcon-' . $app . $color); } catch (NotFoundException $exception) { $icon = $this->iconBuilder->getFavicon($app); if ($icon === false || $icon === '') { return new NotFoundResponse(); } - $iconFile = $this->imageManager->setCachedImage('favIcon-' . $app, $icon); + $iconFile = $this->imageManager->setCachedImage('favIcon-' . $app . $color, $icon); } $response = new FileDisplayResponse($iconFile, Http::STATUS_OK, ['Content-Type' => 'image/x-icon']); } @@ -157,14 +158,15 @@ class IconController extends Controller { } catch (NotFoundException $e) { } if ($this->imageManager->shouldReplaceIcons()) { + $color = $this->themingDefaults->getColorPrimary(); try { - $iconFile = $this->imageManager->getCachedImage('touchIcon-' . $app); + $iconFile = $this->imageManager->getCachedImage('touchIcon-' . $app . $color); } catch (NotFoundException $exception) { $icon = $this->iconBuilder->getTouchIcon($app); if ($icon === false || $icon === '') { return new NotFoundResponse(); } - $iconFile = $this->imageManager->setCachedImage('touchIcon-' . $app, $icon); + $iconFile = $this->imageManager->setCachedImage('touchIcon-' . $app . $color, $icon); } $response = new FileDisplayResponse($iconFile, Http::STATUS_OK, ['Content-Type' => 'image/png']); }