comparison 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
comparison
equal deleted inserted replaced
321:f07e3d79c421 322:2f4e3e458714
26 // 26 //
27 // Constants for different value types 27 // Constants for different value types
28 // 28 //
29 define("MG_STR" , 1); 29 define("MG_STR" , 1);
30 define("MG_STR_LC" , 2); 30 define("MG_STR_LC" , 2);
31 define("MG_INT" , 3); 31 define("MG_STR_ARRAY" , 3);
32 define("MG_DVA" , 4); 32 define("MG_INT" , 4);
33 define("MG_BOOL" , 5); 33 define("MG_DVA" , 5);
34 define("MG_FLAGS" , 6); 34 define("MG_BOOL" , 6);
35 define("MG_DATE" , 7); 35 define("MG_FLAGS" , 7);
36 define("MG_DATE" , 8);
36 37
37 38
38 define("yes" , 1); 39 define("yes" , 1);
39 define("no" , 0); 40 define("no" , 0);
40 41
52 if (count($tmp) > 0) 53 if (count($tmp) > 0)
53 return implode("/", array_splice($tmp, 0, -1))."/"; 54 return implode("/", array_splice($tmp, 0, -1))."/";
54 else 55 else
55 return $path; 56 return $path;
56 } 57 }
58
57 59
58 // 60 //
59 // Configuration settings and their default values 61 // Configuration settings and their default values
60 // 62 //
61 $mgDefaults = [ 63 $mgDefaults = [
77 79
78 "title_prefix" => [MG_STR, ""], 80 "title_prefix" => [MG_STR, ""],
79 "title_sep" => [MG_STR, " - "], 81 "title_sep" => [MG_STR, " - "],
80 "page_info" => [MG_STR, "Powered by <b>MGallery ".$mgProgVersion."</b> &copy; Copyright ".$mgProgCopyright], 82 "page_info" => [MG_STR, "Powered by <b>MGallery ".$mgProgVersion."</b> &copy; Copyright ".$mgProgCopyright],
81 83
82 "css" => [MG_STR, NULL], 84 "css" => [MG_STR_ARRAY, NULL],
83 "js_file" => [MG_STR, NULL], 85 "js_file" => [MG_STR_ARRAY, NULL],
84 "urchin_file" => [MG_STR, FALSE], 86 "urchin_file" => [MG_STR_ARRAY, FALSE],
85 87
86 "global_flags" => [MG_FLAGS, MGF_JAVASCRIPT | MGF_BREADCRUMBS | MGF_CAPTIONS, &$mgGFlags], 88 "global_flags" => [MG_FLAGS, MGF_JAVASCRIPT | MGF_BREADCRUMBS | MGF_CAPTIONS, &$mgGFlags],
87 "image_flags" => [MG_FLAGS, MGF_JAVASCRIPT | MGF_BREADCRUMBS, &$mgGFlags], 89 "image_flags" => [MG_FLAGS, MGF_JAVASCRIPT | MGF_BREADCRUMBS, &$mgGFlags],
88 "album_flags" => [MG_FLAGS, MGF_JAVASCRIPT | MGF_BREADCRUMBS, &$mgGFlags], 90 "album_flags" => [MG_FLAGS, MGF_JAVASCRIPT | MGF_BREADCRUMBS, &$mgGFlags],
89 91
102 104
103 "backend" => [MG_STR_LC, "php"], 105 "backend" => [MG_STR_LC, "php"],
104 "sql_db" => [MG_STR, NULL], 106 "sql_db" => [MG_STR, NULL],
105 "sql_username" => [MG_STR, ""], 107 "sql_username" => [MG_STR, ""],
106 "sql_password" => [MG_STR, ""], 108 "sql_password" => [MG_STR, ""],
107 "sql_options" => [MG_STR, []], 109 "sql_options" => [MG_STR_ARRAY, []],
108 ]; 110 ];
109 111
110 112
111 function mgDebug($msg) 113 function mgDebug($msg)
112 { 114 {
352 354
353 $str = str_replace("%".$i, $vtmp, $str); 355 $str = str_replace("%".$i, $vtmp, $str);
354 } 356 }
355 357
356 return $str; 358 return $str;
357 }
358
359
360 function mgGetDValStr($mdef, $val)
361 {
362 switch ($mdef[0])
363 {
364 case MG_STR:
365 if (is_array($val))
366 return implode(", ", $val);
367 else
368 return "\"".$val."\"";
369
370 case MG_STR_LC:
371 if (is_array($val))
372 return implode(", ", array_map('strtolower', $val));
373 else
374 return "\"".strtolower($val)."\"";
375
376 case MG_BOOL:
377 return $val ? "yes" : "no";
378
379 case MG_FLAGS:
380 {
381 $mstr = [];
382 foreach ($mdef[2] as $vkey => $vval)
383 {
384 if ($val & $vval)
385 $mstr[] = $vkey;
386 }
387 return implode($mstr, " | ");
388 }
389 case MG_INT :
390 default : return (string) $val;
391 }
392 } 359 }
393 360
394 361
395 function mgLogSQLError($dbh, $sql) 362 function mgLogSQLError($dbh, $sql)
396 { 363 {