Mercurial > hg > fapweb
annotate admajax.php @ 275:11cd85bdfac7
Clarify some links.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 24 Nov 2013 18:43:14 +0200 |
parents | 81507072f25d |
children | ec56f08c4cc4 |
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": |
272
cd3283333ec1
Add link for printing out email addresses of participants.
Matti Hamalainen <ccr@tnsp.org>
parents:
270
diff
changeset
|
220 echo |
273
39c247babc0c
Make the print links look a bit nicer.
Matti Hamalainen <ccr@tnsp.org>
parents:
272
diff
changeset
|
221 "<div class=\"tabHeadersSub\">\n". |
275 | 222 "<a href=\"print.php?type=emails\" target=\"_blank\">Show plain list of e-mails</a>\n". |
272
cd3283333ec1
Add link for printing out email addresses of participants.
Matti Hamalainen <ccr@tnsp.org>
parents:
270
diff
changeset
|
223 "</div>\n"; |
cd3283333ec1
Add link for printing out email addresses of participants.
Matti Hamalainen <ccr@tnsp.org>
parents:
270
diff
changeset
|
224 |
265 | 225 // For adding a new one |
226 $prefix = "ne"; | |
227 echo | |
228 "<table>\n". | |
229 " <tr>\n". | |
230 " <th>Name</th>\n". | |
231 " <th>Groups</th>\n". | |
232 " <th>Oneliner</th>\n". | |
233 " <th>E-mail</th>\n". | |
234 " <th>Actions</th>\n". | |
235 " </tr>\n". | |
236 " <tr>\n". | |
237 " <td>".stGetFormTextInput(20, SET_LEN_USERNAME, "name", "x", $prefix, "")."</td>\n". | |
238 " <td>".stGetFormTextInput(20, SET_LEN_GROUPS, "groups", "x", $prefix, "")."</td>\n". | |
239 " <td>".stGetFormTextInput(30, SET_LEN_ONELINER, "oneliner", "x", $prefix, "")."</td>\n". | |
240 " <td>".stGetFormTextInput(20, SET_LEN_EMAIL, "email", "x", $prefix, "")."</td>\n". | |
241 " <td>".stGetFormButtonInput("add", "", $prefix, " Add new ", "addAttendee()")."</td>\n". | |
242 " </tr>\n". | |
243 "</table>\n". | |
244 "<hr />\n"; | |
245 | |
246 // List of attendees | |
247 echo | |
248 "<table class=\"attendees\">\n". | |
249 " <tr>\n". | |
250 " <th class=\"name\">Name</th>\n". | |
251 " <th class=\"groups\">Groups</th>\n". | |
252 " <th class=\"regtime\">Registered</th>\n". | |
253 " <th class=\"oneliner\">Oneliner</th>\n". | |
254 " <th class=\"email\">E-mail</th>\n". | |
255 " <th>Actions</th>\n". | |
256 " </tr>\n"; | |
257 | |
0 | 258 $sql = "SELECT * FROM attendees ORDER BY regtime DESC"; |
265 | 259 $row = 0; |
260 foreach (stExecSQL($sql) as $item) | |
261 stPrintAttendee($item, $row++, TRUE, TRUE, FALSE); | |
262 | |
263 echo | |
264 "</table>\n"; | |
0 | 265 break; |
266 | |
205
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
204
diff
changeset
|
267 case "attendee": |
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
204
diff
changeset
|
268 $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
|
269 if ($res !== FALSE) |
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
204
diff
changeset
|
270 stPrintAttendee($res, -1, FALSE, TRUE, stGetRequestItem("edit", FALSE)); |
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
204
diff
changeset
|
271 break; |
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
204
diff
changeset
|
272 |
105
a85f258f6beb
Move some things around and modularize the code.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
273 case "voters": |
270
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
274 // Generate vote keys, if needed |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
275 $numVKeys = stFetchSQLColumn("SELECT COUNT(*) FROM votekeys"); |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
276 $numUsers = stFetchSQLColumn("SELECT COUNT(*) FROM attendees"); |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
277 while ($numVKeys < $numUsers) |
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 if (($key = stGenerateUserKey()) !== false) |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
280 { |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
281 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
|
282 $numVKeys++; |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
283 } |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
284 } |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
285 |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
286 // List of votekeys |
270
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
287 $vmode = stGetSetting("voteKeyMode"); |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
288 echo |
274
81507072f25d
Add explanations of the different voting modes.
Matti Hamalainen <ccr@tnsp.org>
parents:
273
diff
changeset
|
289 "<div class=\"info\"><b>Voting mode: ".$voteModeData[$vmode][0]."</b>. ".$voteModeData[$vmode][1]."</div>\n". |
273
39c247babc0c
Make the print links look a bit nicer.
Matti Hamalainen <ccr@tnsp.org>
parents:
272
diff
changeset
|
290 "<div class=\"tabHeadersSub\">\n". |
275 | 291 "<a href=\"print.php?type=votekeys\" target=\"_blank\">Show printable key list</a>\n". |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
292 "</div>\n"; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
293 |
270
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
294 switch ($vmode) |
116
a95facb41c86
Some preliminary work on the votekey administration backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
295 { |
a95facb41c86
Some preliminary work on the votekey administration backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
296 case VOTE_FREELY: |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
297 case VOTE_ACTIVATE: |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
298 $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
|
299 |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
300 $keyLen = stGetSetting("userKeyLength"); |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
301 $index = 0; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
302 echo "<table class=\"votekeys\">\n"; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
303 foreach (stExecSQL($sql) as $item) |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
304 { |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
305 if ($index == 0) |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
306 echo "<tr>\n"; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
307 |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
308 // 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
|
309 printf("<td id=\"vkey".$item["id"]. |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
310 "\"><span class=\"keyid\">%03d</span> : ". |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
311 "<span class=\"keycode\">%s</span>", |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
312 $item["id"], |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
313 str_repeat(" ", $keyLen - strlen($item["key"])).$item["key"]); |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
314 |
270
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
315 if ($vmode == VOTE_ACTIVATE) |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
316 echo stGetFormCheckBoxInput("active", $item["id"], $prefix, $item["active"], "")."\n"; |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
317 |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
318 echo "</td>"; |
589b44acb74a
More work on votekey admin.
Matti Hamalainen <ccr@tnsp.org>
parents:
269
diff
changeset
|
319 |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
320 if ($index++ >= 5) |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
321 { |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
322 echo "</tr>\n"; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
323 $index = 0; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
324 } |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
325 } |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
326 if ($index > 0) |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
327 echo "</tr>\n"; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
328 |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
329 echo "</table>\n"; |
116
a95facb41c86
Some preliminary work on the votekey administration backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
330 break; |
a95facb41c86
Some preliminary work on the votekey administration backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
331 |
a95facb41c86
Some preliminary work on the votekey administration backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
332 case VOTE_ASSIGN: |
269
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
333 $sql = "SELECT * FROM votekeys ". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
334 "LEFT JOIN attendees ON votekeys.voter_id=attendees.id ". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
335 "ORDER BY votekeys.id ASC"; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
336 |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
337 echo |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
338 "<table class=\"attendees\">\n". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
339 " <tr>\n". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
340 " <th class=\"name\">Name</th>\n". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
341 " <th class=\"groups\">Groups</th>\n". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
342 // " <th class=\"email\">E-mail</th>\n". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
343 " <th class=\"\">Key</th>\n". |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
344 " </tr>\n"; |
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 $row = 0; |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
347 foreach (stExecSQL($sql) as $item) |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
348 { |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
349 print_r($item); |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
350 } |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
351 |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
352 echo |
46138f8478e5
Work on votekey management.
Matti Hamalainen <ccr@tnsp.org>
parents:
266
diff
changeset
|
353 "</table>\n"; |
116
a95facb41c86
Some preliminary work on the votekey administration backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
354 break; |
a95facb41c86
Some preliminary work on the votekey administration backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
355 } |
105
a85f258f6beb
Move some things around and modularize the code.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
356 break; |
a85f258f6beb
Move some things around and modularize the code.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
357 |
0 | 358 case "compos": |
265 | 359 echo |
360 "<form method=\"post\" action=\"\" onsubmit=\"return addCompo()\">\n". | |
361 " ".stGetFormTextInput(64, SET_LEN_COMPO_NAME, "", "ncname", "", "")."<br />\n". | |
362 " ".stGetFormTextArea(5, 60, "", "ncdescription", "", "")."<br />\n". | |
363 " ".stGetFormSubmitInput("nccompo", "Add compo")."\n". | |
364 " ".stGetFormButtonInput("", "", "", "Clear", "this.form.reset()")."\n". | |
365 "</form>\n". | |
366 "<hr />\n"; | |
367 | |
0 | 368 $sql = "SELECT * FROM compos ORDER BY id DESC"; |
265 | 369 foreach (stExecSQL($sql) as $item) |
370 { | |
371 echo | |
372 "<div id=\"compo".$item["id"]."\">\n". | |
373 stGetCompoData($item["id"], $item, "co"). | |
374 "</div>\n". | |
375 "<hr />\n"; | |
376 } | |
0 | 377 break; |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
378 |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
379 case "compo": |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
380 $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
|
381 if ($res !== FALSE) |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
382 echo stGetCompoData($res["id"], $res, "co"); |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
383 break; |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
384 |
216 | 385 case "slides": |
386 $sql = "SELECT * FROM displaySlides SORT BY id ASC"; | |
387 $sql = "SELECT * FROM displayListData SORT BY id ASC"; | |
388 $sql = "SELECT * FROM displayListSlides SORT BY id ASC"; | |
389 echo | |
390 "<form>\n". | |
391 " <table>\n". | |
392 " <tr>\n". | |
393 " <td>".stGetFormButtonInput("generate", "", "", " Generate entry show positions ", "generateEntryPositions()")."</td>\n". | |
394 " <td>".stGetFormButtonInput("generate", "", "", " XXX ", "generateEntryPositions()")."</td>\n". | |
395 " </tr>\n". | |
396 " </table>\n". | |
397 "</form>\n"; | |
398 break; | |
399 | |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
400 case "settings": |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
401 $prefix = "st"; |
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 |
16 | 404 "<h1>Site settings</h1>\n". |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
405 "<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
|
406 "<table>\n"; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
407 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
|
408 { |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
409 echo |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
410 " <tr>\n". |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
411 " <td>"; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
412 $id = $item["key"]; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
413 switch ($item["vtype"]) |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
414 { |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
415 case VT_INT: |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
416 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
|
417 break; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
418 case VT_STR: |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
419 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
|
420 break; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
421 case VT_BOOL: |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
422 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
|
423 break; |
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 echo "</td>\n". |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
426 " <td>".$item["desc"]."</td>\n". |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
427 " </tr>\n"; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
428 } |
214 | 429 echo "</table>\n".stGetSaveButton(); |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
430 |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
431 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
|
432 { |
214 | 433 echo |
434 "<h2>".chentities($item["desc"])."</h2>\n". | |
435 stGetFormTextArea(10, 60, "", $item["key"], $prefix, $item["vtext"]). | |
436 "\n<br />\n". | |
437 stGetSaveButton(); | |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
438 } |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
439 echo "</form>\n"; |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
5
diff
changeset
|
440 break; |
0 | 441 |
250
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
249
diff
changeset
|
442 case "compolist": |
249
6927edc7e266
Get compo name list as JSON.
Matti Hamalainen <ccr@tnsp.org>
parents:
228
diff
changeset
|
443 $index = 0; |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
444 foreach (stExecSQL("SELECT * FROM compos") as $compo) |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
445 { |
249
6927edc7e266
Get compo name list as JSON.
Matti Hamalainen <ccr@tnsp.org>
parents:
228
diff
changeset
|
446 if ($index++ > 0) echo ","; |
251
1953d5025531
Alter the JSON format of the compo data list.
Matti Hamalainen <ccr@tnsp.org>
parents:
250
diff
changeset
|
447 echo "\"".$compo["id"]."\":\"".chentities($compo["name"])."\""; |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
448 } |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
449 break; |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
450 |
257
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
451 case "entry": |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
452 $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
|
453 if ($res !== FALSE) |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
454 echo stGetEntryItemData($res["id"], $res, "en"); |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
455 break; |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
456 |
250
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
249
diff
changeset
|
457 case "entries": |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
458 $id = intval(stGetRequestItem("id", 0)); |
250
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
249
diff
changeset
|
459 if (($compo = stFetchSQL("SELECT * FROM compos WHERE id=".$id)) !== false) |
0 | 460 { |
461 echo | |
265 | 462 "<h1 style=\"margin-bottom: 0px;\">#".$id." - ".chentities($compo["name"])."</h1>\n". |
0 | 463 "<form>\n". |
464 " <table class=\"misc\">\n". | |
465 " <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
|
466 " <th style=\"width:4%;\">S#</th>\n". |
264 | 467 " <th>Name</th>\n". |
29 | 468 " <th>Author(s)</th>\n". |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
469 " <th>Filename</th>\n". |
215
bfd480370a70
More work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents:
214
diff
changeset
|
470 " <th>Info</th>\n". |
0 | 471 " <th>Actions</th>\n". |
472 " </tr>\n"; | |
473 | |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
474 foreach (stExecSQL("SELECT * FROM entries WHERE compo_id=".$id) as $entry) |
0 | 475 { |
476 echo | |
257
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
477 " <tr id=\"entry".$entry["id"]."\">\n". |
ef9a007c0876
Modularize and add methods for getting single entry.
Matti Hamalainen <ccr@tnsp.org>
parents:
252
diff
changeset
|
478 stGetEntryItemData($entry["id"], $entry, "en"). |
0 | 479 " </tr>\n"; |
480 } | |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
481 |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
482 $prefix = "ne"; |
0 | 483 echo |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
484 " <tr>\n". |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
485 " <td></td>\n". |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
216
diff
changeset
|
486 " <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
|
487 " <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
|
488 " <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
|
489 // " <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
|
490 " <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
|
491 " <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
|
492 " </tr>\n". |
0 | 493 " </table>\n". |
494 "</form>\n"; | |
495 } | |
496 break; | |
497 } | |
498 break; | |
499 | |
500 case "delete": | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
501 // |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
502 // Delete entry |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
503 // |
208
8985d2bdb29b
More work on error handling etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
207
diff
changeset
|
504 if (stChkRequestItem("id", $id, array(CHK_TYPE, VT_INT, "Invalid data."))) |
0 | 505 { |
506 if ($type == "news") | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
507 { |
0 | 508 $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
|
509 stExecSQLCond($sql, "OK, news item ".$id." deleted."); |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
510 } |
0 | 511 else |
512 if ($type == "attendees") | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
513 { |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
514 // Attendees require some more work |
0 | 515 $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
|
516 stExecSQLCond($sql, "OK, attendee ".$id." deleted."); |
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 $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
|
519 stExecSQLCond($sql, "OK, attendee ".$id." votes deleted."); |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
520 } |
0 | 521 else |
522 if ($type == "entries") | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
523 { |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
524 // .. as do compo entries |
0 | 525 $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
|
526 stExecSQLCond($sql, "OK, entry ".$id." deleted."); |
0 | 527 |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
528 $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
|
529 stExecSQLCond($sql, "OK, entry ".$id." votes deleted."); |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
530 } |
0 | 531 } |
532 break; | |
533 | |
534 case "add": | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
535 // |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
536 // Add new entry |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
537 // |
228 | 538 if ($type == "news" && stValidateRequestNewsData()) |
0 | 539 { |
540 $sql = stPrepareSQL( | |
541 "INSERT INTO news (utime,title,text,author) VALUES (%d,%S,%Q,%S)", | |
542 time(), "title", "text", "author"); | |
543 | |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
544 stExecSQLCond($sql, "OK, news item added."); |
0 | 545 } |
546 else | |
228 | 547 if ($type == "compo" && stValidateRequestCompoData(FALSE)) |
0 | 548 { |
549 $sql = stPrepareSQL( | |
55
4fac95384753
Make visibility of entry authors per compo.
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
550 "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
|
551 "name", "description"); |
0 | 552 |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
553 stExecSQLCond($sql, "OK, compo added."); |
0 | 554 } |
555 else | |
228 | 556 if ($type == "attendees" && stValidateRequestUserData(TRUE)) |
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 $sql = stPrepareSQL( |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
559 "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
|
560 time(), "name", "groups", "oneliner", "email"); |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
561 |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
562 stExecSQLCond($sql, "OK, attendee added."); |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
563 } |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
564 else |
228 | 565 if ($type == "entry" && stValidateRequestEntryData($fake)) |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
566 { |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
567 $sql = stPrepareSQL( |
214 | 568 "INSERT INTO entries (name,author,compo_id,filename,info) VALUES (%S,%S,%D,%S,%S)", |
569 "name", "author", "compo_id", "filename", "info"); | |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
570 |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
571 stExecSQLCond($sql, "OK, entry added."); |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
57
diff
changeset
|
572 } |
0 | 573 break; |
574 | |
575 case "update": | |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
576 // |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
577 // Update existing entry |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
578 // |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
579 if ($type == "settings") |
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 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
|
582 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
|
583 { |
198
96ab189e5c03
Add some new helper functions and use them.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
584 $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
|
585 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
|
586 } |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
587 } |
209 | 588 if (stChkRequestItem("id", $id, array(CHK_TYPE, VT_INT, "Invalid data."))) |
589 { | |
228 | 590 if ($type == "attendees" && stValidateRequestUserData(TRUE)) |
209 | 591 { |
592 $sql = stPrepareSQLUpdate("attendees", | |
593 "WHERE id=".intval(stGetRequestItem("id")), | |
594 array( | |
595 "name" => "S", | |
596 "groups" => "S", | |
597 "email" => "S", | |
598 "oneliner" => "S", | |
599 )); | |
600 | |
601 stExecSQLCond($sql, "OK, attendee updated."); | |
602 } | |
603 else | |
228 | 604 if ($type == "news" && stValidateRequestNewsData()) |
209 | 605 { |
606 $sql = stPrepareSQLUpdate("news", | |
607 "WHERE id=".intval(stGetRequestItem("id")), | |
608 array( | |
609 "title" => "S", | |
610 "text" => "Q", | |
611 "author" => "S" | |
612 )); | |
613 | |
614 stExecSQLCond($sql, "OK, news item updated."); | |
615 } | |
616 else | |
228 | 617 if ($type == "compo" && stValidateRequestCompoData(TRUE)) |
209 | 618 { |
619 $sql = stPrepareSQLUpdate("compos", | |
620 "WHERE id=".intval(stGetRequestItem("id")), | |
621 array( | |
622 "name" => "S", | |
623 "description" => "Q", | |
624 "visible" => "B", | |
625 "voting" => "B", | |
626 "showAuthors" => "B", | |
627 )); | |
628 | |
629 stExecSQLCond($sql, "OK, compo updated."); | |
630 } | |
631 else | |
228 | 632 if ($type == "entry" && stValidateRequestEntryData($compo_id)) |
209 | 633 { |
214 | 634 if (stFetchSQLColumn("SELECT id FROM compos WHERE id=".$compo_id) === FALSE) |
209 | 635 { |
214 | 636 stError("No such compo ID."); |
209 | 637 } |
638 else | |
639 { | |
640 $sql = stPrepareSQLUpdate("entries", | |
641 "WHERE id=".intval(stGetRequestItem("id")), | |
642 array( | |
643 "name" => "S", | |
644 "author" => "S", | |
645 "filename" => "S", | |
214 | 646 "info" => "S", |
209 | 647 "compo_id" => "D", |
648 )); | |
649 | |
650 stExecSQLCond($sql, "OK, entry updated."); | |
651 } | |
652 } | |
653 } | |
0 | 654 break; |
655 | |
656 default: | |
66
230aacc22cb4
Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents:
61
diff
changeset
|
657 stSetStatus(404, "Not Found"); |
0 | 658 break; |
659 } | |
660 | |
211
5bae42020034
Factorize some code into msitegen.
Matti Hamalainen <ccr@tnsp.org>
parents:
210
diff
changeset
|
661 stDumpAJAXStatusErrors(); |
0 | 662 ?> |