diff options
author | Bharat Mediratta <bharat@menalto.com> | 2010-07-22 14:08:08 -0700 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2010-07-22 14:08:08 -0700 |
commit | 663f079e8565d8bd565b1f8cdf85cb8f0269c87b (patch) | |
tree | 824cb4c2f706280fc2b6f7f6d8b0793afb9feec6 /modules/gallery/helpers/graphics.php | |
parent | adeea49e0a4b4d68e389b0d286957d24a5e16bb6 (diff) |
Properly handle the case where the album_cover_item_id points to an
invalid (probably deleted) item. Fixes ticket #1238.
Diffstat (limited to 'modules/gallery/helpers/graphics.php')
-rw-r--r-- | modules/gallery/helpers/graphics.php | 13 |
1 files changed, 12 insertions, 1 deletions
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(); |