Mercurial > hg > fapweb
annotate admajax.php @ 270:589b44acb74a
More work on votekey admin.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 24 Nov 2013 16:53:48 +0200 |
parents | 46138f8478e5 |
children | cd3283333ec1 |
rev | line source |
---|---|
0 | 1 <? |
56 | 2 // |
136
aeebfedb5709
Add some copyright headers.
Matti Hamalainen <ccr@tnsp.org>
parents:
133
diff
changeset
|
3 // FAPWeb Simple Demoparty System |
aeebfedb5709
Add some copyright headers.
Matti Hamalainen <ccr@tnsp.org>
parents:
133
diff
changeset
|
4 // Party administration page AJAX backend module |
aeebfedb5709
Add some copyright headers.
Matti Hamalainen <ccr@tnsp.org>
parents:
133
diff
changeset
|
5 // (C) Copyright 2012-2013 Tecnic Software productions (TNSP) |
56 | 6 // |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
7 $sessionType = "admin"; |
175
8df523e6326a
User require_once instead of require.
Matti Hamalainen <ccr@tnsp.org>
parents:
169
diff
changeset
|
8 require_once "mconfig.inc.php"; |
8df523e6326a
User require_once instead of require.
Matti Hamalainen <ccr@tnsp.org>
parents:
169
diff
changeset
|
9 require_once "msite.inc.php"; |
8df523e6326a
User require_once instead of require.
Matti Hamalainen <ccr@tnsp.org>
parents:
169
diff
changeset
|
10 require_once "msession.inc.php"; |
0 | 11 |
214 | 12 |
228 | 13 function stValidateRequestCompoData($full) |
214 | 14 { |
15 if (!stChkRequestItem("name", $fake, | |
16 array(CHK_ISGT, VT_STR, 0, "Compo name too short"), | |
261
b9a40d930bb6
Use CHK_LTEQ instead of CHK_ISLT.
Matti Hamalainen <ccr@tnsp.org>
parents:
259
diff
changeset
|
17 array(CHK_LTEQ, VT_STR, SET_LEN_COMPO_NAME, "Compo name too long.")) || |
214 | 18 !stChkRequestItem("description", $fake, |
19 array(CHK_ISGT, VT_STR, 10, "Compo description too short"), | |
261
b9a40d930bb6
Use CHK_LTEQ instead of CHK_ISLT.
Matti Hamalainen <ccr@tnsp.org>
parents:
259
diff
changeset
|
20 array(CHK_LTEQ, VT_STR, SET_LEN_COMPO_DESC, "Compo description too long."))) |
214 | 21 return FALSE; |
22 | |
23 if (!$full) | |
24 return TRUE; | |
25 | |
26 return | |
27 stChkRequestItem("visible", $fake, | |
28 array(CHK_TYPE, VT_BOOL, "Invalid data.") | |
29 ) && | |
30 stChkRequestItem("voting", $fake, | |
31 array(CHK_TYPE, VT_BOOL, "Invalid data.") | |
32 ) && | |
33 stChkRequestItem("showAuthors", $fake, | |
34 array(CHK_TYPE, VT_BOOL, "Invalid data.") | |
35 ); | |
36 } | |
37 | |
38 | |
228 | 39 function stValidateRequestEntryData(&$compo_id) |
214 | 40 { |
41 return | |
42 stChkRequestItem("name", $fake, | |
43 array(CHK_ISGT, VT_STR, 0, "Entry name too short."), | |
261
b9a40d930bb6
Use CHK_LTEQ instead of CHK_ISLT.
Matti Hamalainen <ccr@tnsp.org>
parents:
259
diff
changeset
|
44 array(CHK_LTEQ, VT_STR, SET_LEN_ENTRY_NAME, "Entry name too long.") |
214 | 45 ) && |
46 stChkRequestItem("author", $fake, | |
47 array(CHK_ISGT, VT_STR, 0, "Author name not set."), | |
261
b9a40d930bb6
Use CHK_LTEQ instead of CHK_ISLT.
Matti Hamalainen <ccr@tnsp.org>
parents:
259
diff
changeset
|
48 array(CHK_LTEQ, VT_STR, SET_LEN_ENTRY_AUTHOR, "Entry author too long.") |
214 | 49 ) && |
50 stChkRequestItem("filename", $fake, | |
51 array(CHK_TYPE, VT_TEXT, "Invalid data."), | |
261
b9a40d930bb6
Use CHK_LTEQ instead of CHK_ISLT.
Matti Hamalainen <ccr@tnsp.org>
parents:
259
diff
changeset
|
52 array(CHK_LTEQ, VT_STR, SET_LEN_ENTRY_FILENAME, "Entry filename too long.") |
214 | 53 ) && |
54 stChkRequestItem("info", $fake, | |
55 array(CHK_TYPE, VT_TEXT, "Invalid data."), | |
261
b9a40d930bb6
Use CHK_LTEQ instead of CHK_ISLT.
Matti Hamalainen <ccr@tnsp.org>
parents:
259
diff
changeset
|
56 array(CHK_LTEQ, VT_STR, SET_LEN_ENTRY_INFO, "Entry info too long.") |
214 | 57 ) && |
58 stChkRequestItem("compo_id", $compo_id, | |
59 array(CHK_TYPE, VT_INT, "Invalid compo ID.") | |
60 ); | |
61 } | |
62 | |
63 | |
228 | 64 function stValidateRequestNewsData() |
214 | 65 { |
66 return | |
67 stChkRequestItem("text", $fake, | |
68 array(CHK_ISGT, VT_STR, 0, "News text too short."), | |
261
b9a40d930bb6
Use CHK_LTEQ instead of CHK_ISLT.
Matti Hamalainen <ccr@tnsp.org>
parents:
259
diff
changeset
|
69 array(CHK_LTEQ, VT_STR, SET_LEN_NEWS_TEXT, "News text too long.") |
214 | 70 ) && |
71 stChkRequestItem("author", $fake, | |
72 array(CHK_ISGT, VT_STR, 0, "News author name too short."), | |
261
b9a40d930bb6
Use CHK_LTEQ instead of CHK_ISLT.
Matti Hamalainen <ccr@tnsp.org>
parents:
259
diff
changeset
|
73 array(CHK_LTEQ, VT_STR, SET_LEN_NEWS_AUTHOR, "News author name too long.") |
214 | 74 ) && |
75 stChkRequestItem("title", $fake, | |
76 array(CHK_ISGT, VT_STR, 0, "News title too short."), | |
261
b9a40d930bb6
Use CHK_LTEQ instead of CHK_ISLT.
Matti Hamalainen <ccr@tnsp.org>
parents:
259
diff
changeset
|
77 array(CHK_LTEQ, VT_STR, SET_LEN_NEWS_TITLE, "News title too long.") |
214 | 78 ); |
79 } | |
80 | |
81 | |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
82 function stGetCompoData($id, $item, $prefix) |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
83 { |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
84 return |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
85 " <h2>#".$id." - ".chentities($item["name"])."</h2>\n". |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
86 " ".stGetFormTextInput(40, SET_LEN_COMPO_NAME, "name", $id, $prefix, $item["name"])."\n". |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
87 " ".stGetFormCheckBoxInput("visible", $id, $prefix, $item["visible"], "Visible")."\n". |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
88 " ".stGetFormCheckBoxInput("showAuthors", $id, $prefix, $item["showAuthors"], "Show authors")."\n". |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
89 " ".stGetFormCheckBoxInput("voting", $id, $prefix, $item["voting"], "Enable voting")."<br />\n". |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
90 " ".stGetFormTextArea(5, 60, "description", $id, $prefix, $item["description"])."\n<br />\n". |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
91 " ".stGetFormButtonInput("update", $id, $prefix, "Update", "updateCompo(".$id.")")."\n"; |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
92 } |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
93 |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
94 |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
95 function stGetNewsItemData($id, $item, $prefix) |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
96 { |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
97 return |
227
44081a2066f5
Cosmetic improvements in news editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
223
diff
changeset
|
98 " <h2>".chentities($item["title"])."</h2>\n". |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
99 " ".stGetFormTextInput(40, SET_LEN_NEWS_TITLE, "title", $id, $prefix, $item["title"]). |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
100 " - posted ".date("d M Y / H:i", $item["utime"])."<br />\n". |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
101 " ".stGetFormTextArea(5, 60, "text", $id, $prefix, $item["text"])."<br />\n". |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
102 " ".stGetFormTextInput(20, SET_LEN_NEWS_AUTHOR, "author", $id, $prefix, $item["author"])."\n". |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
103 " ".stGetFormButtonInput("", "upd".$id, $prefix, "Update", "updateNews(".$id.")")."\n". |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
104 " ".stGetFormButtonInput("", "del".$id, $prefix, "Delete", "deleteNews(".$id.")")."\n"; |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
105 } |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
106 |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
107 |
257
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
108 function stGetEntryItemData($eid, $item, $prefix) |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
109 { |
259 | 110 return |
257
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
111 " <td>".($item["show_id"] > 0 ? $item["show_id"] : "-")."</td>\n". |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
112 " <td>".stGetFormTextInput(20, SET_LEN_ENTRY_NAME, "name", $eid, $prefix, $item["name"])."</td>\n". |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
113 " <td>".stGetFormTextInput(15, SET_LEN_ENTRY_AUTHOR, "author", $eid, $prefix, $item["author"])."</td>\n". |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
114 " <td>".stGetFormTextInput(20, SET_LEN_ENTRY_FILENAME, "filename", $eid, $prefix, $item["filename"])."</td>\n". |
266
c535c5a8a36d
Use HTML textarea entry for compoentry information field.
Matti Hamalainen <ccr@tnsp.org>
parents:
265
diff
changeset
|
115 // " <td>".stGetFormTextInput(20, SET_LEN_ENTRY_INFO, "info", $eid, $prefix, $item["info"])."</td>\n". |
c535c5a8a36d
Use HTML textarea entry for compoentry information field.
Matti Hamalainen <ccr@tnsp.org>
parents:
265
diff
changeset
|
116 " <td>".stGetFormTextArea(2, 30, "info", $eid, $prefix, $item["info"])."</td>\n". |
257
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
117 " <td>". |
258 | 118 stGetFormButtonInput("delete", $eid, $prefix, "Del", "deleteEntry(".$item["compo_id"].",".$eid.")"). |
257
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
119 stGetFormTextInput(3, 3, "compo_id", $eid, $prefix, $item["compo_id"]). |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
120 stGetFormButtonInput("update", $eid, $prefix, "Upd", "updateEntry(".$eid.")"). |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
121 "</td>\n"; |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
122 } |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
123 |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
124 |
214 | 125 function stGetSaveButton() |
126 { | |
127 return "<input type=\"submit\" value=\" Save \" />\n"; | |
128 } | |
129 | |
130 | |
131 // | |
0 | 132 // Check if we are allowed to execute |
214 | 133 // |
5
76c3b89d7b11
Improve voting, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
3
diff
changeset
|
134 if (!stCheckHTTPS() || !stAdmSessionAuth()) |
0 | 135 { |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
136 stSetupCacheControl(); |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
137 |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
138 stSessionEnd(SESS_ADMIN); |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
139 |
123
5837b9333964
Add new "about" page, and setting for default page.
Matti Hamalainen <ccr@tnsp.org>
parents:
116
diff
changeset
|
140 header("Location: ".stGetSetting("defaultPage")); |
0 | 141 exit; |
142 } | |
143 | |
214 | 144 |
145 // | |
146 // Initialize | |
147 // | |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
148 stSetupCacheControl(); |
0 | 149 |
150 if (!stConnectSQLDB()) | |
151 die("Could not connect to SQL database."); | |
152 | |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
153 stReloadSettings(); |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
154 |
0 | 155 |
208
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
207
diff
changeset
|
156 $type = stGetRequestItem("type", ""); |
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
207
diff
changeset
|
157 switch (stGetRequestItem("action", "")) |
0 | 158 { |
159 case "dump": | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
160 // |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
161 // Perform generic data dump |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
162 // |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
163 if (($res = stExecSQLCond( |
208
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
207
diff
changeset
|
164 "SELECT * FROM attendees WHERE email NOT NULL AND email != '' ORDER BY regtime DESC")) !== FALSE) |
0 | 165 { |
208
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
207
diff
changeset
|
166 stSetStatus(200, "Dump OK."); |
0 | 167 $out1 = array(); |
168 $out2 = array(); | |
169 | |
170 foreach ($res as $item) | |
171 { | |
133 | 172 $out1[] = chentities($item["name"])." <".chentities($item["email"]).">"; |
173 $out2[] = chentities($item["email"]); | |
0 | 174 } |
175 | |
176 echo "<br /><hr />". | |
177 implode(", ", $out1)."<br /><hr /><br />". | |
178 implode("<br />", $out1)."<br /><hr /><br />". | |
179 implode(", ", $out2)."<br /><hr /><br />". | |
180 implode("<br />", $out2)."<br /><hr />"; | |
181 | |
182 } | |
183 break; | |
184 | |
185 case "get": | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
186 // |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
187 // Get specific data |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
188 // |
0 | 189 switch ($type) |
190 { | |
191 case "news": | |
265 | 192 echo |
193 "<form method=\"post\" action=\"\" onsubmit=\"return addNews()\">\n". | |
194 " ".stGetFormTextInput(40, SET_LEN_NEWS_TITLE, "", "nntitle", "", "")."<br />\n". | |
195 " ".stGetFormTextArea(5, 60, "", "nntext", "", "")."<br />\n". | |
196 " ".stGetFormTextInput(20, SET_LEN_NEWS_AUTHOR, "", "nnauthor", "", "orgaz")."\n". | |
197 " ".stGetFormSubmitInput("nnadd", "Add post")."\n". | |
198 " ".stGetFormButtonInput("", "", "", "Clear", "this.form.reset()")."\n". | |
199 "</form>\n". | |
200 "<hr />\n"; | |
201 | |
0 | 202 $sql = "SELECT * FROM news ORDER BY utime DESC"; |
265 | 203 foreach (stExecSQL($sql) as $item) |
204 { | |
205 echo | |
206 "<div id=\"news".$item["id"]."\">\n". | |
207 stGetNewsItemData($item["id"], $item, "ne"). | |
208 "</div>\n". | |
209 "<hr />\n"; | |
210 } | |
0 | 211 break; |
212 | |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
213 case "newsitem": |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
214 $res = stFetchSQL(stPrepareSQL("SELECT * FROM news WHERE id=%D", "id")); |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
215 if ($res !== FALSE) |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
216 echo stGetNewsItemData($res["id"], $res, "ne"); |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
217 break; |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
218 |
0 | 219 case "attendees": |
265 | 220 // For adding a new one |
221 $prefix = "ne"; | |
222 echo | |
223 "<table>\n". | |
224 " <tr>\n". | |
225 " <th>Name</th>\n". | |
226 " <th>Groups</th>\n". | |
227 " <th>Oneliner</th>\n". | |
228 " <th>E-mail</th>\n". | |
229 " <th>Actions</th>\n". | |
230 " </tr>\n". | |
231 " <tr>\n". | |
232 " <td>".stGetFormTextInput(20, SET_LEN_USERNAME, "name", "x", $prefix, "")."</td>\n". | |
233 " <td>".stGetFormTextInput(20, SET_LEN_GROUPS, "groups", "x", $prefix, "")."</td>\n". | |
234 " <td>".stGetFormTextInput(30, SET_LEN_ONELINER, "oneliner", "x", $prefix, "")."</td>\n". | |
235 " <td>".stGetFormTextInput(20, SET_LEN_EMAIL, "email", "x", $prefix, "")."</td>\n". | |
236 " <td>".stGetFormButtonInput("add", "", $prefix, " Add new ", "addAttendee()")."</td>\n". | |
237 " </tr>\n". | |
238 "</table>\n". | |
239 "<hr />\n"; | |
240 | |
241 // List of attendees | |
242 echo | |
243 "<table class=\"attendees\">\n". | |
244 " <tr>\n". | |
245 " <th class=\"name\">Name</th>\n". | |
246 " <th class=\"groups\">Groups</th>\n". | |
247 " <th class=\"regtime\">Registered</th>\n". | |
248 " <th class=\"oneliner\">Oneliner</th>\n". | |
249 " <th class=\"email\">E-mail</th>\n". | |
250 " <th>Actions</th>\n". | |
251 " </tr>\n"; | |
252 | |
0 | 253 $sql = "SELECT * FROM attendees ORDER BY regtime DESC"; |
265 | 254 $row = 0; |
255 foreach (stExecSQL($sql) as $item) | |
256 stPrintAttendee($item, $row++, TRUE, TRUE, FALSE); | |
257 | |
258 echo | |
259 "</table>\n"; | |
0 | 260 break; |
261 | |
205
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
204
diff
changeset
|
262 case "attendee": |
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
204
diff
changeset
|
263 $res = stFetchSQL(stPrepareSQL("SELECT * FROM attendees WHERE id=%D", "id")); |
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
204
diff
changeset
|
264 if ($res !== FALSE) |
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
204
diff
changeset
|
265 stPrintAttendee($res, -1, FALSE, TRUE, stGetRequestItem("edit", FALSE)); |
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
204
diff
changeset
|
266 break; |
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
204
diff
changeset
|
267 |
105
a85f258f6beb
Move some things around and modularize the code.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
268 case "voters": |
270
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
269 // Generate vote keys, if needed |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
270 $numVKeys = stFetchSQLColumn("SELECT COUNT(*) FROM votekeys"); |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
271 $numUsers = stFetchSQLColumn("SELECT COUNT(*) FROM attendees"); |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
272 while ($numVKeys < $numUsers) |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
273 { |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
274 if (($key = stGenerateUserKey()) !== false) |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
275 { |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
276 if (stExecSQL(stPrepareSQL("INSERT INTO votekeys (key) VALUES (%s)", $key)) !== false) |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
277 $numVKeys++; |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
278 } |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
279 } |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
280 |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
281 // List of votekeys |
270
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
282 $vmode = stGetSetting("voteKeyMode"); |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
283 echo |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
284 "<div>\n". |
270
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
285 "<a href=\"print.php?type=votekeys\" target=\"_blank\">Printable key list</a>\n". |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
286 "</div>\n"; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
287 |
270
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
288 switch ($vmode) |
116
a95facb41c86
Some preliminary work on the votekey administration backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
289 { |
a95facb41c86
Some preliminary work on the votekey administration backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
290 case VOTE_FREELY: |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
291 case VOTE_ACTIVATE: |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
292 $sql = "SELECT * FROM votekeys ORDER BY votekeys.id ASC"; |
116
a95facb41c86
Some preliminary work on the votekey administration backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
293 |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
294 $keyLen = stGetSetting("userKeyLength"); |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
295 $index = 0; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
296 echo "<table class=\"votekeys\">\n"; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
297 foreach (stExecSQL($sql) as $item) |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
298 { |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
299 if ($index == 0) |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
300 echo "<tr>\n"; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
301 |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
302 // This funny code is to ensure that the cells are of uniform width |
270
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
303 printf("<td id=\"vkey".$item["id"]. |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
304 "\"><span class=\"keyid\">%03d</span> : ". |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
305 "<span class=\"keycode\">%s</span>", |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
306 $item["id"], |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
307 str_repeat(" ", $keyLen - strlen($item["key"])).$item["key"]); |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
308 |
270
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
309 if ($vmode == VOTE_ACTIVATE) |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
310 echo stGetFormCheckBoxInput("active", $item["id"], $prefix, $item["active"], "")."\n"; |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
311 |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
312 echo "</td>"; |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
313 |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
314 if ($index++ >= 5) |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
315 { |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
316 echo "</tr>\n"; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
317 $index = 0; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
318 } |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
319 } |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
320 if ($index > 0) |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
321 echo "</tr>\n"; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
322 |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
323 echo "</table>\n"; |
116
a95facb41c86
Some preliminary work on the votekey administration backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
324 break; |
a95facb41c86
Some preliminary work on the votekey administration backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
325 |
a95facb41c86
Some preliminary work on the votekey administration backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
326 case VOTE_ASSIGN: |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
327 $sql = "SELECT * FROM votekeys ". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
328 "LEFT JOIN attendees ON votekeys.voter_id=attendees.id ". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
329 "ORDER BY votekeys.id ASC"; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
330 |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
331 echo |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
332 "<table class=\"attendees\">\n". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
333 " <tr>\n". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
334 " <th class=\"name\">Name</th>\n". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
335 " <th class=\"groups\">Groups</th>\n". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
336 // " <th class=\"email\">E-mail</th>\n". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
337 " <th class=\"\">Key</th>\n". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
338 " </tr>\n"; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
339 |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
340 $row = 0; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
341 foreach (stExecSQL($sql) as $item) |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
342 { |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
343 print_r($item); |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
344 } |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
345 |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
346 echo |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
347 "</table>\n"; |
116
a95facb41c86
Some preliminary work on the votekey administration backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
348 break; |
a95facb41c86
Some preliminary work on the votekey administration backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
349 } |
105
a85f258f6beb
Move some things around and modularize the code.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
350 break; |
a85f258f6beb
Move some things around and modularize the code.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
351 |
0 | 352 case "compos": |
265 | 353 echo |
354 "<form method=\"post\" action=\"\" onsubmit=\"return addCompo()\">\n". | |
355 " ".stGetFormTextInput(64, SET_LEN_COMPO_NAME, "", "ncname", "", "")."<br />\n". | |
356 " ".stGetFormTextArea(5, 60, "", "ncdescription", "", "")."<br />\n". | |
357 " ".stGetFormSubmitInput("nccompo", "Add compo")."\n". | |
358 " ".stGetFormButtonInput("", "", "", "Clear", "this.form.reset()")."\n". | |
359 "</form>\n". | |
360 "<hr />\n"; | |
361 | |
0 | 362 $sql = "SELECT * FROM compos ORDER BY id DESC"; |
265 | 363 foreach (stExecSQL($sql) as $item) |
364 { | |
365 echo | |
366 "<div id=\"compo".$item["id"]."\">\n". | |
367 stGetCompoData($item["id"], $item, "co"). | |
368 "</div>\n". | |
369 "<hr />\n"; | |
370 } | |
0 | 371 break; |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
372 |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
373 case "compo": |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
374 $res = stFetchSQL(stPrepareSQL("SELECT * FROM compos WHERE id=%D", "id")); |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
375 if ($res !== FALSE) |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
376 echo stGetCompoData($res["id"], $res, "co"); |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
377 break; |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
378 |
216 | 379 case "slides": |
380 $sql = "SELECT * FROM displaySlides SORT BY id ASC"; | |
381 $sql = "SELECT * FROM displayListData SORT BY id ASC"; | |
382 $sql = "SELECT * FROM displayListSlides SORT BY id ASC"; | |
383 echo | |
384 "<form>\n". | |
385 " <table>\n". | |
386 " <tr>\n". | |
387 " <td>".stGetFormButtonInput("generate", "", "", " Generate entry show positions ", "generateEntryPositions()")."</td>\n". | |
388 " <td>".stGetFormButtonInput("generate", "", "", " XXX ", "generateEntryPositions()")."</td>\n". | |
389 " </tr>\n". | |
390 " </table>\n". | |
391 "</form>\n"; | |
392 break; | |
393 | |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
394 case "settings": |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
395 $prefix = "st"; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
396 |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
397 echo |
16 | 398 "<h1>Site settings</h1>\n". |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
399 "<form method=\"post\" action=\"\" onsubmit=\"return updateSettings()\">\n". |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
400 "<table>\n"; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
401 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
|
402 { |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
403 echo |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
404 " <tr>\n". |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
405 " <td>"; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
406 $id = $item["key"]; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
407 switch ($item["vtype"]) |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
408 { |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
409 case VT_INT: |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
410 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
|
411 break; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
412 case VT_STR: |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
413 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
|
414 break; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
415 case VT_BOOL: |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
416 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
|
417 break; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
418 } |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
419 echo "</td>\n". |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
420 " <td>".$item["desc"]."</td>\n". |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
421 " </tr>\n"; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
422 } |
214 | 423 echo "</table>\n".stGetSaveButton(); |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
424 |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
425 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
|
426 { |
214 | 427 echo |
428 "<h2>".chentities($item["desc"])."</h2>\n". | |
429 stGetFormTextArea(10, 60, "", $item["key"], $prefix, $item["vtext"]). | |
430 "\n<br />\n". | |
431 stGetSaveButton(); | |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
432 } |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
433 echo "</form>\n"; |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
434 break; |
0 | 435 |
250
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
249
diff
changeset
|
436 case "compolist": |
249
6927edc7e266
Get compo name list as JSON.
Matti Hamalainen <ccr@tnsp.org>
parents:
228
diff
changeset
|
437 $index = 0; |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
438 foreach (stExecSQL("SELECT * FROM compos") as $compo) |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
439 { |
249
6927edc7e266
Get compo name list as JSON.
Matti Hamalainen <ccr@tnsp.org>
parents:
228
diff
changeset
|
440 if ($index++ > 0) echo ","; |
251
1953d5025531
Alter the JSON format of the compo data list.
Matti Hamalainen <ccr@tnsp.org>
parents:
250
diff
changeset
|
441 echo "\"".$compo["id"]."\":\"".chentities($compo["name"])."\""; |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
442 } |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
443 break; |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
444 |
257
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
445 case "entry": |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
446 $res = stFetchSQL(stPrepareSQL("SELECT * FROM entries WHERE id=%D", "id")); |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
447 if ($res !== FALSE) |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
448 echo stGetEntryItemData($res["id"], $res, "en"); |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
449 break; |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
450 |
250
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
249
diff
changeset
|
451 case "entries": |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
452 $id = intval(stGetRequestItem("id", 0)); |
250
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
249
diff
changeset
|
453 if (($compo = stFetchSQL("SELECT * FROM compos WHERE id=".$id)) !== false) |
0 | 454 { |
455 echo | |
265 | 456 "<h1 style=\"margin-bottom: 0px;\">#".$id." - ".chentities($compo["name"])."</h1>\n". |
0 | 457 "<form>\n". |
458 " <table class=\"misc\">\n". | |
459 " <tr>\n". | |
113
671330b7f5d1
Add "show_id" to compo entries, to designate the position they were shown at
Matti Hamalainen <ccr@tnsp.org>
parents:
112
diff
changeset
|
460 " <th style=\"width:4%;\">S#</th>\n". |
264 | 461 " <th>Name</th>\n". |
29 | 462 " <th>Author(s)</th>\n". |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
463 " <th>Filename</th>\n". |
215
bfd480370a70
More work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents:
214
diff
changeset
|
464 " <th>Info</th>\n". |
0 | 465 " <th>Actions</th>\n". |
466 " </tr>\n"; | |
467 | |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
468 foreach (stExecSQL("SELECT * FROM entries WHERE compo_id=".$id) as $entry) |
0 | 469 { |
470 echo | |
257
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
471 " <tr id=\"entry".$entry["id"]."\">\n". |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
472 stGetEntryItemData($entry["id"], $entry, "en"). |
0 | 473 " </tr>\n"; |
474 } | |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
475 |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
476 $prefix = "ne"; |
0 | 477 echo |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
478 " <tr>\n". |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
479 " <td></td>\n". |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
480 " <td>".stGetFormTextInput(20, SET_LEN_ENTRY_NAME, "name", $id, $prefix, "")."</td>\n". |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
481 " <td>".stGetFormTextInput(15, SET_LEN_ENTRY_AUTHOR, "author", $id, $prefix, "")."</td>\n". |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
482 " <td>".stGetFormTextInput(20, SET_LEN_ENTRY_FILENAME, "filename", $id, $prefix, "")."</td>\n". |
266
c535c5a8a36d
Use HTML textarea entry for compoentry information field.
Matti Hamalainen <ccr@tnsp.org>
parents:
265
diff
changeset
|
483 // " <td>".stGetFormTextInput(20, SET_LEN_ENTRY_INFO, "info", $id, $prefix, "")."</td>\n". |
c535c5a8a36d
Use HTML textarea entry for compoentry information field.
Matti Hamalainen <ccr@tnsp.org>
parents:
265
diff
changeset
|
484 " <td>".stGetFormTextArea(2, 30, "info", $id, $prefix, "")."</td>\n". |
215
bfd480370a70
More work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents:
214
diff
changeset
|
485 " <td>".stGetFormButtonInput("add", $id, $prefix, "Add new", "addEntry(".$id.")")."</td>\n". |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
486 " </tr>\n". |
0 | 487 " </table>\n". |
488 "</form>\n"; | |
489 } | |
490 break; | |
491 } | |
492 break; | |
493 | |
494 case "delete": | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
495 // |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
496 // Delete entry |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
497 // |
208
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
207
diff
changeset
|
498 if (stChkRequestItem("id", $id, array(CHK_TYPE, VT_INT, "Invalid data."))) |
0 | 499 { |
500 if ($type == "news") | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
501 { |
0 | 502 $sql = stPrepareSQL("DELETE FROM news WHERE id=%d AND persist=0", $id); |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
503 stExecSQLCond($sql, "OK, news item ".$id." deleted."); |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
504 } |
0 | 505 else |
506 if ($type == "attendees") | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
507 { |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
508 // Attendees require some more work |
0 | 509 $sql = stPrepareSQL("DELETE FROM attendees WHERE id=%d", $id); |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
510 stExecSQLCond($sql, "OK, attendee ".$id." deleted."); |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
511 |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
512 $sql = stPrepareSQL("DELETE FROM votes WHERE voter_id=%d", $id); |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
513 stExecSQLCond($sql, "OK, attendee ".$id." votes deleted."); |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
514 } |
0 | 515 else |
516 if ($type == "entries") | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
517 { |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
518 // .. as do compo entries |
0 | 519 $sql = stPrepareSQL("DELETE FROM entries WHERE id=%d", $id); |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
520 stExecSQLCond($sql, "OK, entry ".$id." deleted."); |
0 | 521 |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
522 $sql = stPrepareSQL("DELETE FROM votes WHERE entry_id=%d", $id); |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
523 stExecSQLCond($sql, "OK, entry ".$id." votes deleted."); |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
524 } |
0 | 525 } |
526 break; | |
527 | |
528 case "add": | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
529 // |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
530 // Add new entry |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
531 // |
228 | 532 if ($type == "news" && stValidateRequestNewsData()) |
0 | 533 { |
534 $sql = stPrepareSQL( | |
535 "INSERT INTO news (utime,title,text,author) VALUES (%d,%S,%Q,%S)", | |
536 time(), "title", "text", "author"); | |
537 | |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
538 stExecSQLCond($sql, "OK, news item added."); |
0 | 539 } |
540 else | |
228 | 541 if ($type == "compo" && stValidateRequestCompoData(FALSE)) |
0 | 542 { |
543 $sql = stPrepareSQL( | |
55
4fac95384753
Make visibility of entry authors per compo.
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
544 "INSERT INTO compos (name,description,visible,voting,showAuthors) VALUES (%S,%Q,0,0,0)", |
26
7be3f8cf1f7a
Lots of cleanups, preparing for adding entry submission support.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
545 "name", "description"); |
0 | 546 |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
547 stExecSQLCond($sql, "OK, compo added."); |
0 | 548 } |
549 else | |
228 | 550 if ($type == "attendees" && stValidateRequestUserData(TRUE)) |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
551 { |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
552 $sql = stPrepareSQL( |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
553 "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
|
554 time(), "name", "groups", "oneliner", "email"); |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
555 |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
556 stExecSQLCond($sql, "OK, attendee added."); |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
557 } |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
558 else |
228 | 559 if ($type == "entry" && stValidateRequestEntryData($fake)) |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
560 { |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
561 $sql = stPrepareSQL( |
214 | 562 "INSERT INTO entries (name,author,compo_id,filename,info) VALUES (%S,%S,%D,%S,%S)", |
563 "name", "author", "compo_id", "filename", "info"); | |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
564 |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
565 stExecSQLCond($sql, "OK, entry added."); |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
566 } |
0 | 567 break; |
568 | |
569 case "update": | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
570 // |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
571 // Update existing entry |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
572 // |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
573 if ($type == "settings") |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
574 { |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
575 foreach (stExecSQL("SELECT * FROM settings") as $item) |
198
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
576 if (($val = stGetRequestItem($item["key"], FALSE)) !== FALSE) |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
577 { |
198
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
578 $sql = "UPDATE settings SET ".stGetSettingSQL($item, $val)." WHERE key=".$db->quote($item["key"]); |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
579 stExecSQLCond($sql, "OK, setting updated."); |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
580 } |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
581 } |
209 | 582 if (stChkRequestItem("id", $id, array(CHK_TYPE, VT_INT, "Invalid data."))) |
583 { | |
228 | 584 if ($type == "attendees" && stValidateRequestUserData(TRUE)) |
209 | 585 { |
586 $sql = stPrepareSQLUpdate("attendees", | |
587 "WHERE id=".intval(stGetRequestItem("id")), | |
588 array( | |
589 "name" => "S", | |
590 "groups" => "S", | |
591 "email" => "S", | |
592 "oneliner" => "S", | |
593 )); | |
594 | |
595 stExecSQLCond($sql, "OK, attendee updated."); | |
596 } | |
597 else | |
228 | 598 if ($type == "news" && stValidateRequestNewsData()) |
209 | 599 { |
600 $sql = stPrepareSQLUpdate("news", | |
601 "WHERE id=".intval(stGetRequestItem("id")), | |
602 array( | |
603 "title" => "S", | |
604 "text" => "Q", | |
605 "author" => "S" | |
606 )); | |
607 | |
608 stExecSQLCond($sql, "OK, news item updated."); | |
609 } | |
610 else | |
228 | 611 if ($type == "compo" && stValidateRequestCompoData(TRUE)) |
209 | 612 { |
613 $sql = stPrepareSQLUpdate("compos", | |
614 "WHERE id=".intval(stGetRequestItem("id")), | |
615 array( | |
616 "name" => "S", | |
617 "description" => "Q", | |
618 "visible" => "B", | |
619 "voting" => "B", | |
620 "showAuthors" => "B", | |
621 )); | |
622 | |
623 stExecSQLCond($sql, "OK, compo updated."); | |
624 } | |
625 else | |
228 | 626 if ($type == "entry" && stValidateRequestEntryData($compo_id)) |
209 | 627 { |
214 | 628 if (stFetchSQLColumn("SELECT id FROM compos WHERE id=".$compo_id) === FALSE) |
209 | 629 { |
214 | 630 stError("No such compo ID."); |
209 | 631 } |
632 else | |
633 { | |
634 $sql = stPrepareSQLUpdate("entries", | |
635 "WHERE id=".intval(stGetRequestItem("id")), | |
636 array( | |
637 "name" => "S", | |
638 "author" => "S", | |
639 "filename" => "S", | |
214 | 640 "info" => "S", |
209 | 641 "compo_id" => "D", |
642 )); | |
643 | |
644 stExecSQLCond($sql, "OK, entry updated."); | |
645 } | |
646 } | |
647 } | |
0 | 648 break; |
649 | |
650 default: | |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
651 stSetStatus(404, "Not Found"); |
0 | 652 break; |
653 } | |
654 | |
211
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
655 stDumpAJAXStatusErrors(); |
0 | 656 ?> |