From 22cd610a795e1960f1bb5746908848affd5cb587 Mon Sep 17 00:00:00 2001 From: Stephan Bergemann Date: Tue, 12 Jun 2012 15:20:45 +0200 Subject: [PATCH] use images from deeper directories for preview if the actual directory doesn't contain any --- apps/gallery/templates/index.php | 45 ++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/apps/gallery/templates/index.php b/apps/gallery/templates/index.php index 42ef9f65871..a74f4c4a404 100644 --- a/apps/gallery/templates/index.php +++ b/apps/gallery/templates/index.php @@ -102,23 +102,36 @@ $previous_element = @$images[0]; $root_images = array(); $second_level_images = array(); +$fallback_images = array(); // if the folder only cotains subfolders with images -> these are taken for the stack preview + for($i = 0; $i < count($images); $i++) { - $prev_dir_arr = explode('/', $previous_element); - $dir_arr = explode('/', $images[$i]); - - if(count($dir_arr) == 1) { // getting the images in this directory - $root_images[] = $root.$images[$i]; - } else { - if(strcmp($prev_dir_arr[0], $dir_arr[0]) != 0) { - $tl->addTile(new \OC\Pictures\TileStack($second_level_images, $prev_dir_arr[0])); - $second_level_images = array(); - } - if (count($dir_arr) == 2) { // These are the pics in that subdir - $second_level_images[] = $root.$images[$i]; - } - // have us a little something to compare against - $previous_element = $images[$i]; - } + $prev_dir_arr = explode('/', $previous_element); + $dir_arr = explode('/', $images[$i]); + + if(count($dir_arr) == 1) { // getting the images in this directory + $root_images[] = $root.$images[$i]; + } else { + if(strcmp($prev_dir_arr[0], $dir_arr[0]) != 0) { // if we entered a new directory + if(count($second_level_images) == 0) { // if we don't have images in this directory + if(count($fallback_images) != 0) { // but have fallback_images + $tl->addTile(new \OC\Pictures\TileStack($fallback_images, $prev_dir_arr[0])); + $fallback_images = array(); + } + } else { // if we collected images for this directory + $tl->addTile(new \OC\Pictures\TileStack($second_level_images, $prev_dir_arr[0])); + echo print_r($fallback_images)."\n"; + $fallback_images = array(); + $second_level_images = array(); + } + } + if (count($dir_arr) == 2) { // These are the pics in our current subdir + $second_level_images[] = $root.$images[$i]; + } else { // These are images from the deeper directories + $fallback_images[] = $root.$images[$i]; + } + // have us a little something to compare against + $previous_element = $images[$i]; + } } // if last element in the directory was a directory we don't want to miss it :) -- 2.39.5