]> source.dussan.org Git - nextcloud-server.git/commitdiff
use images from deeper directories for preview if the actual directory doesn't contai...
authorStephan Bergemann <st.bergemann@htw-berlin.de>
Tue, 12 Jun 2012 13:20:45 +0000 (15:20 +0200)
committerStephan Bergemann <st.bergemann@htw-berlin.de>
Wed, 13 Jun 2012 23:29:25 +0000 (01:29 +0200)
apps/gallery/templates/index.php

index 42ef9f658719a9da7ad009c5e748fe8dd95f3d85..a74f4c4a404fb30168da1313544572db5bc2c903 100644 (file)
@@ -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 :)