Mercurial > hg > fapweb
annotate ajax.php @ 53:71256605546b
More work on admin interface.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sat, 05 Oct 2013 08:43:39 +0300 |
parents | cba0b944da79 |
children | 4fac95384753 |
rev | line source |
---|---|
0 | 1 <? |
32 | 2 $sessionType = "admin"; |
0 | 3 require "mconfig.inc.php"; |
4 require "msite.inc.php"; | |
33 | 5 require "msession.inc.php"; |
0 | 6 |
7 // Check if we are allowed to execute | |
5
76c3b89d7b11
Improve voting, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
3
diff
changeset
|
8 if (!stCheckHTTPS() || !stAdmSessionAuth()) |
0 | 9 { |
10 header("Status: 404 Not Found"); | |
11 exit; | |
12 } | |
13 | |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
14 stSetupCacheControl(); |
0 | 15 |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
16 // Initiate SQL database connection |
0 | 17 if (!stConnectSQLDB()) |
18 die("Could not connect to SQL database."); | |
19 | |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
20 // Fetch non-"hardcoded" settings from SQL database |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
21 stReloadSettings(); |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
22 |
0 | 23 |
16 | 24 function saveButton() |
25 { | |
26 return "<input type=\"submit\" value=\" Save \" />\n"; | |
27 } | |
28 | |
29 | |
0 | 30 function setStatus($val, $msg) |
31 { | |
32 global $statusSet; | |
33 if (!$statusSet) | |
34 { | |
35 header("Status: ".$val." ".$msg); | |
36 } | |
37 $statusSet = TRUE; | |
38 } | |
39 | |
40 | |
41 function execSQLCond($sql, $okmsg) | |
42 { | |
43 if (($res = stExecSQL($sql)) !== FALSE) | |
44 { | |
45 if ($okmsg != "") | |
46 setStatus(200, $okmsg); | |
47 return $res; | |
48 } | |
49 else | |
50 { | |
51 setStatus(900, "Error in SQL execution."); | |
52 return FALSE; | |
53 } | |
54 } | |
55 | |
56 | |
57 // XMLHttp responses | |
58 $action = "ERROR"; | |
59 if (stChkRequestItem("action") && stChkRequestItem("type")) | |
60 { | |
61 $action = $_REQUEST["action"]; | |
62 $type = $_REQUEST["type"]; | |
63 } | |
64 | |
65 | |
66 switch ($action) | |
67 { | |
68 case "dump": | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
69 // |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
70 // Perform generic data dump |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
71 // |
0 | 72 if (($res = execSQLCond( |
73 "SELECT * FROM attendees WHERE email NOT NULL AND email != '' ORDER BY regtime DESC", | |
74 "Dump OK.")) !== FALSE) | |
75 { | |
76 $out1 = array(); | |
77 $out2 = array(); | |
78 | |
79 foreach ($res as $item) | |
80 { | |
81 $out1[] = $item["name"]." <".$item["email"].">"; | |
82 $out2[] = $item["email"]; | |
83 } | |
84 | |
85 echo "<br /><hr />". | |
86 implode(", ", $out1)."<br /><hr /><br />". | |
87 implode("<br />", $out1)."<br /><hr /><br />". | |
88 implode(", ", $out2)."<br /><hr /><br />". | |
89 implode("<br />", $out2)."<br /><hr />"; | |
90 | |
91 } | |
92 break; | |
93 | |
94 case "get": | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
95 // |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
96 // Get specific data |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
97 // |
0 | 98 switch ($type) |
99 { | |
100 case "news": | |
101 $sql = "SELECT * FROM news ORDER BY utime DESC"; | |
102 break; | |
103 | |
104 case "attendees": | |
105 $sql = "SELECT * FROM attendees ORDER BY regtime DESC"; | |
106 break; | |
107 | |
108 case "compos": | |
109 $sql = "SELECT * FROM compos ORDER BY id DESC"; | |
110 break; | |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
111 |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
112 case "settings": |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
113 $prefix = "st"; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
114 |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
115 echo |
16 | 116 "<h1>Site settings</h1>\n". |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
117 "<table>\n"; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
118 foreach (stExecSQL("SELECT * FROM settings WHERE vtype<>".VT_TEXT) as $item) |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
119 { |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
120 echo |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
121 " <tr>\n". |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
122 " <td>"; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
123 $id = $item["key"]; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
124 switch ($item["vtype"]) |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
125 { |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
126 case VT_INT: |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
127 echo stGetFormTextInput(10, 10, "", $id, $prefix, $item["vint"]); |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
128 break; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
129 case VT_STR: |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
130 echo stGetFormTextInput(40, 128, "", $id, $prefix, $item["vstr"]); |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
131 break; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
132 case VT_BOOL: |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
133 echo stGetFormCheckBoxInput("", $id, $prefix, $item["vint"], ""); |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
134 break; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
135 } |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
136 echo "</td>\n". |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
137 " <td>".$item["desc"]."</td>\n". |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
138 " </tr>\n"; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
139 } |
16 | 140 echo "</table>\n".saveButton(); |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
141 |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
142 foreach (stExecSQL("SELECT * FROM settings WHERE vtype=".VT_TEXT) as $item) |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
143 { |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
144 echo "<h2>".chentities($item["desc"])."</h2>\n". |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
145 stGetFormTextArea(10, 60, "", $item["key"], $prefix, $item["vtext"]). |
16 | 146 "\n<br />\n".saveButton(); |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
147 } |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
148 break; |
0 | 149 |
150 case "entries": | |
24
5bc8bd5c7ecc
Make voting toggle for individual compos.
Matti Hamalainen <ccr@tnsp.org>
parents:
20
diff
changeset
|
151 stGetCompoList(FALSE, FALSE); |
0 | 152 |
153 foreach ($compos as $id => $compo) | |
154 { | |
155 echo | |
156 "<form>\n". | |
157 " <table class=\"misc\">\n". | |
158 " <tr>\n". | |
30
ad25827304b6
Adding entries is now done via the regular entry submission system .. which
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
159 " <th colspan=\"3\">#".$id." - ".chentities($compo["name"])."</th>\n". |
0 | 160 " </tr>\n". |
161 " <tr>\n". | |
30
ad25827304b6
Adding entries is now done via the regular entry submission system .. which
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
162 " <th style=\"width:1%;\">Compo</th>\n". |
0 | 163 " <th>Title</th>\n". |
29 | 164 " <th>Author(s)</th>\n". |
0 | 165 " <th>Actions</th>\n". |
166 " </tr>\n"; | |
167 | |
168 $prefix = "en"; | |
169 foreach ($compo["entries"] as $eid => $entry) | |
170 { | |
171 echo | |
172 " <tr id=\"entry".$eid."\">\n". | |
30
ad25827304b6
Adding entries is now done via the regular entry submission system .. which
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
173 " <td>".stGetFormTextInput(5, 5, "compo_id", $eid, "en", $id)."</td>\n". |
29 | 174 " <td>".stGetFormTextInput(35, 64, "name", $eid, "en", $entry["name"])."</td>\n". |
175 " <td>".stGetFormTextInput(30, 64, "author", $eid, "en", $entry["author"])."</td>\n". | |
0 | 176 " <td>". |
177 stGetFormButtonInput("update", $eid, $prefix, " Update ", "updateEntry(".$eid.")"). | |
178 stGetFormButtonInput("delete", $eid, $prefix, " Delete ", "deleteEntry(".$eid.")"). | |
179 "</td>\n". | |
180 " </tr>\n"; | |
181 } | |
182 echo | |
183 " </table>\n". | |
184 "</form>\n"; | |
185 } | |
186 break; | |
187 } | |
188 | |
189 if (isset($sql) && ($res = execSQLCond($sql, "")) !== FALSE) | |
190 { | |
191 if ($type == "news") | |
192 { | |
193 foreach ($res as $item) | |
194 { | |
195 $id = $item["id"]; | |
196 stPrintNewsItem($item, | |
197 "<br />". | |
198 " <button class=\"button\" id=\"ndel".$id. | |
199 "\" type=\"button\" onclick=\"deleteNews(".$id. | |
200 ")\">Delete</button>\n" | |
201 ); | |
202 } | |
203 } | |
204 else | |
205 if ($type == "attendees") | |
206 { | |
207 echo | |
208 "<table class=\"attendees\">\n". | |
209 " <tr>\n". | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
210 " <th class=\"rname\">Name</th>\n". |
0 | 211 " <th class=\"oneliner\">Oneliner</th>\n". |
212 " <th class=\"email\">E-mail</th>\n". | |
213 " <th>Actions</th>\n". | |
52
cba0b944da79
Start combining "users" with "attendees".
Matti Hamalainen <ccr@tnsp.org>
parents:
33
diff
changeset
|
214 " <th class=\"vkey\">User key</th>\n". |
cba0b944da79
Start combining "users" with "attendees".
Matti Hamalainen <ccr@tnsp.org>
parents:
33
diff
changeset
|
215 " <th class=\"vactive\">Active</th>\n". |
0 | 216 " </tr>\n"; |
217 $row = 0; | |
218 foreach ($res as $item) | |
219 stPrintAttendee($item, $row++, TRUE); | |
220 echo "</table>\n"; | |
221 } | |
222 else | |
223 if ($type == "compos") | |
224 { | |
225 foreach ($res as $item) | |
226 { | |
227 $id = $item["id"]; | |
228 $prefix = "co"; | |
229 echo | |
230 "<div id=\"compo".$id."\">\n". | |
231 "<h2>#".$id." - ".chentities($item["name"])."</h2>\n". | |
232 stGetFormTextInput(40, 64, "name", $id, $prefix, $item["name"])."\n". | |
24
5bc8bd5c7ecc
Make voting toggle for individual compos.
Matti Hamalainen <ccr@tnsp.org>
parents:
20
diff
changeset
|
233 stGetFormCheckBoxInput("visible", $id, $prefix, $item["visible"], "Visible")."\n". |
5bc8bd5c7ecc
Make voting toggle for individual compos.
Matti Hamalainen <ccr@tnsp.org>
parents:
20
diff
changeset
|
234 stGetFormCheckBoxInput("voting", $id, $prefix, $item["voting"], "Enable voting")."<br />\n". |
0 | 235 stGetFormTextArea(5, 60, "description", $id, $prefix, $item["description"])."\n<br />\n". |
236 stGetFormButtonInput("update", $id, $prefix, " Update ", "updateCompo(".$id.")")."\n". | |
237 "</div>\n". | |
238 "<hr />\n"; | |
239 } | |
240 } | |
241 } | |
242 break; | |
243 | |
244 case "delete": | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
245 // |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
246 // Delete entry |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
247 // |
0 | 248 if (stChkRequestItem("id")) |
249 { | |
250 $id = intval(stGetRequestItem("id")); | |
251 | |
252 if ($type == "news") | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
253 { |
0 | 254 $sql = stPrepareSQL("DELETE FROM news WHERE id=%d AND persist=0", $id); |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
255 execSQLCond($sql, "OK, news item ".$id." deleted."); |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
256 } |
0 | 257 else |
258 if ($type == "attendees") | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
259 { |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
260 // Attendees require some more work |
0 | 261 $sql = stPrepareSQL("DELETE FROM attendees WHERE id=%d", $id); |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
262 execSQLCond($sql, "OK, attendee ".$id." deleted."); |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
263 |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
264 $sql = stPrepareSQL("DELETE FROM votes WHERE voter_id=%d", $id); |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
265 execSQLCond($sql, "OK, attendee ".$id." votes deleted."); |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
266 } |
0 | 267 else |
268 if ($type == "entries") | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
269 { |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
270 // .. as do compo entries |
0 | 271 $sql = stPrepareSQL("DELETE FROM entries WHERE id=%d", $id); |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
272 execSQLCond($sql, "OK, entry ".$id." deleted."); |
0 | 273 |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
274 $sql = stPrepareSQL("DELETE FROM votes WHERE entry_id=%d", $id); |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
275 execSQLCond($sql, "OK, entry ".$id." votes deleted."); |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
276 } |
0 | 277 } |
278 else | |
279 setStatus(901, "No ID specified."); | |
280 break; | |
281 | |
282 case "add": | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
283 // |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
284 // Add new entry |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
285 // |
26
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
286 if ($type == "news" && stChkRequestItem("text") && |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
287 stChkRequestItem("author") && stChkRequestItem("title")) |
0 | 288 { |
289 $sql = stPrepareSQL( | |
290 "INSERT INTO news (utime,title,text,author) VALUES (%d,%S,%Q,%S)", | |
291 time(), "title", "text", "author"); | |
292 | |
293 execSQLCond($sql, "OK, news item added."); | |
294 } | |
295 else | |
26
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
296 if ($type == "compo" && stChkRequestItem("name") && |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
297 stChkRequestItem("description")) |
0 | 298 { |
299 $sql = stPrepareSQL( | |
26
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
300 "INSERT INTO compos (name,description,visible,voting) VALUES (%S,%Q,0,0)", |
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
301 "name", "description"); |
0 | 302 |
303 execSQLCond($sql, "OK, compo added."); | |
304 } | |
305 else | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
306 if ($type == "attendees" && stChkRequestItem("name") && |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
307 stChkRequestItem("groups") && stChkRequestItem("email") && |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
308 stChkRequestItem("oneliner")) |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
309 { |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
310 $sql = stPrepareSQL( |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
311 "INSERT INTO attendees (regtime,name,groups,oneliner,email) VALUES (%d,%S,%S,%S,%S)", |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
312 time(), "name", "groups", "oneliner", "email"); |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
313 |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
314 execSQLCond($sql, "OK, attendee added."); |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
315 } |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
316 else |
0 | 317 setStatus(902, "No data."); |
318 break; | |
319 | |
320 case "update": | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
321 // |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
322 // Update existing entry |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
323 // |
0 | 324 if ($type == "attendees" && stChkRequestItem("id") && |
52
cba0b944da79
Start combining "users" with "attendees".
Matti Hamalainen <ccr@tnsp.org>
parents:
33
diff
changeset
|
325 stChkRequestItem("email") && stChkRequestItem("oneliner") && |
cba0b944da79
Start combining "users" with "attendees".
Matti Hamalainen <ccr@tnsp.org>
parents:
33
diff
changeset
|
326 stChkRequestItem("active")) |
0 | 327 { |
328 $sql = stPrepareSQLUpdate("attendees", | |
329 "WHERE id=".intval(stGetRequestItem("id")), | |
330 array( | |
331 "email" => "S", | |
332 "oneliner" => "S", | |
52
cba0b944da79
Start combining "users" with "attendees".
Matti Hamalainen <ccr@tnsp.org>
parents:
33
diff
changeset
|
333 "active" => "B", |
0 | 334 )); |
335 | |
336 execSQLCond($sql, "OK, attendee updated."); | |
337 } | |
338 else | |
339 if ($type == "news" && stChkRequestItem("id") && | |
340 stChkRequestItem("text") && stChkRequestItem("author") && | |
341 stChkRequestItem("title")) | |
342 { | |
343 $sql = stPrepareSQLUpdate("news", | |
344 "WHERE id=".intval(stGetRequestItem("id")), | |
345 array( | |
346 "title" => "S", | |
347 "text" => "Q", | |
348 "author" => "S" | |
349 )); | |
350 | |
351 execSQLCond($sql, "OK, news item updated."); | |
352 } | |
353 else | |
354 if ($type == "compo" && stChkRequestItem("id") && | |
355 stChkRequestItem("name") && stChkRequestItem("description") && | |
24
5bc8bd5c7ecc
Make voting toggle for individual compos.
Matti Hamalainen <ccr@tnsp.org>
parents:
20
diff
changeset
|
356 stChkRequestItem("visible") && stChkRequestItem("voting")) |
0 | 357 { |
358 $sql = stPrepareSQLUpdate("compos", | |
359 "WHERE id=".intval(stGetRequestItem("id")), | |
360 array( | |
361 "name" => "S", | |
362 "description" => "Q", | |
24
5bc8bd5c7ecc
Make voting toggle for individual compos.
Matti Hamalainen <ccr@tnsp.org>
parents:
20
diff
changeset
|
363 "visible" => "B", |
5bc8bd5c7ecc
Make voting toggle for individual compos.
Matti Hamalainen <ccr@tnsp.org>
parents:
20
diff
changeset
|
364 "voting" => "B", |
0 | 365 )); |
366 | |
367 execSQLCond($sql, "OK, compo updated."); | |
368 } | |
369 else | |
370 if ($type == "entry" && stChkRequestItem("id") && | |
30
ad25827304b6
Adding entries is now done via the regular entry submission system .. which
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
371 stChkRequestItem("name") && stChkRequestItem("author") && |
ad25827304b6
Adding entries is now done via the regular entry submission system .. which
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
372 stChkRequestItem("compo_id")) |
0 | 373 { |
374 $sql = stPrepareSQLUpdate("entries", | |
30
ad25827304b6
Adding entries is now done via the regular entry submission system .. which
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
375 "WHERE id=".intval(stGetRequestItem("id")). |
0 | 376 array( |
377 "name" => "S", | |
378 "author" => "S", | |
30
ad25827304b6
Adding entries is now done via the regular entry submission system .. which
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
379 "compo_id" => "D", |
0 | 380 )); |
381 | |
20 | 382 execSQLCond($sql, "OK, entry updated."); |
0 | 383 } |
384 else | |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
385 if ($type == "settings") |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
386 { |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
387 foreach (stExecSQL("SELECT * FROM settings") as $item) |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
388 if (stChkRequestItem($item["key"])) |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
389 { |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
390 $val = stGetRequestItem($item["key"]); |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
391 switch ($item["vtype"]) |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
392 { |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
393 case VT_INT: $vsql = stPrepareSQL("vint=%d", $val); break; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
394 case VT_BOOL: $vsql = stPrepareSQL("vint=%d", $val ? 1 : 0); break; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
395 case VT_STR: $vsql = stPrepareSQL("vstr=%s", $val); break; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
396 case VT_TEXT: $vsql = stPrepareSQL("vtext=%s", $val); break; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
397 } |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
398 |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
399 $sql = "UPDATE settings SET ".$vsql." WHERE key=".$db->quote($item["key"]); |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
400 execSQLCond($sql, "OK, setting updated."); |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
401 } |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
402 } |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
403 else |
0 | 404 setStatus(902, "No data."); |
405 break; | |
406 | |
407 default: | |
408 setStatus(404, "Not Found"); | |
409 break; | |
410 } | |
411 | |
412 ?> |