comparison mgallery.inc.php @ 303:6bb434968623

Add new MG_STR_LC setting type, which is string but automatically lowercased.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 03 Apr 2020 16:22:51 +0300
parents cf166dcc6e77
children b816e80bc002
comparison
equal deleted inserted replaced
302:f8d812d3194f 303:6bb434968623
25 25
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_INT" , 2); 30 define("MG_STR_LC" , 2);
31 define("MG_DVA" , 3); 31 define("MG_INT" , 3);
32 define("MG_BOOL" , 4); 32 define("MG_DVA" , 4);
33 define("MG_FLAGS" , 5); 33 define("MG_BOOL" , 5);
34 define("MG_DATE" , 6); 34 define("MG_FLAGS" , 6);
35 define("MG_DATE" , 7);
35 36
36 37
37 define("yes" , 1); 38 define("yes" , 1);
38 define("no" , 0); 39 define("no" , 0);
39 40
87 "album_flags" => [MG_FLAGS, MGF_JAVASCRIPT | MGF_BREADCRUMBS, &$mgGFlags], 88 "album_flags" => [MG_FLAGS, MGF_JAVASCRIPT | MGF_BREADCRUMBS, &$mgGFlags],
88 89
89 "tn_path" => [MG_STR, "tn/"], 90 "tn_path" => [MG_STR, "tn/"],
90 "med_path" => [MG_STR, "med/"], 91 "med_path" => [MG_STR, "med/"],
91 92
92 "tn_format" => [MG_STR, "jpeg"], 93 "tn_format" => [MG_STR_LC, "jpeg"],
93 "tn_width" => [MG_INT, 140], // In pixels, applies as bounding box for w/h 94 "tn_width" => [MG_INT, 140], // In pixels, applies as bounding box for w/h
94 "tn_height" => [MG_INT, 100], 95 "tn_height" => [MG_INT, 100],
95 "tn_quality" => [MG_INT, 90], // JPEG/WEBP quality percent 96 "tn_quality" => [MG_INT, 90], // JPEG/WEBP quality percent
96 97
97 "med_format" => [MG_STR, "jpeg"], 98 "med_format" => [MG_STR_LC, "jpeg"],
98 "med_width" => [MG_INT, 960], 99 "med_width" => [MG_INT, 960],
99 "med_height" => [MG_INT, 640], 100 "med_height" => [MG_INT, 640],
100 "med_quality" => [MG_INT, 90], 101 "med_quality" => [MG_INT, 90],
101 102
102 "backend" => [MG_STR, "php"], 103 "backend" => [MG_STR_LC, "php"],
103 "sql_db" => [MG_STR, NULL], 104 "sql_db" => [MG_STR, NULL],
104 "sql_username" => [MG_STR, ""], 105 "sql_username" => [MG_STR, ""],
105 "sql_password" => [MG_STR, ""], 106 "sql_password" => [MG_STR, ""],
106 "sql_options" => [MG_STR, []], 107 "sql_options" => [MG_STR, []],
107 ]; 108 ];
177 mgFatal("Setting '".$key."' is not set, but is required to be configured.\n"); 178 mgFatal("Setting '".$key."' is not set, but is required to be configured.\n");
178 } 179 }
179 180
180 switch ($mgDefaults[$key][0]) 181 switch ($mgDefaults[$key][0])
181 { 182 {
183 case MG_STR_LC:
184 $val = strtolower($val);
185 break;
186
182 case MG_FLAGS: 187 case MG_FLAGS:
183 if (is_string($val)) 188 if (is_string($val))
184 { 189 {
185 $flags = $mgDefaults[$key][2]; 190 $flags = $mgDefaults[$key][2];
186 $cval = preg_split("/\s*[,|]\s*/", strtolower($val), -1, PREG_SPLIT_NO_EMPTY); 191 $cval = preg_split("/\s*[,|]\s*/", strtolower($val), -1, PREG_SPLIT_NO_EMPTY);
348 case MG_STR: 353 case MG_STR:
349 if (is_array($val)) 354 if (is_array($val))
350 return implode(", ", $val); 355 return implode(", ", $val);
351 else 356 else
352 return "\"".$val."\""; 357 return "\"".$val."\"";
358
359 case MG_STR_LC:
360 if (is_array($val))
361 return implode(", ", array_map('strtolower', $val));
362 else
363 return "\"".strtolower($val)."\"";
353 364
354 case MG_BOOL: 365 case MG_BOOL:
355 return $val ? "yes" : "no"; 366 return $val ? "yes" : "no";
356 367
357 case MG_FLAGS: 368 case MG_FLAGS: