From d0aef95a657c9e50fe255ca912bb01b7c3b74c2e Mon Sep 17 00:00:00 2001 From: shadlaws Date: Mon, 8 Jul 2013 09:39:54 +0200 Subject: 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. --- modules/gallery/helpers/item.php | 5 ----- modules/gallery/models/item.php | 10 +++++----- 2 files changed, 5 insertions(+), 10 deletions(-) (limited to 'modules/gallery') 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) { -- cgit v1.2.3