diff mgtool.php @ 185:cb7019690a73

Separate medium image and thumbnail directories / handling.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 14 Mar 2018 15:21:42 +0200
parents 087df916b6b4
children a5ce6144fbf5
line wrap: on
line diff
--- a/mgtool.php	Wed Mar 14 13:53:40 2018 +0200
+++ b/mgtool.php	Wed Mar 14 15:21:42 2018 +0200
@@ -460,7 +460,7 @@
 
 function mgHandleDirectory($mode, $basepath, $path, &$parentData, &$parentEntry, $writeMode, $startAt)
 {
-  global $galExifConversions, $galTNPath, $galCleanFlags;
+  global $galExifConversions, $galTNPath, $galMedPath, $galCleanFlags;
 
   // Get cache file path
   if (($cacheFilename = mgGetPath($path, "cache_file")) === FALSE)
@@ -478,7 +478,7 @@
     $realFile = $path."/".$dirFile;
     if (is_dir($realFile))
     {
-      if ($dirFile[0] != "." && $dirFile != $galTNPath)
+      if ($dirFile[0] != "." && $dirFile != $galTNPath && $dirFile != $galMedPath)
         $entries[$dirFile] = ["type" => 1, "base" => $dirFile, "ext" => "", "mtime" => filemtime($realFile)];
     }
     else
@@ -501,6 +501,9 @@
 
       if ($galCleanFlags & GCLEAN_THUMBNAILS)
         mgDelete($path."/".$galTNPath, FALSE);
+
+      if ($galCleanFlags & GCLEAN_THUMBNAILS)
+        mgDelete($path."/".$galMedPath, FALSE);
     }
   }
   else
@@ -555,7 +558,8 @@
       {
         $updFlags = 0;
         $tnPath = $path."/".$galTNPath;
-        $medFilename = $tnPath."/".$edata["base"].mgGetSetting("med_suffix").$edata["ext"];
+        $medPath = $path."/".$galMedPath;
+        $medFilename = $medPath."/".$ename;
         $tnFilename = $tnPath."/".$ename;
         $capFilename = $path."/".$edata["base"].".txt";
 
@@ -596,6 +600,7 @@
         if ($updFlags & GUPD_IMAGES)
         {
           mgMakeDir($tnPath, 0755);
+          mgMakeDir($medPath, 0755);
 
           if ($updFlags & GUPD_MED_IMAGE)
           {
@@ -687,18 +692,27 @@
 }
 
 
+function mgCheckMPath($path, $id)
+{
+  if ($path."/" != mgGetSetting($id))
+    mgError("Invalid ".$id." '".mgGetSetting($id)."', using '".$path."'.\n");
+
+  if (strpos($path, "/") !== FALSE || $path == "")
+    mgFatal("Invalid ".$id." '".$path."'.\n");
+}
+
+
 function mgProcessGalleries($cmd, $path)
 {
-  global $galTNPath;
+  global $galTNPath, $galMedPath;
 
   // Check validity of some settings
   $galPath = mgGetSetting("base_path");
   $galTNPath = mgCleanPath(TRUE, mgGetSetting("tn_path"));
-  if ($galTNPath."/" != mgGetSetting("tn_path"))
-    mgError("Invalid tn_path '".mgGetSetting("tn_path")."', using '".$galTNPath."'.\n");
+  $galMedPath = mgCleanPath(TRUE, mgGetSetting("med_path"));
 
-  if (strpos($galTNPath, "/") !== FALSE || $galTNPath == "")
-    mgFatal("Invalid tn_path '".$galTNPath."'.\n");
+  mgCheckMPath($galTNPath, "tn_path");
+  mgCheckMPath($galMedPath, "med_path");
 
   $parentData = $parentEntry = NULL;
   $writeMode = TRUE;