Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

We’re showing branches in this repository, but you can also compare across forks.

base fork: gallery/gallery3
base: 795f2569941f
...
head fork: gallery/gallery3
compare: cb08f6cc13bf
  • 2 commits
  • 5 files changed
  • 0 commit comments
  • 2 contributors
Commits on Jan 31, 2013
Shad Laws shadlaws #1982 - Add placeholder for albums with no album cover.
- Added missing_album_cover.jpg placeholder image.
- Modified the graphics helper to use it.  Calling graphics::generate will copy it.
- Modified item::remove_album_cover and gallery_event::item_created to run graphics::generate.
- Added unit test to Graphics_Helper_Test.
f83ed5f
Bharat Mediratta bharat Merge pull request #115 from shadlaws/fix_1982
#1982 - Add placeholder for albums with no album cover.
cb08f6c
20 modules/gallery/helpers/gallery_event.php
View
@@ -86,17 +86,17 @@ static function group_deleted($group) {
static function item_created($item) {
access::add_item($item);
- if ($item->is_photo() || $item->is_movie()) {
- // Build our thumbnail/resizes.
- try {
- graphics::generate($item);
- } catch (Exception $e) {
- log::error("graphics", t("Couldn't create a thumbnail or resize for %item_title",
- array("item_title" => $item->title)),
- html::anchor($item->abs_url(), t("details")));
- Kohana_Log::add("error", $e->getMessage() . "\n" . $e->getTraceAsString());
- }
+ // Build our thumbnail/resizes.
+ try {
+ graphics::generate($item);
+ } catch (Exception $e) {
+ log::error("graphics", t("Couldn't create a thumbnail or resize for %item_title",
+ array("item_title" => $item->title)),
+ html::anchor($item->abs_url(), t("details")));
+ Kohana_Log::add("error", $e->getMessage() . "\n" . $e->getTraceAsString());
+ }
+ if ($item->is_photo() || $item->is_movie()) {
// If the parent has no cover item, make this it.
$parent = $item->parent();
if (access::can("edit", $parent) && $parent->album_cover_item_id == null) {
10 modules/gallery/helpers/graphics.php
View
@@ -152,6 +152,7 @@ static function generate($item) {
} catch (Exception $e) {
// Didn't work, likely because of MISSING_FFMPEG - use placeholder
graphics::_replace_image_with_placeholder($item, $target);
+ break;
}
}
$working_file = $output_file;
@@ -167,7 +168,7 @@ static function generate($item) {
case "album":
if (!$cover = $item->album_cover()) {
- // This album has no cover; there's nothing to generate. Because of an old bug, it's
+ // This album has no cover; copy its placeholder image. 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
@@ -179,7 +180,8 @@ static function generate($item) {
$item->album_cover_item_id = null;
$item->save();
}
- return;
+ graphics::_replace_image_with_placeholder($item, $target);
+ break;
}
if ($cover->thumb_dirty) {
graphics::generate($cover);
@@ -238,7 +240,9 @@ private static function _update_item_dimensions($item) {
}
private static function _replace_image_with_placeholder($item, $target) {
- if ($item->is_movie() || ($item->is_album() && $item->album_cover()->is_movie())) {
+ if ($item->is_album() && !$item->album_cover_item_id) {
+ $input_path = MODPATH . "gallery/images/missing_album_cover.jpg";
+ } else if ($item->is_movie() || ($item->is_album() && $item->album_cover()->is_movie())) {
$input_path = MODPATH . "gallery/images/missing_movie.jpg";
} else {
$input_path = MODPATH . "gallery/images/missing_photo.jpg";
1  modules/gallery/helpers/item.php
View
@@ -113,6 +113,7 @@ static function remove_album_cover($album) {
model_cache::clear();
$album->album_cover_item_id = null;
$album->save();
+ graphics::generate($album);
}
/**
BIN  modules/gallery/images/missing_album_cover.jpg
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 modules/gallery/tests/Graphics_Helper_Test.php
View
@@ -77,6 +77,17 @@ public function generate_album_cover_from_png_test() {
$this->assert_equal(0, $album->thumb_dirty);
}
+ public function generate_album_cover_for_empty_album_test() {
+ $album = test::random_album();
+ // Check that the album cover is the missing image placeholder
+ $this->assert_same(file_get_contents(MODPATH . "gallery/images/missing_album_cover.jpg"),
+ file_get_contents($album->thumb_path()));
+ // Check that the items table got updated with new metadata
+ $this->assert_equal(array(200, 200), array($album->thumb_width, $album->thumb_height));
+ // Check that the image is *not* marked as dirty
+ $this->assert_equal(0, $album->thumb_dirty);
+ }
+
public function generate_bad_photo_test() {
$photo = test::random_photo();
// At this point, the photo is valid and has a valid resize and thumb. Make it garble.

No commit comments for this range

Something went wrong with that request. Please try again.