summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/helpers/item.php2
-rw-r--r--core/helpers/model_cache.php6
2 files changed, 8 insertions, 0 deletions
diff --git a/core/helpers/item.php b/core/helpers/item.php
index f5dbc38b..b051bb0e 100644
--- a/core/helpers/item.php
+++ b/core/helpers/item.php
@@ -49,6 +49,7 @@ class item_Core {
$parent = $item->parent();
access::required("edit", $parent);
+ model_cache::clear("item", $parent->album_cover_item_id);
$parent->album_cover_item_id = $item->is_album() ? $item->album_cover_item_id : $item->id;
$parent->thumb_dirty = 1;
$parent->save();
@@ -63,6 +64,7 @@ class item_Core {
access::required("edit", $album);
@unlink($album->thumb_path());
+ model_cache::clear("item", $album->album_cover_item_id) ;
$album->album_cover_item_id = null;
$album->thumb_width = 0;
$album->thumb_height = 0;
diff --git a/core/helpers/model_cache.php b/core/helpers/model_cache.php
index f4b11a6e..2649fdbd 100644
--- a/core/helpers/model_cache.php
+++ b/core/helpers/model_cache.php
@@ -32,6 +32,12 @@ class model_cache_Core {
return self::$cache->$model_name->$field_name->$id;
}
+ static function clear($model_name, $id, $field_name="id") {
+ if (!empty(self::$cache->$model_name->$field_name->$id)) {
+ unset(self::$cache->$model_name->$field_name->$id);
+ }
+ }
+
static function set($model) {
self::$cache->{$model->object_name}
->{$model->primary_key}