- foreach (scandir($dir) as $file) if ($file != '.' and $file != '..') {
- $ext = strtolower(substr($file, -4));
- if ($ext == ".jpg" or $ext == ".png")
- return getPreview("$dir/$file");
- }
+ $previewFile = DATA_DIR."/$dir/albumpreview";
+
+ if (is_file("$previewFile.jpg")) {
+ return "$previewFile.jpg";
+ } else if (is_file("$previewFile.empty")) {
+ return "";
+ } else if (is_file("$previewFile.png")) {
+ return "$previewFile.png";
+ } else {
+ # uncomment this if you need group writable files
+ #umask(0002);
+ # create the thumbs directory recursively
+ if (! is_dir(dirname($previewFile))) mkdir(dirname($previewFile), 0777, true);
+
+ // no preview: look for a preview in current dir, write it, return it
+ foreach (scandir($dir) as $file) if ($file != '.' and $file != '..') {
+ $ext = strtolower(substr($file, -4));
+ if ($ext == ".jpg" or $ext == ".png") {
+ $thumb = getPreview("$dir/$file");
+ copy($thumb, $previewFile.$ext);
+ return $previewFile.$ext;
+ } else if (is_dir("$dir/$file")) {
+ $subPreview = getAlbumPreview("$dir/$file");
+ if ($subPreview) {
+ $myPreview = dirname($previewFile)."/".basename($subPreview);
+ copy($subPreview, $myPreview);
+ return $myPreview;
+ }
+ }
+ }