Mercurial > hg > fapweb
annotate msitegen.inc.php @ 1096:bbc0a3d0b51e
Major renaming / refactor of site messages. Some that were previously
modifiable from admin interface are now "hardcoded" in the configuration
file. Having these settings made modifiable from there made no sense
and just took space in the UI.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 27 Jan 2017 22:15:06 +0200 |
parents | 7bfa5a38b6ca |
children | c9c73d2c4702 |
rev | line source |
---|---|
1071 | 1 <?php |
0 | 2 // |
571
ce11ea112a65
Change the header blurb a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
569
diff
changeset
|
3 // FAPWeb - Simple Web-based Demoparty Management System |
33 | 4 // Generic and miscellaneous site support code |
1072 | 5 // (C) Copyright 2012-2017 Tecnic Software productions (TNSP) |
0 | 6 // |
9
fa9b66f596bb
More work on settings storage.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
7 |
fa9b66f596bb
More work on settings storage.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
8 // Globals and definitions |
0 | 9 $errorSet = FALSE; |
210 | 10 $errorMsgs = array(); |
208
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
11 $statusSet = 0; |
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
12 $statusMsg = ""; |
0 | 13 |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
14 // Value types |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
15 define("VT_STR", 1); |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
16 define("VT_INT", 2); |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
17 define("VT_BOOL", 3); |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
18 define("VT_TEXT", 4); |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
19 |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
20 // Validation check types |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
21 define("CHK_TYPE", 1); |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
22 define("CHK_ISLT", 2); |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
23 define("CHK_ISGT", 3); |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
24 define("CHK_ISEQ", 4); |
244
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
25 define("CHK_GTEQ", 5); |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
26 define("CHK_LTEQ", 6); |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
27 define("CHK_RANGE", 7); |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
28 define("CHK_CUSTOM", 8); |
907
affd8bd8c910
Add new check type(s) CHK_ARRAY_KEY and CHK_ARRAY_VAL, remove CHK_ARRAY as
Matti Hamalainen <ccr@tnsp.org>
parents:
906
diff
changeset
|
29 define("CHK_ARRAY_KEY", 9); |
908 | 30 define("CHK_ARRAY_VAL", 10); |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
31 |
94
6edd7d623eab
Start adding votekey modes code.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
32 |
173
fef53f6170b5
Move stDebug() to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
172
diff
changeset
|
33 function stDebug($msg) |
fef53f6170b5
Move stDebug() to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
172
diff
changeset
|
34 { |
fef53f6170b5
Move stDebug() to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
172
diff
changeset
|
35 if (stGetSetting("debug")) |
906 | 36 error_log("FAPWeb[D]: ".$msg); |
173
fef53f6170b5
Move stDebug() to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
172
diff
changeset
|
37 } |
fef53f6170b5
Move stDebug() to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
172
diff
changeset
|
38 |
fef53f6170b5
Move stDebug() to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
172
diff
changeset
|
39 |
874 | 40 function stLogError($msg) |
861
62b3a69e9030
Add stErrorLog() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
836
diff
changeset
|
41 { |
906 | 42 error_log("FAPWeb[E]: ".$msg); |
861
62b3a69e9030
Add stErrorLog() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
836
diff
changeset
|
43 return FALSE; |
62b3a69e9030
Add stErrorLog() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
836
diff
changeset
|
44 } |
62b3a69e9030
Add stErrorLog() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
836
diff
changeset
|
45 |
62b3a69e9030
Add stErrorLog() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
836
diff
changeset
|
46 |
874 | 47 function stLogSQLError($dbh, $sql) |
48 { | |
906 | 49 return stLogError("SQL error '".implode("; ", $dbh->errorInfo())."' in statement: \"".$sql."\""); |
874 | 50 } |
51 | |
52 | |
0 | 53 function stError($msg) |
54 { | |
210 | 55 global $errorSet, $errorMsgs; |
0 | 56 $errorSet = TRUE; |
210 | 57 $errorMsgs[] = $msg; |
812
8083b39d3bde
Return FALSE from stError() functions, as a convenience.
Matti Hamalainen <ccr@tnsp.org>
parents:
811
diff
changeset
|
58 return FALSE; |
0 | 59 } |
60 | |
61 | |
208
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
62 function stSetStatus($status, $msg) |
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
63 { |
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
64 global $statusSet, $statusMsg; |
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
65 $statusMsg = $msg; |
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
66 $statusSet = $status; |
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
67 } |
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
68 |
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
69 |
211
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
70 function stDumpAJAXStatusErrors() |
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
71 { |
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
72 global $errorSet, $errorMsgs, $statusSet, $statusMsg; |
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
73 |
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
74 if ($errorSet && !$statusSet) |
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
75 stSetStatus(902, "Error"); |
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
76 |
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
77 if ($statusSet) |
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
78 { |
229 | 79 header("HTTP/1.0 ".$statusSet." ".$statusMsg); |
211
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
80 header("Status: ".$statusSet." ".$statusMsg); |
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
81 } |
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
82 |
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
83 if ($errorSet) |
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
84 { |
559 | 85 echo |
86 "<h1>Following errors occured</h1>\n". | |
349
61c4dda0ec03
New message/confirmation boxes code done in JS + CSS instead of relying on
Matti Hamalainen <ccr@tnsp.org>
parents:
336
diff
changeset
|
87 "<ul>\n"; |
559 | 88 |
211
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
89 foreach ($errorMsgs as $msg) |
349
61c4dda0ec03
New message/confirmation boxes code done in JS + CSS instead of relying on
Matti Hamalainen <ccr@tnsp.org>
parents:
336
diff
changeset
|
90 echo " <li>".chentities($msg)."</li>\n"; |
559 | 91 |
349
61c4dda0ec03
New message/confirmation boxes code done in JS + CSS instead of relying on
Matti Hamalainen <ccr@tnsp.org>
parents:
336
diff
changeset
|
92 echo "</ul>\n"; |
211
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
93 } |
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
94 } |
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
95 |
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
96 |
0 | 97 function stCheckHTTPS() |
98 { | |
99 return isset($_SERVER["HTTPS"]) && ($_SERVER["HTTPS"] != "" && $_SERVER["HTTPS"] != "off"); | |
100 } | |
101 | |
102 | |
5
76c3b89d7b11
Improve voting, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
103 function stSetupCacheControl() |
76c3b89d7b11
Improve voting, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
104 { |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
105 header("Cache-Control: must-revalidate, no-store, private"); |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
106 header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past |
5
76c3b89d7b11
Improve voting, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
107 } |
76c3b89d7b11
Improve voting, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
108 |
76c3b89d7b11
Improve voting, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
109 |
198
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
110 function stGetSQLSettingData($item) |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
111 { |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
112 switch ($item["vtype"]) |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
113 { |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
114 case VT_INT: return intval($item["vint"]); |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
115 case VT_BOOL: return intval($item["vint"]) ? true : false; |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
116 case VT_STR: return $item["vstr"]; |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
117 case VT_TEXT: return $item["vtext"]; |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
118 } |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
119 } |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
120 |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
121 |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
122 function stGetSettingSQL($item, $val) |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
123 { |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
124 global $db; |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
125 switch ($item["vtype"]) |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
126 { |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
127 case VT_INT: return "vint=".intval($val); break; |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
128 case VT_BOOL: return "vint=".($val ? "1" : "0"); break; |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
129 case VT_STR: return "vstr=".$db->quote($val); break; |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
130 case VT_TEXT: return "vtext=".$db->quote($val); break; |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
131 default: return FALSE; |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
132 } |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
133 } |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
134 |
293 | 135 |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
136 function stReloadSettings() |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
137 { |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
138 global $siteSettings; |
198
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
139 |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
140 if (($res = stExecSQL("SELECT * FROM settings")) !== FALSE) |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
141 { |
198
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
142 foreach ($res as $item) |
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
143 $siteSettings[$item["key"]] = stGetSQLSettingData($item); |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
144 } |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
145 else |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
146 die("Error fetching site settings."); |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
147 } |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
148 |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
149 |
538 | 150 function stGetSetting($name, $default = FALSE) |
0 | 151 { |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
152 global $siteSettings; |
0 | 153 if (isset($siteSettings[$name])) |
154 return $siteSettings[$name]; | |
155 else | |
538 | 156 if ($default !== FALSE) |
537
12726b4be750
Make database connection settings better.
Matti Hamalainen <ccr@tnsp.org>
parents:
524
diff
changeset
|
157 return $default; |
12726b4be750
Make database connection settings better.
Matti Hamalainen <ccr@tnsp.org>
parents:
524
diff
changeset
|
158 else |
291
ce30a9083b40
Add error_log() for missing settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
246
diff
changeset
|
159 { |
874 | 160 stLogError("No config value for '".$name."'"); |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
161 die("No config value for '".$name."'.\n"); |
291
ce30a9083b40
Add error_log() for missing settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
246
diff
changeset
|
162 } |
0 | 163 } |
164 | |
165 | |
166 function stChkSetting($name) | |
167 { | |
168 global $siteSettings; | |
169 return isset($siteSettings[$name]) && $siteSettings[$name]; | |
170 } | |
171 | |
172 | |
173 function dhentities($str) | |
174 { | |
674 | 175 return str_replace(array("<",">"), array("<", ">"), |
176 htmlentities($str, ENT_NOQUOTES, "UTF-8")); | |
0 | 177 } |
178 | |
179 | |
180 function chentities($str) | |
181 { | |
182 return htmlentities($str, ENT_NOQUOTES, "UTF-8"); | |
183 } | |
184 | |
485 | 185 |
297
fdcd78675d1c
Possibly fix input quotation and escaping issues.
Matti Hamalainen <ccr@tnsp.org>
parents:
293
diff
changeset
|
186 function ihentities($str) |
fdcd78675d1c
Possibly fix input quotation and escaping issues.
Matti Hamalainen <ccr@tnsp.org>
parents:
293
diff
changeset
|
187 { |
fdcd78675d1c
Possibly fix input quotation and escaping issues.
Matti Hamalainen <ccr@tnsp.org>
parents:
293
diff
changeset
|
188 return htmlentities($str, ENT_QUOTES, "UTF-8"); |
fdcd78675d1c
Possibly fix input quotation and escaping issues.
Matti Hamalainen <ccr@tnsp.org>
parents:
293
diff
changeset
|
189 } |
0 | 190 |
485 | 191 |
676 | 192 // |
193 // Helper functions for form/HTML elements | |
194 // XXX/TODO .. this name/id/prefix mess needs to be cleaned up. | |
195 // | |
12
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
196 function stGetIDName($name, $id, $prefix = "") |
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
197 { |
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
198 return |
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
199 ($id != "" ? "id=\"".$prefix.$name.$id."\" " : ""). |
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
200 ($name != "" ? "name=\"".$prefix.$name.$id."\" " : ""); |
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
201 } |
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
202 |
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
203 |
0 | 204 function stGetFormCheckBoxInput($name, $id, $prefix, $checked, $label, $extra = "") |
205 { | |
206 return | |
12
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
207 "<input ".$extra." type=\"checkbox\" ".stGetIDName($name, $id, $prefix). |
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
208 ($checked ? "checked=\"checked\" " : "")." />". |
336
49094cfbd674
Fix radio- and checkbutton labels.
Matti Hamalainen <ccr@tnsp.org>
parents:
297
diff
changeset
|
209 ($label != "" ? "<label for=\"".$prefix.$name.$id."\">".$label."</label>" : ""); |
0 | 210 } |
211 | |
212 | |
26
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
213 function stGetFormRadioButtonInput($name, $id, $prefix, $value, $checked, $label, $extra = "") |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
214 { |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
215 return |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
216 "<input ".$extra." type=\"radio\" ".stGetIDName($name, $id, $prefix). |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
217 ($checked ? "checked=\"checked\" " : "")." value=\"".$value."\" />". |
336
49094cfbd674
Fix radio- and checkbutton labels.
Matti Hamalainen <ccr@tnsp.org>
parents:
297
diff
changeset
|
218 ($label != "" ? "<label for=\"".$prefix.$name.$id."\">".$label."</label>" : ""); |
26
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
219 } |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
220 |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
221 |
0 | 222 function stGetFormButtonInput($name, $id, $prefix, $label, $onclick = "") |
223 { | |
224 return | |
12
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
225 "<input type=\"button\" ".stGetIDName($name, $id, $prefix). |
297
fdcd78675d1c
Possibly fix input quotation and escaping issues.
Matti Hamalainen <ccr@tnsp.org>
parents:
293
diff
changeset
|
226 "value=\" ".ihentities($label)." \" ". |
0 | 227 ($onclick != "" ? "onClick=\"".$onclick."\"" : "")." />"; |
228 } | |
229 | |
230 | |
680
c9b96a7b9dc4
Add new helper function and use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
676
diff
changeset
|
231 function stGetFormButtonElement($name, $id, $prefix, $label, $onclick = "") |
c9b96a7b9dc4
Add new helper function and use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
676
diff
changeset
|
232 { |
c9b96a7b9dc4
Add new helper function and use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
676
diff
changeset
|
233 return |
c9b96a7b9dc4
Add new helper function and use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
676
diff
changeset
|
234 "<button class=\"button\" ".stGetIDName($name, $id, $prefix)." type=\"button\"". |
c9b96a7b9dc4
Add new helper function and use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
676
diff
changeset
|
235 ($onclick != "" ? " onClick=\"".$onclick."\"" : "")."> ".chentities($label)." </button>"; |
c9b96a7b9dc4
Add new helper function and use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
676
diff
changeset
|
236 } |
c9b96a7b9dc4
Add new helper function and use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
676
diff
changeset
|
237 |
747
330e6d79c5dc
Change stGetFormOptionList* function APIs a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
680
diff
changeset
|
238 |
0 | 239 function stGetFormTextArea($rows, $cols, $name, $id, $prefix, $value, $extra = "") |
240 { | |
241 return | |
12
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
242 "<textarea ".$extra." ".stGetIDName($name, $id, $prefix). |
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
243 "rows=\"".$rows."\" cols=\"".$cols."\">". |
297
fdcd78675d1c
Possibly fix input quotation and escaping issues.
Matti Hamalainen <ccr@tnsp.org>
parents:
293
diff
changeset
|
244 (isset($value) ? ihentities($value) : ""). |
0 | 245 "</textarea>"; |
246 } | |
247 | |
248 | |
249 function stGetFormTextInput($size, $len, $name, $id, $prefix, $value, $extra = "") | |
250 { | |
251 return | |
12
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
252 "<input ".$extra." type=\"text\" ".stGetIDName($name, $id, $prefix). |
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
253 "size=\"".$size."\" maxlength=\"".$len."\"". |
297
fdcd78675d1c
Possibly fix input quotation and escaping issues.
Matti Hamalainen <ccr@tnsp.org>
parents:
293
diff
changeset
|
254 (isset($value) ? " value=\"".ihentities($value)."\"" : ""). |
0 | 255 " />"; |
256 } | |
257 | |
258 | |
246
cb34e3fafb33
Add extra parameter to stGetFormPasswordInput().
Matti Hamalainen <ccr@tnsp.org>
parents:
244
diff
changeset
|
259 function stGetFormPasswordInput($name, $id, $prefix, $extra = "") |
0 | 260 { |
261 return | |
246
cb34e3fafb33
Add extra parameter to stGetFormPasswordInput().
Matti Hamalainen <ccr@tnsp.org>
parents:
244
diff
changeset
|
262 "<input type=\"password\" ".stGetIDName($name, $id, $prefix)." ".$extra." />"; |
0 | 263 } |
264 | |
265 | |
26
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
266 function stGetFormSubmitInput($name, $label, $onclick = "") |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
267 { |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
268 return |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
269 "<input type=\"submit\" name=\"".$name. |
297
fdcd78675d1c
Possibly fix input quotation and escaping issues.
Matti Hamalainen <ccr@tnsp.org>
parents:
293
diff
changeset
|
270 "\" value=\" ".ihentities($label)." \" ". |
26
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
271 ($onclick != "" ? "onClick=\"".$onclick."\"" : "")." />"; |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
272 } |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
273 |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
274 |
0 | 275 function stGetFormHiddenInput($name, $value) |
276 { | |
12
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
277 return |
358534308c61
Clean up some of the html item generation code.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
278 "<input type=\"hidden\" name=\"".$name. |
297
fdcd78675d1c
Possibly fix input quotation and escaping issues.
Matti Hamalainen <ccr@tnsp.org>
parents:
293
diff
changeset
|
279 "\" value=\"".ihentities($value)."\" />"; |
0 | 280 } |
281 | |
282 | |
771
cd8a29647c09
Change the API of stGetFormStart().
Matti Hamalainen <ccr@tnsp.org>
parents:
760
diff
changeset
|
283 function stGetFormStart($name, $action = FALSE, $method = FALSE, $extra = FALSE) |
26
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
284 { |
359
f7a806d5060f
Add preliminary code for CSRF prevention via unique hash tokens. Not fully
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
285 $str = |
771
cd8a29647c09
Change the API of stGetFormStart().
Matti Hamalainen <ccr@tnsp.org>
parents:
760
diff
changeset
|
286 "<form name=\"".$name."\"". |
cd8a29647c09
Change the API of stGetFormStart().
Matti Hamalainen <ccr@tnsp.org>
parents:
760
diff
changeset
|
287 ($action !== FALSE ? " action=\"".$action."\"" : ""). |
cd8a29647c09
Change the API of stGetFormStart().
Matti Hamalainen <ccr@tnsp.org>
parents:
760
diff
changeset
|
288 " method=\"".($method !== FALSE ? $method : "post")."\"". |
cd8a29647c09
Change the API of stGetFormStart().
Matti Hamalainen <ccr@tnsp.org>
parents:
760
diff
changeset
|
289 ($extra !== FALSE ? " ".$extra : "").">\n"; |
359
f7a806d5060f
Add preliminary code for CSRF prevention via unique hash tokens. Not fully
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
290 |
f7a806d5060f
Add preliminary code for CSRF prevention via unique hash tokens. Not fully
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
291 if (($csrfID = stGetSessionItem("csrfID", FALSE)) !== FALSE) |
f7a806d5060f
Add preliminary code for CSRF prevention via unique hash tokens. Not fully
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
292 $str .= stGetFormHiddenInput("csrfID", $csrfID)."\n"; |
f7a806d5060f
Add preliminary code for CSRF prevention via unique hash tokens. Not fully
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
293 |
f7a806d5060f
Add preliminary code for CSRF prevention via unique hash tokens. Not fully
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
294 return $str; |
26
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
295 } |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
296 |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
297 |
675 | 298 function stGetFormOptionListStart($id, $indent, $outer, $size = 10, $onChange = "") |
0 | 299 { |
300 return | |
637
a376521c7bd1
Move some code around, for more appropriate placement in the modules.
Matti Hamalainen <ccr@tnsp.org>
parents:
619
diff
changeset
|
301 ($outer ? $indent."<div id=\"".$id."\">\n" : ""). |
638
79bbd09114c5
Allow selection list size to be zero.
Matti Hamalainen <ccr@tnsp.org>
parents:
637
diff
changeset
|
302 $indent."<select class=\"selectBox\" id=\"".$id."Sel\"". |
79bbd09114c5
Allow selection list size to be zero.
Matti Hamalainen <ccr@tnsp.org>
parents:
637
diff
changeset
|
303 ($size > 0 ? " size=\"".$size."\"" : ""). |
637
a376521c7bd1
Move some code around, for more appropriate placement in the modules.
Matti Hamalainen <ccr@tnsp.org>
parents:
619
diff
changeset
|
304 ($onChange != "" ? " onChange=\"".$onChange."\"" : "").">\n"; |
0 | 305 } |
306 | |
307 | |
747
330e6d79c5dc
Change stGetFormOptionList* function APIs a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
680
diff
changeset
|
308 function stGetFormOptionListItem($indent, $value, $active, $name) |
0 | 309 { |
637
a376521c7bd1
Move some code around, for more appropriate placement in the modules.
Matti Hamalainen <ccr@tnsp.org>
parents:
619
diff
changeset
|
310 return |
747
330e6d79c5dc
Change stGetFormOptionList* function APIs a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
680
diff
changeset
|
311 $indent."<option value=\"".$value."\"". |
637
a376521c7bd1
Move some code around, for more appropriate placement in the modules.
Matti Hamalainen <ccr@tnsp.org>
parents:
619
diff
changeset
|
312 ($active ? " selected=\"selected\"" : ""). |
a376521c7bd1
Move some code around, for more appropriate placement in the modules.
Matti Hamalainen <ccr@tnsp.org>
parents:
619
diff
changeset
|
313 ">".str_replace(" ", " ", chentities($name))."</option>\n"; |
0 | 314 } |
315 | |
316 | |
675 | 317 function stGetFormOptionListEnd($indent, $outer) |
0 | 318 { |
637
a376521c7bd1
Move some code around, for more appropriate placement in the modules.
Matti Hamalainen <ccr@tnsp.org>
parents:
619
diff
changeset
|
319 return |
a376521c7bd1
Move some code around, for more appropriate placement in the modules.
Matti Hamalainen <ccr@tnsp.org>
parents:
619
diff
changeset
|
320 $indent."</select>\n". |
a376521c7bd1
Move some code around, for more appropriate placement in the modules.
Matti Hamalainen <ccr@tnsp.org>
parents:
619
diff
changeset
|
321 ($outer ? $indent."</div>\n" : ""); |
a376521c7bd1
Move some code around, for more appropriate placement in the modules.
Matti Hamalainen <ccr@tnsp.org>
parents:
619
diff
changeset
|
322 } |
a376521c7bd1
Move some code around, for more appropriate placement in the modules.
Matti Hamalainen <ccr@tnsp.org>
parents:
619
diff
changeset
|
323 |
a376521c7bd1
Move some code around, for more appropriate placement in the modules.
Matti Hamalainen <ccr@tnsp.org>
parents:
619
diff
changeset
|
324 |
752
c714140541d5
Add more data to previewTypeList array and implement array index argument in
Matti Hamalainen <ccr@tnsp.org>
parents:
747
diff
changeset
|
325 function stGetFormOptionListFromArray($id, $indent, $outer, $data, $active, $size = 10, $arrIndex = 0, $onChange = "") |
637
a376521c7bd1
Move some code around, for more appropriate placement in the modules.
Matti Hamalainen <ccr@tnsp.org>
parents:
619
diff
changeset
|
326 { |
675 | 327 $str = stGetFormOptionListStart($id, $indent, $outer, $size, $onChange); |
637
a376521c7bd1
Move some code around, for more appropriate placement in the modules.
Matti Hamalainen <ccr@tnsp.org>
parents:
619
diff
changeset
|
328 |
639
26ec29d2e728
Elements of arrays passed to selection list can be arrays themselves, the
Matti Hamalainen <ccr@tnsp.org>
parents:
638
diff
changeset
|
329 foreach ($data as $key => $value) |
26ec29d2e728
Elements of arrays passed to selection list can be arrays themselves, the
Matti Hamalainen <ccr@tnsp.org>
parents:
638
diff
changeset
|
330 { |
747
330e6d79c5dc
Change stGetFormOptionList* function APIs a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
680
diff
changeset
|
331 $str .= stGetFormOptionListItem($indent." ", $key, |
642 | 332 ($key == $active), |
752
c714140541d5
Add more data to previewTypeList array and implement array index argument in
Matti Hamalainen <ccr@tnsp.org>
parents:
747
diff
changeset
|
333 is_array($value) ? $value[$arrIndex] : $value); |
639
26ec29d2e728
Elements of arrays passed to selection list can be arrays themselves, the
Matti Hamalainen <ccr@tnsp.org>
parents:
638
diff
changeset
|
334 } |
637
a376521c7bd1
Move some code around, for more appropriate placement in the modules.
Matti Hamalainen <ccr@tnsp.org>
parents:
619
diff
changeset
|
335 |
675 | 336 return $str.stGetFormOptionListEnd($indent, $outer); |
0 | 337 } |
338 | |
339 | |
793
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
340 function stErrorStrF($fmt) |
0 | 341 { |
793
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
342 $argc = func_num_args(); |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
343 $argv = func_get_args(); |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
344 |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
345 $len = strlen($fmt); |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
346 $str = ""; |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
347 $argn = 1; |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
348 for ($pos = 0; $pos < $len; $pos++) |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
349 { |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
350 if ($fmt[$pos] == "%") |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
351 { |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
352 $pos++; |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
353 if ($fmt[$pos] == "%") |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
354 $str .= "%"; |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
355 else |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
356 { |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
357 $n = intval($fmt[$pos]); |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
358 if ($n >= 1 && $n < $argc) |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
359 $str .= $argv[$n]; |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
360 else |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
361 { |
874 | 362 stLogError("Invalid stErrorStrF() format string, arg #".$n. |
793
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
363 " referenced, but only has ".$argc." arguments: '".$fmt."'\n"); |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
364 return FALSE; |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
365 } |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
366 } |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
367 } |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
368 else |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
369 $str .= $fmt[$pos]; |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
370 } |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
371 |
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
372 stError($str); |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
373 return FALSE; |
0 | 374 } |
375 | |
376 | |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
377 // |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
378 // Check and validate one item from $_REQUEST[], based on |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
379 // list of validation conditions. For example: |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
380 // |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
381 // stChkRequestItem("name", FALSE, |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
382 // array(CHK_ISGT, VT_STR, 0, "Handle / name not given."), |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
383 // array(CHK_ISGT, VT_STR, 3, "Handle / name too short, should be 3 characters or more."), |
244
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
384 // array(CHK_LTEQ, VT_STR, SET_LEN_USERNAME, "Handle / name is too long, should be less than ".SET_LEN_USERNAME." characters."), |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
385 // array(CHK_RANGE, VT_STR, array(3, SET_LEN_USERNAME), "Ulululu!"), |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
386 // ^- ranges specified as array of MIN and MAX values (inclusive) |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
387 // |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
388 // array(CHK_CUSTOM, VT_STR, function($value) { return FALSE; }, "Error! Error!"), |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
389 // ^- can be any callable/anonymous function etc. |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
390 // ... |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
391 // |
244
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
392 function stChkRequestDataItem($type, $value, $cmp) |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
393 { |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
394 switch ($type) |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
395 { |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
396 case CHK_ISLT : return $value < $cmp; |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
397 case CHK_ISGT : return $value > $cmp; |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
398 case CHK_ISEQ : return $value == $cmp; |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
399 case CHK_LTEQ : return $value <= $cmp; |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
400 case CHK_GTEQ : return $value >= $cmp; |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
401 case CHK_RANGE: |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
402 if (!is_array($cmp)) |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
403 return FALSE; |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
404 else |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
405 return ($value >= $cmp[0] && $value <= $cmp[1]); |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
406 break; |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
407 default: return FALSE; |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
408 } |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
409 } |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
410 |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
411 |
670
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
412 function stDoCheckRequestItem($name, &$sdata, $nindex, $argc, $argv) |
0 | 413 { |
369
a3caded43f6d
Add possibility of always using GET requests when debug mode is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
365
diff
changeset
|
414 if (stGetSetting("debug")) |
a3caded43f6d
Add possibility of always using GET requests when debug mode is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
365
diff
changeset
|
415 { |
a3caded43f6d
Add possibility of always using GET requests when debug mode is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
365
diff
changeset
|
416 if (!isset($_REQUEST[$name])) |
793
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
417 return stErrorStrF("Required data item '%1' not set.", $name); |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
418 |
369
a3caded43f6d
Add possibility of always using GET requests when debug mode is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
365
diff
changeset
|
419 $data = trim($_REQUEST[$name]); |
a3caded43f6d
Add possibility of always using GET requests when debug mode is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
365
diff
changeset
|
420 } |
a3caded43f6d
Add possibility of always using GET requests when debug mode is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
365
diff
changeset
|
421 else |
a3caded43f6d
Add possibility of always using GET requests when debug mode is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
365
diff
changeset
|
422 { |
a3caded43f6d
Add possibility of always using GET requests when debug mode is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
365
diff
changeset
|
423 if (!isset($_POST[$name])) |
793
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
424 return stErrorStrF("Required data item '%1' not set.", $name); |
369
a3caded43f6d
Add possibility of always using GET requests when debug mode is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
365
diff
changeset
|
425 |
a3caded43f6d
Add possibility of always using GET requests when debug mode is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
365
diff
changeset
|
426 $data = trim($_POST[$name]); |
a3caded43f6d
Add possibility of always using GET requests when debug mode is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
365
diff
changeset
|
427 } |
a3caded43f6d
Add possibility of always using GET requests when debug mode is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
365
diff
changeset
|
428 |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
429 $slen = strlen($data); |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
430 |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
431 |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
432 // Go through list of validation checks |
670
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
433 for ($argn = $nindex; $argn < $argc; $argn++) |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
434 { |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
435 // Act according to check type |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
436 $check = $argv[$argn]; |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
437 switch ($check[0]) |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
438 { |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
439 case CHK_TYPE: |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
440 // Check type of the data |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
441 switch ($check[1]) |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
442 { |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
443 case VT_STR: |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
444 if ($slen == 0) |
793
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
445 return stErrorStrF($check[2], $slen); |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
446 break; |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
447 |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
448 case VT_INT: |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
449 case VT_BOOL: |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
450 if ($slen == 0 || !is_numeric($data)) |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
451 return stErrorStrF($check[2], $data); |
813
c635887048aa
Apply intval() to data when checking type.
Matti Hamalainen <ccr@tnsp.org>
parents:
812
diff
changeset
|
452 else |
c635887048aa
Apply intval() to data when checking type.
Matti Hamalainen <ccr@tnsp.org>
parents:
812
diff
changeset
|
453 $data = intval($data); |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
454 break; |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
455 } |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
456 break; |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
457 |
244
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
458 case CHK_ISLT: case CHK_ISGT: case CHK_ISEQ: |
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
459 case CHK_GTEQ: case CHK_LTEQ: case CHK_RANGE: |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
460 // Check length or value of the data |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
461 switch ($check[1]) |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
462 { |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
463 case VT_STR: |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
464 case VT_TEXT: |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
465 // Strings get their length checked |
244
70c424d025d6
Improve input validation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
466 if (!stChkRequestDataItem($check[0], $slen, $check[2])) |
793
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
467 return stErrorStrF($check[3], $slen, $check[2]); |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
468 break; |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
469 |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
470 case VT_INT: |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
471 case VT_BOOL: |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
472 // Integer values checked against .. value |
292 | 473 if (!stChkRequestDataItem($check[0], intval($data), $check[2])) |
793
ff6e6c6200a4
Add improved error message formatting to stChkRequestItem*() functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
771
diff
changeset
|
474 return stErrorStrF($check[3], intval($data), $check[2]); |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
475 break; |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
476 } |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
477 break; |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
478 |
907
affd8bd8c910
Add new check type(s) CHK_ARRAY_KEY and CHK_ARRAY_VAL, remove CHK_ARRAY as
Matti Hamalainen <ccr@tnsp.org>
parents:
906
diff
changeset
|
479 case CHK_ARRAY_KEY: |
896
52737f6192bb
More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
874
diff
changeset
|
480 if (!isset($check[1][$data])) |
52737f6192bb
More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
874
diff
changeset
|
481 return stErrorStrF($check[2], $data); |
810
2a23243a6cc4
Add new check type for stChkRequestItem*(), CHK_ARRAY.
Matti Hamalainen <ccr@tnsp.org>
parents:
803
diff
changeset
|
482 break; |
2a23243a6cc4
Add new check type for stChkRequestItem*(), CHK_ARRAY.
Matti Hamalainen <ccr@tnsp.org>
parents:
803
diff
changeset
|
483 |
907
affd8bd8c910
Add new check type(s) CHK_ARRAY_KEY and CHK_ARRAY_VAL, remove CHK_ARRAY as
Matti Hamalainen <ccr@tnsp.org>
parents:
906
diff
changeset
|
484 case CHK_ARRAY_VAL: |
affd8bd8c910
Add new check type(s) CHK_ARRAY_KEY and CHK_ARRAY_VAL, remove CHK_ARRAY as
Matti Hamalainen <ccr@tnsp.org>
parents:
906
diff
changeset
|
485 if (!in_array($data, $check[1], TRUE)) |
affd8bd8c910
Add new check type(s) CHK_ARRAY_KEY and CHK_ARRAY_VAL, remove CHK_ARRAY as
Matti Hamalainen <ccr@tnsp.org>
parents:
906
diff
changeset
|
486 return stErrorStrF($check[2], $data); |
affd8bd8c910
Add new check type(s) CHK_ARRAY_KEY and CHK_ARRAY_VAL, remove CHK_ARRAY as
Matti Hamalainen <ccr@tnsp.org>
parents:
906
diff
changeset
|
487 break; |
affd8bd8c910
Add new check type(s) CHK_ARRAY_KEY and CHK_ARRAY_VAL, remove CHK_ARRAY as
Matti Hamalainen <ccr@tnsp.org>
parents:
906
diff
changeset
|
488 |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
489 case CHK_CUSTOM: |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
490 // Call a custom function (or closure) |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
491 $func = $check[1]; |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
492 if (!is_callable($func) || !$func($data)) |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
493 return stErrorStrF($check[2], $data); |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
494 break; |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
495 } |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
496 } |
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
497 |
436
4ce10edceedf
Only assign data if it has been completely validated.
Matti Hamalainen <ccr@tnsp.org>
parents:
369
diff
changeset
|
498 if ($sdata !== FALSE) |
4ce10edceedf
Only assign data if it has been completely validated.
Matti Hamalainen <ccr@tnsp.org>
parents:
369
diff
changeset
|
499 $sdata = $data; |
4ce10edceedf
Only assign data if it has been completely validated.
Matti Hamalainen <ccr@tnsp.org>
parents:
369
diff
changeset
|
500 |
184
1b30c2107e5b
Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents:
180
diff
changeset
|
501 return TRUE; |
0 | 502 } |
503 | |
504 | |
670
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
505 function stChkRequestItem($name, &$sdata) |
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
506 { |
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
507 return stDoCheckRequestItem($name, $sdata, 2, func_num_args(), func_get_args()); |
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
508 } |
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
509 |
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
510 |
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
511 function stChkRequestItemFail($name, &$sdata, &$sfail) |
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
512 { |
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
513 $sres = stDoCheckRequestItem($name, $sdata, 3, func_num_args(), func_get_args()); |
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
514 if ($sres !== TRUE) $sfail = FALSE; |
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
515 return $sres; |
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
516 } |
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
517 |
8a091dc8d608
Add new utility function stChkRequestItemFail().
Matti Hamalainen <ccr@tnsp.org>
parents:
642
diff
changeset
|
518 |
1003
668fd0ea4e08
Add check for request items that might not be strings.
Matti Hamalainen <ccr@tnsp.org>
parents:
1001
diff
changeset
|
519 function stTrimIfString($val) |
668fd0ea4e08
Add check for request items that might not be strings.
Matti Hamalainen <ccr@tnsp.org>
parents:
1001
diff
changeset
|
520 { |
668fd0ea4e08
Add check for request items that might not be strings.
Matti Hamalainen <ccr@tnsp.org>
parents:
1001
diff
changeset
|
521 if (is_string($val)) |
668fd0ea4e08
Add check for request items that might not be strings.
Matti Hamalainen <ccr@tnsp.org>
parents:
1001
diff
changeset
|
522 return trim($val); |
668fd0ea4e08
Add check for request items that might not be strings.
Matti Hamalainen <ccr@tnsp.org>
parents:
1001
diff
changeset
|
523 else |
668fd0ea4e08
Add check for request items that might not be strings.
Matti Hamalainen <ccr@tnsp.org>
parents:
1001
diff
changeset
|
524 return $val; |
668fd0ea4e08
Add check for request items that might not be strings.
Matti Hamalainen <ccr@tnsp.org>
parents:
1001
diff
changeset
|
525 } |
668fd0ea4e08
Add check for request items that might not be strings.
Matti Hamalainen <ccr@tnsp.org>
parents:
1001
diff
changeset
|
526 |
668fd0ea4e08
Add check for request items that might not be strings.
Matti Hamalainen <ccr@tnsp.org>
parents:
1001
diff
changeset
|
527 |
357
7e906c827e68
Make default of request items to allow POST only, GET enabled on case by case basis.
Matti Hamalainen <ccr@tnsp.org>
parents:
349
diff
changeset
|
528 function stGetRequestItem($name, $default = "", $allowGet = FALSE) |
0 | 529 { |
369
a3caded43f6d
Add possibility of always using GET requests when debug mode is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
365
diff
changeset
|
530 if ($allowGet || stGetSetting("debug")) |
1003
668fd0ea4e08
Add check for request items that might not be strings.
Matti Hamalainen <ccr@tnsp.org>
parents:
1001
diff
changeset
|
531 return isset($_REQUEST[$name]) ? stTrimIfString($_REQUEST[$name]) : $default; |
357
7e906c827e68
Make default of request items to allow POST only, GET enabled on case by case basis.
Matti Hamalainen <ccr@tnsp.org>
parents:
349
diff
changeset
|
532 else |
1003
668fd0ea4e08
Add check for request items that might not be strings.
Matti Hamalainen <ccr@tnsp.org>
parents:
1001
diff
changeset
|
533 return isset($_POST[$name]) ? stTrimIfString($_POST[$name]) : $default; |
0 | 534 } |
535 | |
536 | |
486 | 537 function stConnectSQLDBSpec($dbspec) |
538 { | |
539 try { | |
540 $dbh = new PDO($dbspec); | |
541 } | |
542 catch (PDOException $e) { | |
874 | 543 stLogError("Could not connect to SQL database: ".$e->getMessage()."."); |
486 | 544 return FALSE; |
545 } | |
546 return $dbh; | |
547 } | |
548 | |
549 | |
0 | 550 function stConnectSQLDB() |
551 { | |
552 global $db; | |
537
12726b4be750
Make database connection settings better.
Matti Hamalainen <ccr@tnsp.org>
parents:
524
diff
changeset
|
553 try { |
12726b4be750
Make database connection settings better.
Matti Hamalainen <ccr@tnsp.org>
parents:
524
diff
changeset
|
554 $db = new PDO(stGetSetting("sqlDB"), |
538 | 555 stGetSetting("sqlUsername", NULL), |
556 stGetSetting("sqlPassword", NULL), | |
537
12726b4be750
Make database connection settings better.
Matti Hamalainen <ccr@tnsp.org>
parents:
524
diff
changeset
|
557 stGetSetting("sqlOptions", array())); |
12726b4be750
Make database connection settings better.
Matti Hamalainen <ccr@tnsp.org>
parents:
524
diff
changeset
|
558 } |
12726b4be750
Make database connection settings better.
Matti Hamalainen <ccr@tnsp.org>
parents:
524
diff
changeset
|
559 catch (PDOException $e) { |
874 | 560 stLogError("Could not connect to SQL database: ".$e->getMessage()."."); |
537
12726b4be750
Make database connection settings better.
Matti Hamalainen <ccr@tnsp.org>
parents:
524
diff
changeset
|
561 return FALSE; |
12726b4be750
Make database connection settings better.
Matti Hamalainen <ccr@tnsp.org>
parents:
524
diff
changeset
|
562 } |
486 | 563 $db = stConnectSQLDBSpec(stGetSetting("sqlDB")); |
564 return ($db !== false); | |
0 | 565 } |
566 | |
567 | |
1093 | 568 function stDBGetSQLParam($dbh, $type, $value) |
569 { | |
570 switch ($type) | |
571 { | |
572 case "d": return intval($value); | |
573 case "s": return $dbh->quote($value); | |
574 case "b": return intval($value) ? 1 : 0; | |
575 | |
576 case "D": return intval(stGetRequestItem($value)); | |
577 case "S": return $dbh->quote(stGetRequestItem($value)); | |
578 case "Q": return $dbh->quote(stGetRequestItem($value)); | |
579 case "B": return intval(stGetRequestItem($value)) ? 1 : 0; | |
580 } | |
581 } | |
582 | |
583 | |
487 | 584 function stDBPrepareSQLUpdate($dbh, $table, $cond, $pairs) |
0 | 585 { |
487 | 586 $sql = array(); |
587 foreach ($pairs as $name => $attr) | |
0 | 588 { |
487 | 589 $sql[] = $name."=".stDBGetSQLParam($dbh, $attr, $name); |
0 | 590 } |
487 | 591 return |
592 "UPDATE ".$table." SET ".implode(",", $sql). | |
593 ($cond != "" ? " ".$cond : ""); | |
0 | 594 } |
595 | |
596 | |
487 | 597 function stDBPrepareSQL($dbh) |
0 | 598 { |
599 $argc = func_num_args(); | |
600 $argv = func_get_args(); | |
87 | 601 |
487 | 602 $fmt = $argv[1]; |
0 | 603 $len = strlen($fmt); |
604 $sql = ""; | |
487 | 605 $argn = 2; |
606 for ($pos = 0; $pos < $len; $pos++) | |
0 | 607 { |
608 if ($fmt[$pos] == "%") | |
609 { | |
610 if ($argn < $argc) | |
501 | 611 $sql .= stDBGetSQLParam($dbh, $fmt[++$pos], $argv[$argn++]); |
0 | 612 else |
613 { | |
874 | 614 stLogError("Invalid SQL statement format string '".$fmt. |
0 | 615 "', not enough parameters specified (".$argn." of ".$argc.")"); |
616 return FALSE; | |
617 } | |
618 } | |
619 else | |
620 $sql .= $fmt[$pos]; | |
621 } | |
485 | 622 |
0 | 623 return $sql; |
624 } | |
625 | |
626 | |
487 | 627 function stPrepareSQL() |
0 | 628 { |
487 | 629 global $db; |
630 $argc = func_num_args(); | |
631 $argv = func_get_args(); | |
632 | |
633 $fmt = $argv[0]; | |
634 $len = strlen($fmt); | |
635 $sql = ""; | |
636 $argn = 1; | |
637 for ($pos = 0; $pos < $len; $pos++) | |
0 | 638 { |
487 | 639 if ($fmt[$pos] == "%") |
640 { | |
641 if ($argn < $argc) | |
492 | 642 $sql .= stDBGetSQLParam($db, $fmt[++$pos], $argv[$argn++]); |
487 | 643 else |
644 { | |
874 | 645 stLogError("Invalid SQL statement format string '".$fmt. |
487 | 646 "', not enough parameters specified (".$argn." of ".$argc.")"); |
647 return FALSE; | |
648 } | |
649 } | |
650 else | |
651 $sql .= $fmt[$pos]; | |
0 | 652 } |
487 | 653 |
654 return $sql; | |
0 | 655 } |
656 | |
657 | |
547
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
658 function stDBExecSQLInsert($dbh, $sql) |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
659 { |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
660 switch ($dbh->getAttribute(PDO::ATTR_DRIVER_NAME)) |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
661 { |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
662 case "pgsql": |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
663 if (($res = stDBFetchSQLColumn($dbh, $sql." RETURNING id")) !== false) |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
664 return $res; |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
665 else |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
666 return FALSE; |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
667 |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
668 default: |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
669 if (stDBExecSQL($dbh, $sql) !== false) |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
670 return $dbh->lastInsertId(); |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
671 else |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
672 return FALSE; |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
673 } |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
674 } |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
675 |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
676 |
487 | 677 function stDBExecSQL($dbh, $sql) |
0 | 678 { |
487 | 679 if (($res = $dbh->query($sql)) !== FALSE) |
0 | 680 return $res; |
681 else | |
682 { | |
501 | 683 stLogSQLError($dbh, $sql); |
0 | 684 stError("Oh noes! SQL error #23!"); |
685 return FALSE; | |
686 } | |
687 } | |
688 | |
689 | |
487 | 690 function stDBFetchSQL($dbh, $sql) |
0 | 691 { |
487 | 692 if (($res = $dbh->query($sql)) !== FALSE) |
0 | 693 return $res->fetch(); |
694 else | |
695 { | |
501 | 696 stLogSQLError($dbh, $sql); |
0 | 697 stError("Oh noes! SQL error #31!"); |
698 return FALSE; | |
699 } | |
700 } | |
701 | |
702 | |
487 | 703 function stDBFetchSQLColumn($dbh, $sql, $column = 0) |
0 | 704 { |
487 | 705 if (($res = $dbh->query($sql)) !== FALSE) |
0 | 706 return $res->fetchColumn($column); |
707 else | |
708 { | |
501 | 709 stLogSQLError($dbh, $sql); |
0 | 710 stError("Oh noes! SQL error #81!"); |
711 return FALSE; | |
712 } | |
713 } | |
714 | |
715 | |
487 | 716 function stPrepareSQLUpdate($table, $cond, $pairs) |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
65
diff
changeset
|
717 { |
487 | 718 global $db; |
719 return stDBPrepareSQLUpdate($db, $table, $cond, $pairs); | |
720 } | |
721 | |
722 | |
547
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
723 function stExecSQLInsert($sql) |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
724 { |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
725 global $db; |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
726 return stDBExecSQLInsert($db, $sql); |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
727 } |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
728 |
1fceb6f57c90
Add helper functions for SQL INSERT that return the last insert id, to work
Matti Hamalainen <ccr@tnsp.org>
parents:
538
diff
changeset
|
729 |
492 | 730 function stExecSQL($sql) |
487 | 731 { |
732 global $db; | |
733 return stDBExecSQL($db, $sql); | |
734 } | |
735 | |
736 | |
492 | 737 function stFetchSQL($sql) |
487 | 738 { |
739 global $db; | |
740 return stDBFetchSQL($db, $sql); | |
741 } | |
742 | |
743 | |
744 function stFetchSQLColumn($sql, $column = 0) | |
745 { | |
746 global $db; | |
747 return stDBFetchSQLColumn($db, $sql, $column); | |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
65
diff
changeset
|
748 } |
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
65
diff
changeset
|
749 |
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
65
diff
changeset
|
750 |
578
4227095a1384
Add functions for beginning and committing SQL transactions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
577
diff
changeset
|
751 function stDBBeginTransaction($dbh = FALSE) |
4227095a1384
Add functions for beginning and committing SQL transactions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
577
diff
changeset
|
752 { |
4227095a1384
Add functions for beginning and committing SQL transactions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
577
diff
changeset
|
753 global $db; |
579 | 754 return stDBExecSQL(($dbh !== FALSE) ? $dbh : $db, "BEGIN TRANSACTION"); |
578
4227095a1384
Add functions for beginning and committing SQL transactions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
577
diff
changeset
|
755 } |
4227095a1384
Add functions for beginning and committing SQL transactions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
577
diff
changeset
|
756 |
4227095a1384
Add functions for beginning and committing SQL transactions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
577
diff
changeset
|
757 |
607
e78d90ca4f4a
Use default database handle for transaction commits if none provided.
Matti Hamalainen <ccr@tnsp.org>
parents:
579
diff
changeset
|
758 function stDBCommitTransaction($dbh = FALSE) |
578
4227095a1384
Add functions for beginning and committing SQL transactions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
577
diff
changeset
|
759 { |
4227095a1384
Add functions for beginning and committing SQL transactions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
577
diff
changeset
|
760 global $db; |
579 | 761 return stDBExecSQL(($dbh !== FALSE) ? $dbh : $db, "COMMIT"); |
578
4227095a1384
Add functions for beginning and committing SQL transactions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
577
diff
changeset
|
762 } |
4227095a1384
Add functions for beginning and committing SQL transactions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
577
diff
changeset
|
763 |
4227095a1384
Add functions for beginning and committing SQL transactions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
577
diff
changeset
|
764 |
577
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
765 function stDBGetTableSchema($dbh, $data) |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
766 { |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
767 $res = array(); |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
768 $driver = $dbh->getAttribute(PDO::ATTR_DRIVER_NAME); |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
769 |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
770 foreach ($data as $col) |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
771 { |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
772 $tmp = array(); |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
773 |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
774 switch ($driver) |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
775 { |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
776 case "pgsql": |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
777 foreach ($col as $elem) |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
778 { |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
779 // For Postgres, use SERIAL for autoincrement |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
780 if ($elem == "AUTOINCREMENT") |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
781 $tmp[1] = "SERIAL"; |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
782 else |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
783 $tmp[] = $elem; |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
784 } |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
785 break; |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
786 |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
787 case "mysql": |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
788 foreach ($col as $elem) |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
789 { |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
790 if ($elem != "AUTOINCREMENT") |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
791 $tmp[] = "AUTO_INCREMENT"; |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
792 else |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
793 $tmp[] = $elem; |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
794 } |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
795 break; |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
796 |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
797 case "sqlite": |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
798 $tmp = $col; |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
799 break; |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
800 |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
801 default: |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
802 die("Don't know how to handle PDO driver '".$driver."' yet.\n"); |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
803 } |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
804 |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
805 $res[] = implode(" ", $tmp); |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
806 } |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
807 |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
808 return implode(", ", $res); |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
809 } |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
810 |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
811 |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
812 function stDBCreateOneTable($dbh, $name, $schema) |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
813 { |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
814 // echo "CREATE TABLE ".$name ." (".$schema.")\n"; |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
815 return (stDBExecSQL($dbh, "CREATE TABLE ".$name." (".$schema.")") !== FALSE) ? TRUE : FALSE; |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
816 } |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
817 |
ba521a7e7653
Move two DB helper functions from managedb to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
818 |
803
ddb30c989b47
Add new helper function stSubStrCmp() for comparing substrings.
Matti Hamalainen <ccr@tnsp.org>
parents:
793
diff
changeset
|
819 function stSubStrCmp($str, $cmp, $send = FALSE) |
ddb30c989b47
Add new helper function stSubStrCmp() for comparing substrings.
Matti Hamalainen <ccr@tnsp.org>
parents:
793
diff
changeset
|
820 { |
ddb30c989b47
Add new helper function stSubStrCmp() for comparing substrings.
Matti Hamalainen <ccr@tnsp.org>
parents:
793
diff
changeset
|
821 if ($send) |
ddb30c989b47
Add new helper function stSubStrCmp() for comparing substrings.
Matti Hamalainen <ccr@tnsp.org>
parents:
793
diff
changeset
|
822 return substr($str, -strlen($cmp)) == $cmp; |
ddb30c989b47
Add new helper function stSubStrCmp() for comparing substrings.
Matti Hamalainen <ccr@tnsp.org>
parents:
793
diff
changeset
|
823 else |
ddb30c989b47
Add new helper function stSubStrCmp() for comparing substrings.
Matti Hamalainen <ccr@tnsp.org>
parents:
793
diff
changeset
|
824 return substr($str, 0, strlen($cmp)) == $cmp; |
ddb30c989b47
Add new helper function stSubStrCmp() for comparing substrings.
Matti Hamalainen <ccr@tnsp.org>
parents:
793
diff
changeset
|
825 } |
ddb30c989b47
Add new helper function stSubStrCmp() for comparing substrings.
Matti Hamalainen <ccr@tnsp.org>
parents:
793
diff
changeset
|
826 |
ddb30c989b47
Add new helper function stSubStrCmp() for comparing substrings.
Matti Hamalainen <ccr@tnsp.org>
parents:
793
diff
changeset
|
827 |
135
eecac02579c4
Move stChop() to site module and rename it to stStrChop().
Matti Hamalainen <ccr@tnsp.org>
parents:
121
diff
changeset
|
828 function stStrChop($str, $len) |
eecac02579c4
Move stChop() to site module and rename it to stStrChop().
Matti Hamalainen <ccr@tnsp.org>
parents:
121
diff
changeset
|
829 { |
569
9e8637631089
Fix stStrChop() and stStrChopPad() UTF-8 handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
565
diff
changeset
|
830 return (mb_strlen($str) > $len) ? mb_substr($str, 0, $len - 3)."..." : $str; |
558
09a11dd385c7
Add new function stStrChopPad() that replaces stStrChop(), but stStrChop()
Matti Hamalainen <ccr@tnsp.org>
parents:
547
diff
changeset
|
831 } |
09a11dd385c7
Add new function stStrChopPad() that replaces stStrChop(), but stStrChop()
Matti Hamalainen <ccr@tnsp.org>
parents:
547
diff
changeset
|
832 |
09a11dd385c7
Add new function stStrChopPad() that replaces stStrChop(), but stStrChop()
Matti Hamalainen <ccr@tnsp.org>
parents:
547
diff
changeset
|
833 |
09a11dd385c7
Add new function stStrChopPad() that replaces stStrChop(), but stStrChop()
Matti Hamalainen <ccr@tnsp.org>
parents:
547
diff
changeset
|
834 function stStrChopPad($str, $len) |
09a11dd385c7
Add new function stStrChopPad() that replaces stStrChop(), but stStrChop()
Matti Hamalainen <ccr@tnsp.org>
parents:
547
diff
changeset
|
835 { |
569
9e8637631089
Fix stStrChop() and stStrChopPad() UTF-8 handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
565
diff
changeset
|
836 $tmp = stStrChop($str, $len); |
9e8637631089
Fix stStrChop() and stStrChopPad() UTF-8 handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
565
diff
changeset
|
837 for ($i = mb_strlen($tmp); $i < $len; $i++) |
9e8637631089
Fix stStrChop() and stStrChopPad() UTF-8 handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
565
diff
changeset
|
838 $tmp .= " "; |
9e8637631089
Fix stStrChop() and stStrChopPad() UTF-8 handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
565
diff
changeset
|
839 return $tmp; |
135
eecac02579c4
Move stChop() to site module and rename it to stStrChop().
Matti Hamalainen <ccr@tnsp.org>
parents:
121
diff
changeset
|
840 } |
eecac02579c4
Move stChop() to site module and rename it to stStrChop().
Matti Hamalainen <ccr@tnsp.org>
parents:
121
diff
changeset
|
841 |
174
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
842 |
1017
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
843 $stStrAtimeData = |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
844 [ |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
845 [ 30*24*60*60, "month" , "months" ], |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
846 [ 7*24*60*60, "week" , "weeks" ], |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
847 [ 24*60*60, "day" , "days" ], |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
848 [ 60*60, "hour" , "hours" ], |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
849 [ 60, "minute" , "minutes" ], |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
850 ]; |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
851 |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
852 |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
853 function stStrAtime($val) |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
854 { |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
855 global $stStrAtimeData; |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
856 |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
857 $res = []; |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
858 foreach ($stStrAtimeData as $data) |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
859 if ($val >= $data[0]) |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
860 { |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
861 $tmp = $val / $data[0]; |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
862 $val = $val % $data[0]; |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
863 $res[] = $tmp." ".($tmp > 1 ? $data[2] : $data[1]); |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
864 } |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
865 return implode(", ", $res); |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
866 } |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
867 |
438457153ced
Add new utility function stStrAtime().
Matti Hamalainen <ccr@tnsp.org>
parents:
1006
diff
changeset
|
868 |
574
463189fc05ed
Some changes from custom site system branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
571
diff
changeset
|
869 function cmPrintCSSLine($filename, $media = FALSE) |
174
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
870 { |
180
a3f0f2a3551a
Split stylesheets into separate files for different platforms and also split
Matti Hamalainen <ccr@tnsp.org>
parents:
178
diff
changeset
|
871 echo |
574
463189fc05ed
Some changes from custom site system branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
571
diff
changeset
|
872 " <link rel=\"stylesheet\" href=\"".$filename. |
463189fc05ed
Some changes from custom site system branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
571
diff
changeset
|
873 "\" type=\"text/css\" ".($media !== FALSE ? "media=\"".$media."\"": "")." />\n"; |
174
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
874 } |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
875 |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
876 |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
877 function cmPrintPageHeader($pageTitle, $pageExtra = "", $useContents = TRUE) |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
878 { |
575
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
879 global $pageCSS, $pageCSSIndex, $pageCharset, $pageAuthor, $pageCSSData, $pageUrchin; |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
880 |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
881 if (!isset($pageCSS)) |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
882 { |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
883 if (!isset($pageCSSData)) |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
884 { |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
885 $pageCSSData = array( |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
886 "cookie" => "docscss", |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
887 "prefix" => "/css/docs", |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
888 ); |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
889 } |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
890 |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
891 if (isset($_GET["css"])) |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
892 { |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
893 $pageCSSIndex = intval($_GET["css"]); |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
894 setcookie($pageCSSData["cookie"], $pageCSSIndex, time() + 365*24*60*60, "/"); // expire in a year |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
895 } |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
896 else |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
897 { |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
898 $pageCSSIndex = isset($_COOKIE[$pageCSSData["cookie"]]) ? intval($_COOKIE[$pageCSSData["cookie"]]) : 1; |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
899 } |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
900 $pageCSS = $pageCSSData["prefix"].$pageCSSIndex.".css"; |
1ec34a220df3
Another merge from generic custom site branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
574
diff
changeset
|
901 } |
174
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
902 |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
903 echo |
363 | 904 "<!DOCTYPE html>\n". |
178 | 905 "<html>\n". |
174
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
906 "<head>\n". |
232 | 907 " <meta charset=\"".$pageCharset."\">\n". |
362
38dfe9e0a017
Add meta-equiv for document content type.
Matti Hamalainen <ccr@tnsp.org>
parents:
359
diff
changeset
|
908 " <meta http-equiv=\"Content-type\" content=\"text/html;charset=".$pageCharset."\">\n". |
232 | 909 " <title>".strip_tags($pageTitle)."</title>\n". |
910 $pageExtra; | |
174
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
911 |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
912 if (is_array($pageCSS)) |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
913 { |
180
a3f0f2a3551a
Split stylesheets into separate files for different platforms and also split
Matti Hamalainen <ccr@tnsp.org>
parents:
178
diff
changeset
|
914 foreach ($pageCSS as $uri => $media) |
a3f0f2a3551a
Split stylesheets into separate files for different platforms and also split
Matti Hamalainen <ccr@tnsp.org>
parents:
178
diff
changeset
|
915 cmPrintCSSLine($uri, $media); |
174
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
916 } |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
917 else |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
918 { |
574
463189fc05ed
Some changes from custom site system branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
571
diff
changeset
|
919 cmPrintCSSLine($pageCSS, FALSE); |
174
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
920 } |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
921 |
232 | 922 echo |
174
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
923 "</head>\n". |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
924 "<body>\n"; |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
925 |
574
463189fc05ed
Some changes from custom site system branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
571
diff
changeset
|
926 if (isset($pageUrchin) && file_exists($pageUrchin)) |
174
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
927 require_once $pageUrchin; |
574
463189fc05ed
Some changes from custom site system branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
571
diff
changeset
|
928 else |
463189fc05ed
Some changes from custom site system branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
571
diff
changeset
|
929 if (file_exists("urchin.inc.php")) |
463189fc05ed
Some changes from custom site system branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
571
diff
changeset
|
930 require_once "urchin.inc.php"; |
349
61c4dda0ec03
New message/confirmation boxes code done in JS + CSS instead of relying on
Matti Hamalainen <ccr@tnsp.org>
parents:
336
diff
changeset
|
931 |
61c4dda0ec03
New message/confirmation boxes code done in JS + CSS instead of relying on
Matti Hamalainen <ccr@tnsp.org>
parents:
336
diff
changeset
|
932 echo "<div id=\"messageBox\"></div>\n"; |
574
463189fc05ed
Some changes from custom site system branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
571
diff
changeset
|
933 |
174
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
934 if ($useContents) |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
935 echo "<div id=\"contents\">\n"; |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
936 } |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
937 |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
938 |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
939 function cmPrintPageFooter($useContents = TRUE) |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
940 { |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
941 if ($useContents) |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
942 echo "</div>\n"; |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
943 |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
944 echo "</body>\n</html>\n"; |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
945 } |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
946 |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
947 |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
948 function cmQM($msg) |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
949 { |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
950 global $pageTranslations, $pageLang; |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
951 |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
952 if (isset($pageTranslations[$msg]) && isset($pageTranslations[$msg][$pageLang])) |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
953 $str = $pageTranslations[$msg][$pageLang]; |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
954 else |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
955 $str = $msg; |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
956 |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
957 foreach (func_get_args() as $argn => $argv) |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
958 $str = preg_replace("/\%".$argn."/", $argv, $str); |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
959 return $str; |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
960 } |
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
173
diff
changeset
|
961 |
479
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
962 |
1069
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
963 function stCommonAJAX($backend, $failover) |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
964 { |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
965 ?> |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
966 function jsSendPOSTRequest(params, success, failure) |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
967 { |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
968 <?php |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
969 if (($csrfID = stGetSessionItem("csrfID", FALSE)) !== FALSE) |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
970 echo " params += \"&csrfID=".$csrfID."\";\n"; |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
971 else |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
972 echo "// No CSRF?\n"; |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
973 ?> |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
974 var req = jsCreateXMLRequest(); |
1071 | 975 req.open("POST", "<?php echo $backend ?>", true); |
1069
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
976 req.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
977 req.setRequestHeader("Content-length", params.length); |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
978 req.setRequestHeader("Connection", "close"); |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
979 |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
980 req.onreadystatechange = function() |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
981 { |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
982 if (req.readyState == 4) |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
983 { |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
984 switch (req.status) |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
985 { |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
986 case 404: |
1071 | 987 window.location = "<?php echo $failover ?>"; |
1069
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
988 break; |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
989 |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
990 case 902: |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
991 jsStatusMsg(req.statusText); |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
992 jsMessageBox(req.responseText); |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
993 break; |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
994 |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
995 case 903: |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
996 { |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
997 var nitem = document.getElementById("messageBox"); |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
998 if (nitem) |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
999 { |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1000 nitem.innerHTML = "<div class='messageBoxInner'>"+ req.responseText + |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1001 "<div class='messageBoxControls'>"+ |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1002 "</div></div>"; |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1003 nitem.style.display = "block"; |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1004 } |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1005 } |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1006 break; |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1007 |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1008 case 200: |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1009 if (success) |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1010 success(req.responseText); |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1011 jsStatusMsg(req.statusText); |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1012 break; |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1013 |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1014 default: |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1015 if (failure) |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1016 failure(req.status, req.statusText, req.responseText); |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1017 else |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1018 jsStatusMsg("["+req.status+" - "+req.statusText+"] "+ req.responseText); |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1019 break; |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1020 } |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1021 } |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1022 } |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1023 req.send(params); |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1024 } |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1025 |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1026 <?php |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1027 } |
5f92fa5e683a
Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents:
1027
diff
changeset
|
1028 |
479
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1029 // |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1030 // CLI related helper functions |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1031 // |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1032 |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1033 // Check if we are running from commandline or not |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1034 function stCheckCLIExec($fail = TRUE) |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1035 { |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1036 if (php_sapi_name() != "cli" || !empty($_SERVER["REMOTE_ADDR"])) |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1037 { |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1038 if ($fail) |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1039 { |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1040 header("Status: 404 Not Found"); |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1041 die(); |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1042 } |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1043 else |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1044 return TRUE; |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1045 } |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1046 else |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1047 return FALSE; |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1048 } |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1049 |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1050 |
1006
cb23b23a2d8b
Improve commandline parsing, fix some potential bug situations.
Matti Hamalainen <ccr@tnsp.org>
parents:
1003
diff
changeset
|
1051 function stCArg($index, $clip = FALSE) |
479
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1052 { |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1053 global $argc, $argv; |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1054 if ($index < $argc) |
1006
cb23b23a2d8b
Improve commandline parsing, fix some potential bug situations.
Matti Hamalainen <ccr@tnsp.org>
parents:
1003
diff
changeset
|
1055 { |
cb23b23a2d8b
Improve commandline parsing, fix some potential bug situations.
Matti Hamalainen <ccr@tnsp.org>
parents:
1003
diff
changeset
|
1056 $str = $argv[$index]; |
cb23b23a2d8b
Improve commandline parsing, fix some potential bug situations.
Matti Hamalainen <ccr@tnsp.org>
parents:
1003
diff
changeset
|
1057 return ($clip !== FALSE) ? substr($str, 0, $clip) : $str; |
cb23b23a2d8b
Improve commandline parsing, fix some potential bug situations.
Matti Hamalainen <ccr@tnsp.org>
parents:
1003
diff
changeset
|
1058 } |
479
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1059 else |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1060 return FALSE; |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1061 } |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1062 |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1063 |
1006
cb23b23a2d8b
Improve commandline parsing, fix some potential bug situations.
Matti Hamalainen <ccr@tnsp.org>
parents:
1003
diff
changeset
|
1064 function stCArgLC($index, $clip = FALSE) |
479
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1065 { |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1066 global $argc, $argv; |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1067 if ($index < $argc) |
1006
cb23b23a2d8b
Improve commandline parsing, fix some potential bug situations.
Matti Hamalainen <ccr@tnsp.org>
parents:
1003
diff
changeset
|
1068 { |
cb23b23a2d8b
Improve commandline parsing, fix some potential bug situations.
Matti Hamalainen <ccr@tnsp.org>
parents:
1003
diff
changeset
|
1069 $str = strtolower($argv[$index]); |
cb23b23a2d8b
Improve commandline parsing, fix some potential bug situations.
Matti Hamalainen <ccr@tnsp.org>
parents:
1003
diff
changeset
|
1070 return ($clip !== FALSE) ? substr($str, 0, $clip) : $str; |
cb23b23a2d8b
Improve commandline parsing, fix some potential bug situations.
Matti Hamalainen <ccr@tnsp.org>
parents:
1003
diff
changeset
|
1071 } |
479
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1072 else |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1073 return FALSE; |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1074 } |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1075 |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1076 |
1027
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1077 function stYesNoPrompt($msg, $default = FALSE) |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1078 { |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1079 echo $msg." [".($default ? "Y/n" : "y/N")."]? "; |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1080 $sprompt = strtolower(trim(fgets(STDIN))); |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1081 |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1082 if ($default) |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1083 return ($sprompt == "n"); |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1084 else |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1085 return ($sprompt == "y"); |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1086 } |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1087 |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1088 |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1089 function stInputPrompt($msg, $default = FALSE, $validate = null) |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1090 { |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1091 $valid = FALSE; |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1092 while (!$valid) |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1093 { |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1094 echo $msg."\n".($default !== FALSE ? "[".$default."]" : "")."> "; |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1095 $sprompt = trim(fgets(STDIN)); |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1096 |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1097 if ($sprompt == "") |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1098 $sprompt = ($default !== FALSE ? $default : ""); |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1099 |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1100 $valid = !is_callable($validate) || call_user_func($validate, $sprompt); |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1101 } |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1102 return $sprompt; |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1103 } |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1104 |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1105 |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1106 function stValidateNotEmpty($val) |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1107 { |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1108 if ($val == "") |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1109 { |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1110 echo "The value can't be empty.\n"; |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1111 return FALSE; |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1112 } |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1113 else |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1114 return TRUE; |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1115 } |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1116 |
0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
Matti Hamalainen <ccr@tnsp.org>
parents:
1017
diff
changeset
|
1117 |
502
d2a38070e18f
Partially refactor database upgrading .. not finished yet, and the
Matti Hamalainen <ccr@tnsp.org>
parents:
501
diff
changeset
|
1118 function stGetDBMeta($dbh, $name) |
479
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1119 { |
502
d2a38070e18f
Partially refactor database upgrading .. not finished yet, and the
Matti Hamalainen <ccr@tnsp.org>
parents:
501
diff
changeset
|
1120 if (($item = stDBFetchSQL($dbh, "SELECT * FROM dbmeta WHERE key=".$dbh->quote($name))) === FALSE) |
479
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1121 return FALSE; |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1122 |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1123 return stGetSQLSettingData($item); |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1124 } |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1125 |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1126 |
502
d2a38070e18f
Partially refactor database upgrading .. not finished yet, and the
Matti Hamalainen <ccr@tnsp.org>
parents:
501
diff
changeset
|
1127 function stSetDBMeta($dbh, $name, $value) |
479
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1128 { |
502
d2a38070e18f
Partially refactor database upgrading .. not finished yet, and the
Matti Hamalainen <ccr@tnsp.org>
parents:
501
diff
changeset
|
1129 if (($item = stDBFetchSQL($dbh, "SELECT * FROM dbmeta WHERE key=".$dbh->quote($name))) === FALSE) |
479
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1130 return FALSE; |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1131 |
502
d2a38070e18f
Partially refactor database upgrading .. not finished yet, and the
Matti Hamalainen <ccr@tnsp.org>
parents:
501
diff
changeset
|
1132 $sql = "UPDATE dbmeta SET ".stGetSettingSQL($item, $value)." WHERE key=".$dbh->quote($name); |
d2a38070e18f
Partially refactor database upgrading .. not finished yet, and the
Matti Hamalainen <ccr@tnsp.org>
parents:
501
diff
changeset
|
1133 return stDBExecSQL($dbh, $sql); |
479
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1134 } |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1135 |
86ee2b42a995
Move CLI helper functions to msitegen, again.
Matti Hamalainen <ccr@tnsp.org>
parents:
436
diff
changeset
|
1136 |
561
6b4cbd590d35
More locale initialization refactoring.
Matti Hamalainen <ccr@tnsp.org>
parents:
560
diff
changeset
|
1137 // |
6b4cbd590d35
More locale initialization refactoring.
Matti Hamalainen <ccr@tnsp.org>
parents:
560
diff
changeset
|
1138 // Global locale initialization |
6b4cbd590d35
More locale initialization refactoring.
Matti Hamalainen <ccr@tnsp.org>
parents:
560
diff
changeset
|
1139 // |
562 | 1140 if (!isset($localeInited) || !$localeInited) |
1141 { | |
1142 $localeInited = TRUE; | |
574
463189fc05ed
Some changes from custom site system branch.
Matti Hamalainen <ccr@tnsp.org>
parents:
571
diff
changeset
|
1143 $pageCharset = "UTF-8"; |
561
6b4cbd590d35
More locale initialization refactoring.
Matti Hamalainen <ccr@tnsp.org>
parents:
560
diff
changeset
|
1144 |
562 | 1145 mb_internal_encoding($pageCharset); |
561
6b4cbd590d35
More locale initialization refactoring.
Matti Hamalainen <ccr@tnsp.org>
parents:
560
diff
changeset
|
1146 |
562 | 1147 $tmp = "en_US.".strtolower(str_replace("-", "", $pageCharset)); |
1148 setlocale(LC_ALL, $tmp); | |
1149 } | |
0 | 1150 ?> |