diff mgallery.inc.php @ 322:2f4e3e458714

Improve configuration handling, and add "string array" configuration item type.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 09 Apr 2020 11:55:08 +0300
parents 9638512be261
children d598b2320878
line wrap: on
line diff
--- a/mgallery.inc.php	Thu Apr 09 10:13:45 2020 +0300
+++ b/mgallery.inc.php	Thu Apr 09 11:55:08 2020 +0300
@@ -28,11 +28,12 @@
 //
 define("MG_STR"              , 1);
 define("MG_STR_LC"           , 2);
-define("MG_INT"              , 3);
-define("MG_DVA"              , 4);
-define("MG_BOOL"             , 5);
-define("MG_FLAGS"            , 6);
-define("MG_DATE"             , 7);
+define("MG_STR_ARRAY"        , 3);
+define("MG_INT"              , 4);
+define("MG_DVA"              , 5);
+define("MG_BOOL"             , 6);
+define("MG_FLAGS"            , 7);
+define("MG_DATE"             , 8);
 
 
 define("yes"                 , 1);
@@ -55,6 +56,7 @@
     return $path;
 }
 
+
 //
 // Configuration settings and their default values
 //
@@ -79,9 +81,9 @@
   "title_sep"        => [MG_STR, " - "],
   "page_info"        => [MG_STR, "Powered by <b>MGallery ".$mgProgVersion."</b> &copy; Copyright ".$mgProgCopyright],
 
-  "css"              => [MG_STR, NULL],
-  "js_file"          => [MG_STR, NULL],
-  "urchin_file"      => [MG_STR, FALSE],
+  "css"              => [MG_STR_ARRAY, NULL],
+  "js_file"          => [MG_STR_ARRAY, NULL],
+  "urchin_file"      => [MG_STR_ARRAY, FALSE],
 
   "global_flags"     => [MG_FLAGS, MGF_JAVASCRIPT | MGF_BREADCRUMBS | MGF_CAPTIONS, &$mgGFlags],
   "image_flags"      => [MG_FLAGS, MGF_JAVASCRIPT | MGF_BREADCRUMBS, &$mgGFlags],
@@ -104,7 +106,7 @@
   "sql_db"           => [MG_STR, NULL],
   "sql_username"     => [MG_STR, ""],
   "sql_password"     => [MG_STR, ""],
-  "sql_options"      => [MG_STR, []],
+  "sql_options"      => [MG_STR_ARRAY, []],
 ];
 
 
@@ -357,41 +359,6 @@
 }
 
 
-function mgGetDValStr($mdef, $val)
-{
-  switch ($mdef[0])
-  {
-    case MG_STR:
-      if (is_array($val))
-        return implode(", ", $val);
-      else
-        return "\"".$val."\"";
-
-    case MG_STR_LC:
-      if (is_array($val))
-        return implode(", ", array_map('strtolower', $val));
-      else
-        return "\"".strtolower($val)."\"";
-
-    case MG_BOOL:
-      return $val ? "yes" : "no";
-
-    case MG_FLAGS:
-      {
-        $mstr = [];
-        foreach ($mdef[2] as $vkey => $vval)
-        {
-          if ($val & $vval)
-            $mstr[] = $vkey;
-        }
-        return implode($mstr, " | ");
-      }
-    case MG_INT  :
-    default      : return (string) $val;
-  }
-}
-
-
 function mgLogSQLError($dbh, $sql)
 {
   return mgError("SQL error '".implode("; ", $dbh->errorInfo())."' in statement: \"".$sql."\"");