summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2010-07-22 14:08:08 -0700
committerBharat Mediratta <bharat@menalto.com>2010-07-22 14:08:08 -0700
commit663f079e8565d8bd565b1f8cdf85cb8f0269c87b (patch)
tree824cb4c2f706280fc2b6f7f6d8b0793afb9feec6 /modules
parentadeea49e0a4b4d68e389b0d286957d24a5e16bb6 (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')
-rw-r--r--modules/gallery/helpers/graphics.php13
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();