From b4c9a970502c491840d640857ee1617e86207ffd Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sat, 2 May 2009 20:34:02 +0000 Subject: Create item helper and move move_item(), remove_album_cover() and make_album_cover() functions into it. --- core/helpers/item.php | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 core/helpers/item.php (limited to 'core/helpers/item.php') diff --git a/core/helpers/item.php b/core/helpers/item.php new file mode 100644 index 00000000..f5dd2cc2 --- /dev/null +++ b/core/helpers/item.php @@ -0,0 +1,69 @@ +parent(); + if ($parent->album_cover_item_id == $source->id) { + if ($parent->children_count() > 1) { + foreach ($parent->children(2) as $child) { + if ($child->id != $source->id) { + $new_cover_item = $child; + break; + } + } + item::make_album_cover($new_cover_item); + } else { + item::remove_album_cover($parent); + } + } + + $source->move_to($target); + + // If the target has no cover item, make this it. + if ($target->album_cover_item_id == null) { + item::make_album_cover($source); + } + } + + function make_album_cover($item) { + $parent = $item->parent(); + access::required("edit", $parent); + + $parent->album_cover_item_id = $item->is_album() ? $item->album_cover_item_id : $item->id; + $parent->thumb_dirty = 1; + $parent->save(); + graphics::generate($parent); + } + + function remove_album_cover($album) { + access::required("edit", $album); + @unlink($album->thumb_path()); + + $album->album_cover_item_id = null; + $album->thumb_width = 0; + $album->thumb_height = 0; + $album->thumb_dirty = 1; + $album->save(); + graphics::generate($album); + } +} \ No newline at end of file -- cgit v1.2.3