summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorshadlaws <shad@shadlaws.com>2013-07-08 09:39:54 +0200
committershadlaws <shad@shadlaws.com>2013-07-08 09:39:54 +0200
commitd0aef95a657c9e50fe255ca912bb01b7c3b74c2e (patch)
treed0e555d3a1fb9a974e6fbb6306ee5c889054e591 /modules
parent188209446094b3521100d51587456053689080ce (diff)
Move "item_moved" event later in the item update process. Fixes #2077.
Before, this was before the children's caches were cleared, so if the "item_moved" set an album cover, it would fail with an invalid path. For the same reason, we move it after the data file update, too. Lastly, get we get rid of duplicated code in item::move() since the "item_moved" event already does this.
Diffstat (limited to 'modules')
-rw-r--r--modules/gallery/helpers/item.php5
-rw-r--r--modules/gallery/models/item.php10
2 files changed, 5 insertions, 10 deletions
diff --git a/modules/gallery/helpers/item.php b/modules/gallery/helpers/item.php
index bbbc81d6..1330482f 100644
--- a/modules/gallery/helpers/item.php
+++ b/modules/gallery/helpers/item.php
@@ -63,11 +63,6 @@ class item_Core {
break;
}
}
-
- // If the target has no cover item, make this it.
- if ($target->album_cover_item_id == null) {
- item::make_album_cover($source);
- }
}
static function make_album_cover($item) {
diff --git a/modules/gallery/models/item.php b/modules/gallery/models/item.php
index 1d4f35da..2dbd99bb 100644
--- a/modules/gallery/models/item.php
+++ b/modules/gallery/models/item.php
@@ -498,11 +498,6 @@ class Item_Model_Core extends ORM_MPTT {
@rename($original->resize_path(), $this->resize_path());
@rename($original->thumb_path(), $this->thumb_path());
}
-
- if ($original->parent_id != $this->parent_id) {
- // This will result in 2 events since we'll still fire the item_updated event below
- module::event("item_moved", $this, $original->parent());
- }
}
// Changing the name, slug or parent ripples downwards
@@ -526,6 +521,11 @@ class Item_Model_Core extends ORM_MPTT {
$this->resize_dirty = 1;
}
+ if ($original->parent_id != $this->parent_id) {
+ // This will result in 2 events since we'll still fire the item_updated event below
+ module::event("item_moved", $this, $original->parent());
+ }
+
module::event("item_updated", $original, $this);
if ($this->data_file) {