diff options
author | shadlaws <shad@shadlaws.com> | 2013-07-08 09:39:54 +0200 |
---|---|---|
committer | shadlaws <shad@shadlaws.com> | 2013-07-08 09:39:54 +0200 |
commit | d0aef95a657c9e50fe255ca912bb01b7c3b74c2e (patch) | |
tree | d0e555d3a1fb9a974e6fbb6306ee5c889054e591 /modules | |
parent | 188209446094b3521100d51587456053689080ce (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.php | 5 | ||||
-rw-r--r-- | modules/gallery/models/item.php | 10 |
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) { |