diff options
author | Stephan Bergemann <st.bergemann@htw-berlin.de> | 2012-06-12 15:20:45 +0200 |
---|---|---|
committer | Stephan Bergemann <st.bergemann@htw-berlin.de> | 2012-06-14 01:29:25 +0200 |
commit | 22cd610a795e1960f1bb5746908848affd5cb587 (patch) | |
tree | 954d34fd51dac138223a95807b97f261ebf1b968 /apps/gallery | |
parent | 9f59cc5eb0069f28fc17eebc2adb3a62a13f95bd (diff) | |
download | nextcloud-server-22cd610a795e1960f1bb5746908848affd5cb587.tar.gz nextcloud-server-22cd610a795e1960f1bb5746908848affd5cb587.zip |
use images from deeper directories for preview if the actual directory doesn't contain any
Diffstat (limited to 'apps/gallery')
-rw-r--r-- | apps/gallery/templates/index.php | 45 |
1 files 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 :) |