From 663f079e8565d8bd565b1f8cdf85cb8f0269c87b Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Thu, 22 Jul 2010 14:08:08 -0700 Subject: Properly handle the case where the album_cover_item_id points to an invalid (probably deleted) item. Fixes ticket #1238. --- modules/gallery/helpers/graphics.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'modules/gallery/helpers/graphics.php') diff --git a/modules/gallery/helpers/graphics.php b/modules/gallery/helpers/graphics.php index 7ff09d13..cc4d2e76 100644 --- a/modules/gallery/helpers/graphics.php +++ b/modules/gallery/helpers/graphics.php @@ -117,7 +117,18 @@ class graphics_Core { static function generate($item) { if ($item->is_album()) { if (!$cover = $item->album_cover()) { - // This album has no cover; there's nothing to generate. + // This album has no cover; there's nothing to generate. Because of an old bug, it's + // possible that there's an album cover item id that points to an invalid item. In that + // case, just null out the album cover item id. It's not optimal to do that at this low + // level, but it's not trivial to find these cases quickly in an upgrade script and if we + // don't do this, the album may be permanently marked as "needs rebuilding" + // + // ref: http://sourceforge.net/apps/trac/gallery/ticket/1172 + // http://gallery.menalto.com/node/96926 + if ($item->album_cover_item_id) { + $item->album_cover_item_id = null; + $item->save(); + } return; } $input_file = $cover->file_path(); -- cgit v1.2.3