# HG changeset patch # User Matti Hamalainen # Date 1521033702 -7200 # Node ID cb7019690a7373f37a715c75c8f275d69980ea9d # Parent 087df916b6b4e970bfcfea3d1a1f68270943ee98 Separate medium image and thumbnail directories / handling. diff -r 087df916b6b4 -r cb7019690a73 example.cfg --- a/example.cfg Wed Mar 14 13:53:40 2018 +0200 +++ b/example.cfg Wed Mar 14 15:21:42 2018 +0200 @@ -42,7 +42,6 @@ ;image_url = "/gallery/" ;mgallery_php = "mgallery.php" -;tn_path = "tn/" ;format_exts = "\.jpg|\.png|\.gif|\.jpeg" ;captions_file = "captions.txt" @@ -55,7 +54,8 @@ ;;; ;;; Thumbnail/medium size image settings ;;; -;med_suffix = ".med" +;tn_path = "tn/" +;med_path = "med/" ;;; If you change thumbnail resolutions, you may wish to change the CSS files as well ; tn CSS selector: .galleryEntry diff -r 087df916b6b4 -r cb7019690a73 mgallery.inc.php --- a/mgallery.inc.php Wed Mar 14 13:53:40 2018 +0200 +++ b/mgallery.inc.php Wed Mar 14 15:21:42 2018 +0200 @@ -85,8 +85,8 @@ "image_flags" => [MG_FLAGS, MGF_JAVASCRIPT | MGF_BREADCRUMBS, &$mgGFlags], "album_flags" => [MG_FLAGS, MGF_JAVASCRIPT | MGF_BREADCRUMBS, &$mgGFlags], - "med_suffix" => [MG_STR, ".med"], "tn_path" => [MG_STR, "tn/"], + "med_path" => [MG_STR, "med/"], "tn_width" => [MG_INT, 140], // In pixels, applies as bounding box for w/h "tn_height" => [MG_INT, 100], diff -r 087df916b6b4 -r cb7019690a73 mgallery.php --- a/mgallery.php Wed Mar 14 13:53:40 2018 +0200 +++ b/mgallery.php Wed Mar 14 15:21:42 2018 +0200 @@ -255,9 +255,9 @@ { echo "
". - "\"".
\n". + "\">\"".chentities($filename)."\"\n". mgGetArr($data, "caption", "
%1
\n", "", "chentities"); /* if ($mode == "") @@ -453,7 +453,7 @@ $galAlbumIcon = mgGetSetting("album_icon"); $galCleanURLS = mgGetSetting("clean_urls"); $galTNPath = mgGetSetting("tn_path"); -$galMedSuffix = mgGetSetting("med_suffix"); +$galMedPath = mgGetSetting("med_path"); $galTitlePrefix = mgGetSetting("title_prefix"); $galTitleSep = mgGetSetting("title_sep"); @@ -577,9 +577,8 @@ mgGetNaviControlImageBoxJS($galImagesIndex, $index, "prevBtm", -1)."\n". mgGetNaviControlImageBox($galImagesIndex, $index, "prev", -1)."\n". "
". - "\"".chentities($data["base"].$data["ext"])."\"". + "\"".chentities($galImage)."\"". "
\n". mgGetNaviControlImageBoxJS($galImagesIndex, $index, "nextBtm", 1)."\n". mgGetNaviControlImageBox($galImagesIndex, $index, "next", 1)."\n". diff -r 087df916b6b4 -r cb7019690a73 mgtool.php --- 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;