Mercurial > hg > mgallery
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: |