aboutsummaryrefslogtreecommitdiff
path: root/lib/models
diff options
context:
space:
mode:
Diffstat (limited to 'lib/models')
-rw-r--r--lib/models/Theme.php18
1 files changed, 15 insertions, 3 deletions
diff --git a/lib/models/Theme.php b/lib/models/Theme.php
index 824d8cd..852dc42 100644
--- a/lib/models/Theme.php
+++ b/lib/models/Theme.php
@@ -67,8 +67,13 @@
&& $theme->isFieldDirty('values')
)
) {
- self::loadActiveThemes(true);
- self::getThemeAsset()->writeContent(self::getActiveCSS());
+ self::regenerateCSS();
+ }
+ };
+
+ $config['registered_callbacks']['after_delete'][] = function (Theme $theme): void {
+ if ($theme->active) {
+ self::regenerateCSS();
}
};
@@ -105,12 +110,19 @@
public static function getDownloadURL(): string
{
$asset = self::getThemeAsset();
- return URLHelper::getLink(
+ return URLHelper::getURL(
"assets.php/css/{$asset->id}#{$asset->filename}",
['v' => $asset->chdate],
true
);
+ }
+
+ private static function regenerateCSS(): void
+ {
+ self::getThemeAsset()->delete();
+ self::loadActiveThemes(true);
+ self::getThemeAsset()->writeContent(self::getActiveCSS());
}
public static function getActiveCSS(): string