Mercurial > hg > fapweb
annotate admin.php @ 346:c922e5200c55
Rename makePostArgs() to jsMakePostArgs().
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 02 Dec 2013 05:02:48 +0200 |
parents | 7bb36c015926 |
children | 1ef6cd391590 |
rev | line source |
---|---|
0 | 1 <? |
136
aeebfedb5709
Add some copyright headers.
Matti Hamalainen <ccr@tnsp.org>
parents:
126
diff
changeset
|
2 // |
aeebfedb5709
Add some copyright headers.
Matti Hamalainen <ccr@tnsp.org>
parents:
126
diff
changeset
|
3 // FAPWeb Simple Demoparty System |
aeebfedb5709
Add some copyright headers.
Matti Hamalainen <ccr@tnsp.org>
parents:
126
diff
changeset
|
4 // Party administration page frontend module |
aeebfedb5709
Add some copyright headers.
Matti Hamalainen <ccr@tnsp.org>
parents:
126
diff
changeset
|
5 // (C) Copyright 2012-2013 Tecnic Software productions (TNSP) |
aeebfedb5709
Add some copyright headers.
Matti Hamalainen <ccr@tnsp.org>
parents:
126
diff
changeset
|
6 // |
32 | 7 $sessionType = "admin"; |
175
8df523e6326a
User require_once instead of require.
Matti Hamalainen <ccr@tnsp.org>
parents:
174
diff
changeset
|
8 require_once "mconfig.inc.php"; |
8df523e6326a
User require_once instead of require.
Matti Hamalainen <ccr@tnsp.org>
parents:
174
diff
changeset
|
9 require_once "msite.inc.php"; |
8df523e6326a
User require_once instead of require.
Matti Hamalainen <ccr@tnsp.org>
parents:
174
diff
changeset
|
10 require_once "msession.inc.php"; |
8df523e6326a
User require_once instead of require.
Matti Hamalainen <ccr@tnsp.org>
parents:
174
diff
changeset
|
11 require_once "majax.php"; |
32 | 12 |
180
a3f0f2a3551a
Split stylesheets into separate files for different platforms and also split
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
13 $pageCSS["admin.css"] = ""; |
a3f0f2a3551a
Split stylesheets into separate files for different platforms and also split
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
14 |
174
63c840590476
Move common code from mcommon.inc.php to msitegen module.
Matti Hamalainen <ccr@tnsp.org>
parents:
171
diff
changeset
|
15 cmLocaleInit(); |
171
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
16 |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
17 // Switch to https first, if needed |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
18 if (!stCheckHTTPS()) |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
19 { |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
20 header("Location: https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]); |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
21 exit; |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
22 } |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
23 |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
24 // Start output |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
25 cmPrintPageHeader("FAPWeb Administration", |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
26 " <meta http-equiv=\"Pragma\" content=\"no-cache\" />", |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
27 FALSE); |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
28 |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
29 |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
30 // Initiate SQL database connection |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
31 if (!stConnectSQLDB()) |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
32 { |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
33 // Error occured, bail out early |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
34 cmPrintPageFooter(); |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
35 exit; |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
36 } |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
37 |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
38 // Fetch non-"hardcoded" settings from SQL database |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
39 stReloadSettings(); |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
40 |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
41 function stCreateSettingsData() |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
42 { |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
43 $args = array(); |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
44 |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
45 if (($res = stExecSQL("SELECT * FROM settings")) !== FALSE) |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
46 { |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
47 foreach ($res as $item) |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
48 { |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
49 switch ($item["vtype"]) |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
50 { |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
51 case VT_STR: |
298
2f35c4b90ee7
Fix site settings javascript generator.
Matti Hamalainen <ccr@tnsp.org>
parents:
289
diff
changeset
|
52 case VT_TEXT: $type = 1; break; |
2f35c4b90ee7
Fix site settings javascript generator.
Matti Hamalainen <ccr@tnsp.org>
parents:
289
diff
changeset
|
53 case VT_INT: $type = 2; break; |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
54 case VT_BOOL: $type = 3; break; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
55 } |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
56 $args[] = "\"".$item["key"]."\":".$type; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
57 } |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
58 } |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
59 |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
60 echo |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
61 "\n". |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
62 "function updateSettings()\n". |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
63 "{\n". |
346
c922e5200c55
Rename makePostArgs() to jsMakePostArgs().
Matti Hamalainen <ccr@tnsp.org>
parents:
345
diff
changeset
|
64 " var args = jsMakePostArgs({".implode(",", $args)."}, \"st\", \"\");\n". |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
65 " jsSendPOSTRequest(\"action=update&type=settings&\"+args);\n". |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
66 " return false;\n". |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
67 "}\n"; |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
68 } |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
69 |
0 | 70 // Check if sessions are enabled |
5
76c3b89d7b11
Improve voting, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
71 if (!stChkSetting("admPassword")) |
0 | 72 { |
171
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
73 echo |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
74 "<h1>Oh noes, admin configuration not done!</h1>\n". |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
75 "<p>Better go and prod that, so you get to use the fine admin interface.</p>\n"; |
0 | 76 } |
77 else | |
107 | 78 if (!stAdmSessionAuth(FALSE)) |
0 | 79 { |
80 // Perform authentication if we are not in session already | |
5
76c3b89d7b11
Improve voting, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
81 echo |
76c3b89d7b11
Improve voting, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
82 "<h1>Party admin login</h1>\n". |
0 | 83 "<p>Please use illegal telepathy over HTTP to provide a password to enter the party administration systembolaget.</p>\n". |
32 | 84 stGetFormStart("admlogin", "admlogin.php"). |
0 | 85 stGetFormHiddenInput("mode", "check")."\n". |
247
8945b78dd6b6
Use HTML5 form field autofocus.
Matti Hamalainen <ccr@tnsp.org>
parents:
223
diff
changeset
|
86 stGetFormPasswordInput("admpass", "", "", "autofocus=\"autofocus\"")."\n". |
32 | 87 stGetFormSubmitInput("submit", "Login"). |
0 | 88 "</form>\n"; |
89 } | |
107 | 90 else |
0 | 91 { |
92 ?> | |
93 <script type="text/javascript"> | |
126
71c35d5302c2
More work on cleanups, and AJAX modularization.
Matti Hamalainen <ccr@tnsp.org>
parents:
124
diff
changeset
|
94 // <? stCreateSettingsData(); stCommonAJAX("admajax.php", "admlogout.php", FALSE); ?> |
124
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
95 |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
96 |
258 | 97 var activeAttendee = -1, prevAttendee = -1; |
98 var activeTmp = ""; | |
99 var registeredTabs = Object(); | |
260
6a1f1f2f2141
Make tab selection in subtabs persistent.
Matti Hamalainen <ccr@tnsp.org>
parents:
259
diff
changeset
|
100 var activeTabs = Object(); |
258 | 101 |
102 | |
103 function refreshItems(id,name,extra) | |
124
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
104 { |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
105 var msuccess = function(txt) |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
106 { |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
107 var nitem = document.getElementById(id); |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
108 if (nitem) nitem.innerHTML = txt; |
124
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
109 } |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
110 |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
111 jsSendPOSTRequest("action=get&type="+name+extra, msuccess); |
124
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
112 } |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
113 |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
114 |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
115 function deleteItem(id,prefix,type,func,dsc) |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
116 { |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
117 var msuccess = function(txt) |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
118 { |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
119 var item = document.getElementById(prefix+id); |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
120 item.style.display = "none"; |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
121 setTimeout(func, 50); |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
122 } |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
123 |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
124 // Clearly mark the element when asking confirmation |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
125 var item = document.getElementById(prefix+id); |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
126 var tmp = item.style.background; |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
127 item.style.background = "red"; |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
128 |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
129 // Ask confirmation for deletion |
341
eaf435c99fe4
Add confirmBox() wrapper function as well.
Matti Hamalainen <ccr@tnsp.org>
parents:
340
diff
changeset
|
130 if (confirmBox("Are you sure you want to delete "+dsc+" #"+id+"?")) |
124
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
131 { |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
132 // Okay, delete |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
133 jsSendPOSTRequest("action=delete&type="+type+"&id="+id, msuccess); |
124
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
134 } |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
135 |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
136 // Restore background |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
137 item.style.background = tmp; |
986c25c2e2bc
Move some relevant javascript code from ajax.js to admin module.
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
138 } |
0 | 139 |
140 | |
253
bbe0d57d6ac9
Use a refresh function dispatcher.
Matti Hamalainen <ccr@tnsp.org>
parents:
250
diff
changeset
|
141 function refreshDispatchCC(id) |
0 | 142 { |
253
bbe0d57d6ac9
Use a refresh function dispatcher.
Matti Hamalainen <ccr@tnsp.org>
parents:
250
diff
changeset
|
143 switch (id) |
bbe0d57d6ac9
Use a refresh function dispatcher.
Matti Hamalainen <ccr@tnsp.org>
parents:
250
diff
changeset
|
144 { |
258 | 145 case "Settings": refreshItems("tabContCCSettings", "settings", ""); break; |
146 case "News": refreshItems("tabContCCNews", "news", ""); break; | |
147 case "Attendees": refreshItems("tabContCCAttendees", "attendees", ""); break; | |
271 | 148 case "Voting": refreshItems("tabContCCVoting", "voters", ""); break; |
258 | 149 case "Compos": refreshItems("tabContCCCompos", "compos", ""); break; |
267 | 150 case "InfoSys": refreshItems("tabContCCInfoSys", "infosys", ""); break; |
253
bbe0d57d6ac9
Use a refresh function dispatcher.
Matti Hamalainen <ccr@tnsp.org>
parents:
250
diff
changeset
|
151 case "Entries": refreshCCEntries(); break; |
bbe0d57d6ac9
Use a refresh function dispatcher.
Matti Hamalainen <ccr@tnsp.org>
parents:
250
diff
changeset
|
152 } |
0 | 153 } |
154 | |
155 | |
255
16d453f1b23d
Simplify refreshing function.
Matti Hamalainen <ccr@tnsp.org>
parents:
254
diff
changeset
|
156 function refreshCCAttendee(id) |
209 | 157 { |
258 | 158 refreshItems("attendee"+ id, "attendee", "&id="+ id); |
209 | 159 } |
160 | |
161 | |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
162 function refreshCCEntries() |
0 | 163 { |
254
c26167a096bf
Rename a callback function.
Matti Hamalainen <ccr@tnsp.org>
parents:
253
diff
changeset
|
164 var msuccess = function(txt) |
250
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
247
diff
changeset
|
165 { |
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
247
diff
changeset
|
166 var nitem = document.getElementById("tabContCCEntries"); |
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
247
diff
changeset
|
167 if (nitem) |
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
247
diff
changeset
|
168 { |
299
617c44197983
Preserve generated content in sub-tabs.
Matti Hamalainen <ccr@tnsp.org>
parents:
298
diff
changeset
|
169 if (nitem.innerHTML == "") |
617c44197983
Preserve generated content in sub-tabs.
Matti Hamalainen <ccr@tnsp.org>
parents:
298
diff
changeset
|
170 { |
617c44197983
Preserve generated content in sub-tabs.
Matti Hamalainen <ccr@tnsp.org>
parents:
298
diff
changeset
|
171 nitem.innerHTML = |
617c44197983
Preserve generated content in sub-tabs.
Matti Hamalainen <ccr@tnsp.org>
parents:
298
diff
changeset
|
172 "<div id=\"tabHeadersCM\" class=\"tabHeadersSub\"></div>" + |
617c44197983
Preserve generated content in sub-tabs.
Matti Hamalainen <ccr@tnsp.org>
parents:
298
diff
changeset
|
173 "<div id=\"tabContentsCM\" class=\"tabContentsSub\"></div>"; |
617c44197983
Preserve generated content in sub-tabs.
Matti Hamalainen <ccr@tnsp.org>
parents:
298
diff
changeset
|
174 } |
617c44197983
Preserve generated content in sub-tabs.
Matti Hamalainen <ccr@tnsp.org>
parents:
298
diff
changeset
|
175 |
250
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
247
diff
changeset
|
176 try { |
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
247
diff
changeset
|
177 var tmp = JSON.parse("{"+ txt +"}"); |
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
247
diff
changeset
|
178 registeredTabs["CM"] = tmp; |
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
247
diff
changeset
|
179 updateTabList("CM", ""); |
260
6a1f1f2f2141
Make tab selection in subtabs persistent.
Matti Hamalainen <ccr@tnsp.org>
parents:
259
diff
changeset
|
180 if (activeTabs["CM"]) |
6a1f1f2f2141
Make tab selection in subtabs persistent.
Matti Hamalainen <ccr@tnsp.org>
parents:
259
diff
changeset
|
181 switchActiveTab("CM", activeTabs["CM"]); |
250
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
247
diff
changeset
|
182 } |
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
247
diff
changeset
|
183 catch (err) { |
343
e799da13c0f3
Rename messageBox() to jsMessageBox().
Matti Hamalainen <ccr@tnsp.org>
parents:
342
diff
changeset
|
184 jsMessageBox("JSON.parse("+ txt +") failure: "+ err); |
250
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
247
diff
changeset
|
185 } |
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
247
diff
changeset
|
186 } |
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
247
diff
changeset
|
187 } |
34f540cea1ff
Some work on compo entry listing.
Matti Hamalainen <ccr@tnsp.org>
parents:
247
diff
changeset
|
188 |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
189 jsSendPOSTRequest("action=get&type=compolist", msuccess); |
0 | 190 } |
191 | |
192 | |
256
ed8d8d016420
Add refreshCMEntry(id) function for updating one entry only.
Matti Hamalainen <ccr@tnsp.org>
parents:
255
diff
changeset
|
193 function refreshCMEntry(id) |
ed8d8d016420
Add refreshCMEntry(id) function for updating one entry only.
Matti Hamalainen <ccr@tnsp.org>
parents:
255
diff
changeset
|
194 { |
258 | 195 refreshItems("entry"+ id, "entry", "&id="+ id); |
256
ed8d8d016420
Add refreshCMEntry(id) function for updating one entry only.
Matti Hamalainen <ccr@tnsp.org>
parents:
255
diff
changeset
|
196 } |
ed8d8d016420
Add refreshCMEntry(id) function for updating one entry only.
Matti Hamalainen <ccr@tnsp.org>
parents:
255
diff
changeset
|
197 |
ed8d8d016420
Add refreshCMEntry(id) function for updating one entry only.
Matti Hamalainen <ccr@tnsp.org>
parents:
255
diff
changeset
|
198 |
253
bbe0d57d6ac9
Use a refresh function dispatcher.
Matti Hamalainen <ccr@tnsp.org>
parents:
250
diff
changeset
|
199 function refreshDispatchCM(id) |
0 | 200 { |
258 | 201 refreshItems("tabContCM"+ id, "entries", "&id="+ id); |
0 | 202 } |
203 | |
204 | |
205 function addNews() | |
206 { | |
346
c922e5200c55
Rename makePostArgs() to jsMakePostArgs().
Matti Hamalainen <ccr@tnsp.org>
parents:
345
diff
changeset
|
207 var args = jsMakePostArgs({"title":1,"text":1,"author":1}, "nn", ""); |
0 | 208 |
209 var msuccess = function(txt) | |
210 { | |
253
bbe0d57d6ac9
Use a refresh function dispatcher.
Matti Hamalainen <ccr@tnsp.org>
parents:
250
diff
changeset
|
211 setTimeout("refreshDispatchCC('News');", 50); |
0 | 212 } |
213 | |
61
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
214 if (args != "") |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
215 jsSendPOSTRequest("action=add&type=news&"+args, msuccess); |
61
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
216 |
0 | 217 return false; |
218 } | |
219 | |
220 | |
221 function deleteNews(id) | |
222 { | |
253
bbe0d57d6ac9
Use a refresh function dispatcher.
Matti Hamalainen <ccr@tnsp.org>
parents:
250
diff
changeset
|
223 deleteItem(id, "news", "news", "refreshDispatchCC('News');", "news item"); |
0 | 224 } |
225 | |
226 | |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
227 |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
228 function updateNews(id) |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
229 { |
346
c922e5200c55
Rename makePostArgs() to jsMakePostArgs().
Matti Hamalainen <ccr@tnsp.org>
parents:
345
diff
changeset
|
230 var args = jsMakePostArgs({"title":1,"text":1,"author":1}, "ne", id); |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
231 |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
232 var msuccess = function(txt) |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
233 { |
258 | 234 refreshItems("news"+id, "newsitem", "&id="+id); |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
235 } |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
236 |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
237 if (args != "") |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
238 jsSendPOSTRequest("action=update&type=news&id="+id+"&"+args, msuccess); |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
239 } |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
240 |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
241 |
61
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
242 function addAttendee() |
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
243 { |
346
c922e5200c55
Rename makePostArgs() to jsMakePostArgs().
Matti Hamalainen <ccr@tnsp.org>
parents:
345
diff
changeset
|
244 var args = jsMakePostArgs({"name":1,"groups":1,"oneliner":1,"email":1}, "ne", "x"); |
61
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
245 |
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
246 var msuccess = function(txt) |
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
247 { |
253
bbe0d57d6ac9
Use a refresh function dispatcher.
Matti Hamalainen <ccr@tnsp.org>
parents:
250
diff
changeset
|
248 setTimeout("refreshDispatchCC('Attendees');", 50); |
61
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
249 } |
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
250 |
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
251 if (args != "") |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
252 jsSendPOSTRequest("action=add&type=attendees&"+args, msuccess); |
61
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
253 |
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
254 return false; |
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
255 } |
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
256 |
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
257 |
0 | 258 function deleteAttendee(id) |
259 { | |
253
bbe0d57d6ac9
Use a refresh function dispatcher.
Matti Hamalainen <ccr@tnsp.org>
parents:
250
diff
changeset
|
260 deleteItem(id, "attendee", "attendees", "refreshDispatchCC('Attendees');", "attendee"); |
0 | 261 } |
262 | |
263 | |
264 function updateAttendee(id) | |
265 { | |
346
c922e5200c55
Rename makePostArgs() to jsMakePostArgs().
Matti Hamalainen <ccr@tnsp.org>
parents:
345
diff
changeset
|
266 var args = jsMakePostArgs({"name":1,"groups":1,"oneliner":1,"email":1}, "at", id); |
0 | 267 |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
268 var msuccess = function(txt) |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
269 { |
258 | 270 refreshItems("attendee"+id, "attendee", "&id="+id+"&edit=1"); |
53
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
271 } |
71256605546b
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
52
diff
changeset
|
272 |
61
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
273 if (args != "") |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
274 jsSendPOSTRequest("action=update&type=attendees&id="+id+"&"+args, msuccess); |
0 | 275 } |
276 | |
277 | |
205
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
202
diff
changeset
|
278 function activateAttendee(id) |
52
cba0b944da79
Start combining "users" with "attendees".
Matti Hamalainen <ccr@tnsp.org>
parents:
33
diff
changeset
|
279 { |
205
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
202
diff
changeset
|
280 var msuccess1 = function(txt) |
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
202
diff
changeset
|
281 { |
217
d313f9907610
Fix active attendee handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
215
diff
changeset
|
282 var nitem = document.getElementById("attendee"+prevAttendee); |
206
1fa109a0c583
Change active attendee entry's background color as indicator.
Matti Hamalainen <ccr@tnsp.org>
parents:
205
diff
changeset
|
283 if (nitem) |
1fa109a0c583
Change active attendee entry's background color as indicator.
Matti Hamalainen <ccr@tnsp.org>
parents:
205
diff
changeset
|
284 { |
1fa109a0c583
Change active attendee entry's background color as indicator.
Matti Hamalainen <ccr@tnsp.org>
parents:
205
diff
changeset
|
285 nitem.innerHTML = txt; |
1fa109a0c583
Change active attendee entry's background color as indicator.
Matti Hamalainen <ccr@tnsp.org>
parents:
205
diff
changeset
|
286 nitem.style.background = activeTmp; |
1fa109a0c583
Change active attendee entry's background color as indicator.
Matti Hamalainen <ccr@tnsp.org>
parents:
205
diff
changeset
|
287 } |
205
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
202
diff
changeset
|
288 } |
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
202
diff
changeset
|
289 |
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
202
diff
changeset
|
290 var msuccess2 = function(txt) |
52
cba0b944da79
Start combining "users" with "attendees".
Matti Hamalainen <ccr@tnsp.org>
parents:
33
diff
changeset
|
291 { |
205
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
202
diff
changeset
|
292 var nitem = document.getElementById("attendee"+id); |
206
1fa109a0c583
Change active attendee entry's background color as indicator.
Matti Hamalainen <ccr@tnsp.org>
parents:
205
diff
changeset
|
293 if (nitem) |
1fa109a0c583
Change active attendee entry's background color as indicator.
Matti Hamalainen <ccr@tnsp.org>
parents:
205
diff
changeset
|
294 { |
1fa109a0c583
Change active attendee entry's background color as indicator.
Matti Hamalainen <ccr@tnsp.org>
parents:
205
diff
changeset
|
295 nitem.innerHTML = txt; |
1fa109a0c583
Change active attendee entry's background color as indicator.
Matti Hamalainen <ccr@tnsp.org>
parents:
205
diff
changeset
|
296 activeTmp = nitem.style.background; |
1fa109a0c583
Change active attendee entry's background color as indicator.
Matti Hamalainen <ccr@tnsp.org>
parents:
205
diff
changeset
|
297 nitem.style.background = "green"; |
1fa109a0c583
Change active attendee entry's background color as indicator.
Matti Hamalainen <ccr@tnsp.org>
parents:
205
diff
changeset
|
298 activeAttendee = id; |
1fa109a0c583
Change active attendee entry's background color as indicator.
Matti Hamalainen <ccr@tnsp.org>
parents:
205
diff
changeset
|
299 } |
52
cba0b944da79
Start combining "users" with "attendees".
Matti Hamalainen <ccr@tnsp.org>
parents:
33
diff
changeset
|
300 } |
205
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
202
diff
changeset
|
301 |
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
202
diff
changeset
|
302 if (activeAttendee != id) |
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
202
diff
changeset
|
303 { |
217
d313f9907610
Fix active attendee handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
215
diff
changeset
|
304 prevAttendee = activeAttendee; |
d313f9907610
Fix active attendee handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
215
diff
changeset
|
305 activeAttendee = id; |
d313f9907610
Fix active attendee handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
215
diff
changeset
|
306 |
d313f9907610
Fix active attendee handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
215
diff
changeset
|
307 if (prevAttendee != -1) |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
308 jsSendPOSTRequest("action=get&type=attendee&id="+prevAttendee+"&edit=0", msuccess1); |
205
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
202
diff
changeset
|
309 |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
310 jsSendPOSTRequest("action=get&type=attendee&id="+id+"&edit=1", msuccess2); |
205
77d33161f8be
More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents:
202
diff
changeset
|
311 } |
52
cba0b944da79
Start combining "users" with "attendees".
Matti Hamalainen <ccr@tnsp.org>
parents:
33
diff
changeset
|
312 } |
cba0b944da79
Start combining "users" with "attendees".
Matti Hamalainen <ccr@tnsp.org>
parents:
33
diff
changeset
|
313 |
cba0b944da79
Start combining "users" with "attendees".
Matti Hamalainen <ccr@tnsp.org>
parents:
33
diff
changeset
|
314 |
0 | 315 function addCompo() |
316 { | |
346
c922e5200c55
Rename makePostArgs() to jsMakePostArgs().
Matti Hamalainen <ccr@tnsp.org>
parents:
345
diff
changeset
|
317 var args = jsMakePostArgs({"name":1, "description":1}, "nc", ""); |
0 | 318 |
319 var msuccess = function(txt) | |
320 { | |
253
bbe0d57d6ac9
Use a refresh function dispatcher.
Matti Hamalainen <ccr@tnsp.org>
parents:
250
diff
changeset
|
321 setTimeout("refreshDispatchCC('Compos');", 50); |
0 | 322 } |
323 | |
61
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
324 if (args != "") |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
325 jsSendPOSTRequest("action=add&type=compo&"+args, msuccess); |
0 | 326 return false; |
327 } | |
328 | |
329 | |
330 function updateCompo(id) | |
331 { | |
346
c922e5200c55
Rename makePostArgs() to jsMakePostArgs().
Matti Hamalainen <ccr@tnsp.org>
parents:
345
diff
changeset
|
332 var args = jsMakePostArgs({"name":1, "description":1, "visible":3, "voting":3, "showAuthors":3}, "co", id); |
0 | 333 |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
334 var msuccess = function(txt) |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
335 { |
258 | 336 refreshItems("compo"+id, "compo", "&id="+id); |
223
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
337 } |
532704115290
Make it possible to update news entries.
Matti Hamalainen <ccr@tnsp.org>
parents:
219
diff
changeset
|
338 |
61
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
339 if (args != "") |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
340 jsSendPOSTRequest("action=update&type=compo&id="+id+"&"+args, msuccess); |
0 | 341 } |
342 | |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
343 |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
344 function addEntry(id) |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
345 { |
346
c922e5200c55
Rename makePostArgs() to jsMakePostArgs().
Matti Hamalainen <ccr@tnsp.org>
parents:
345
diff
changeset
|
346 var args = jsMakePostArgs({"name":1, "author":1, "filename":1, "info":1}, "ne", id); |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
347 |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
348 var msuccess = function(txt) |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
349 { |
256
ed8d8d016420
Add refreshCMEntry(id) function for updating one entry only.
Matti Hamalainen <ccr@tnsp.org>
parents:
255
diff
changeset
|
350 setTimeout("refreshDispatchCM("+ id +");", 50); |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
351 } |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
352 |
61
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
353 if (args != "") |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
354 jsSendPOSTRequest("action=add&type=entry&compo_id="+id+"&"+args, msuccess); |
289
b91e92f18cac
Make changing of entry's compo_id to work in a somewhat more userfriendly manner.
Matti Hamalainen <ccr@tnsp.org>
parents:
286
diff
changeset
|
355 |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
356 return false; |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
357 } |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
358 |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
359 |
289
b91e92f18cac
Make changing of entry's compo_id to work in a somewhat more userfriendly manner.
Matti Hamalainen <ccr@tnsp.org>
parents:
286
diff
changeset
|
360 function updateEntry(cid, id) |
0 | 361 { |
346
c922e5200c55
Rename makePostArgs() to jsMakePostArgs().
Matti Hamalainen <ccr@tnsp.org>
parents:
345
diff
changeset
|
362 var args = jsMakePostArgs({"name":1, "author":1, "filename":1, "info":1, "compo_id":2}, "en", id); |
289
b91e92f18cac
Make changing of entry's compo_id to work in a somewhat more userfriendly manner.
Matti Hamalainen <ccr@tnsp.org>
parents:
286
diff
changeset
|
363 var compo_id = lastPostArgs["compo_id"]; |
0 | 364 |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
365 var msuccess = function(txt) |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
366 { |
289
b91e92f18cac
Make changing of entry's compo_id to work in a somewhat more userfriendly manner.
Matti Hamalainen <ccr@tnsp.org>
parents:
286
diff
changeset
|
367 if (cid != compo_id) |
b91e92f18cac
Make changing of entry's compo_id to work in a somewhat more userfriendly manner.
Matti Hamalainen <ccr@tnsp.org>
parents:
286
diff
changeset
|
368 { |
b91e92f18cac
Make changing of entry's compo_id to work in a somewhat more userfriendly manner.
Matti Hamalainen <ccr@tnsp.org>
parents:
286
diff
changeset
|
369 var nitem = document.getElementById("entry"+ id); |
b91e92f18cac
Make changing of entry's compo_id to work in a somewhat more userfriendly manner.
Matti Hamalainen <ccr@tnsp.org>
parents:
286
diff
changeset
|
370 if (nitem) |
b91e92f18cac
Make changing of entry's compo_id to work in a somewhat more userfriendly manner.
Matti Hamalainen <ccr@tnsp.org>
parents:
286
diff
changeset
|
371 nitem.style.display = "none"; |
b91e92f18cac
Make changing of entry's compo_id to work in a somewhat more userfriendly manner.
Matti Hamalainen <ccr@tnsp.org>
parents:
286
diff
changeset
|
372 } |
b91e92f18cac
Make changing of entry's compo_id to work in a somewhat more userfriendly manner.
Matti Hamalainen <ccr@tnsp.org>
parents:
286
diff
changeset
|
373 else |
b91e92f18cac
Make changing of entry's compo_id to work in a somewhat more userfriendly manner.
Matti Hamalainen <ccr@tnsp.org>
parents:
286
diff
changeset
|
374 setTimeout("refreshCMEntry("+ id +");", 50); |
59
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
375 } |
e5e38ed4e837
Work on compo entry addition and editing.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
376 |
61
e85ed35585fc
Work on attendee editing, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
377 if (args != "") |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
378 jsSendPOSTRequest("action=update&type=entry&id="+id+"&"+args, msuccess); |
0 | 379 } |
380 | |
381 | |
258 | 382 function deleteEntry(cid, id) |
0 | 383 { |
258 | 384 deleteItem(id, "entry", "entries", "refreshDispatchCM("+ cid +");", "entry"); |
0 | 385 } |
386 | |
387 | |
321
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
388 function voteKeyRefresh(id, mode, args) |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
389 { |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
390 var msuccess2 = function(txt) |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
391 { |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
392 var nitem = document.getElementById("vkey"+id); |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
393 if (nitem) |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
394 nitem.className = txt; |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
395 } |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
396 |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
397 var msuccess1 = function(txt) |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
398 { |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
399 var nitem = document.getElementById("vkey"+id); |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
400 if (nitem) |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
401 nitem.innerHTML = txt; |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
402 } |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
403 |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
404 var msuccess = function(txt) |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
405 { |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
406 jsSendPOSTRequest("action=get&type=votekey&id="+id, msuccess1); |
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
407 jsSendPOSTRequest("action=get&type=votekeyclass&id="+id, msuccess2); |
321
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
408 } |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
409 |
342
3175ec252c73
Rename sendPOSTRequest() to jsSendPOSTRequest().
Matti Hamalainen <ccr@tnsp.org>
parents:
341
diff
changeset
|
410 jsSendPOSTRequest("action=update&type=votekey&mode="+mode+"&id="+id+"&"+args, msuccess); |
321
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
411 } |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
412 |
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
413 |
320 | 414 function voteKeySetActive(id) |
308
3cfd95758377
A bit of work on vote key management backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
299
diff
changeset
|
415 { |
346
c922e5200c55
Rename makePostArgs() to jsMakePostArgs().
Matti Hamalainen <ccr@tnsp.org>
parents:
345
diff
changeset
|
416 var args = jsMakePostArgs({"active":3}, "vk", id); |
321
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
417 voteKeyRefresh(id, "active", args); |
308
3cfd95758377
A bit of work on vote key management backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
299
diff
changeset
|
418 } |
3cfd95758377
A bit of work on vote key management backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
299
diff
changeset
|
419 |
3cfd95758377
A bit of work on vote key management backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
299
diff
changeset
|
420 |
319
623acd958944
Simplify things, add clear button to vote key assignation.
Matti Hamalainen <ccr@tnsp.org>
parents:
312
diff
changeset
|
421 function voteKeyAssign(id, mode) |
308
3cfd95758377
A bit of work on vote key management backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
299
diff
changeset
|
422 { |
346
c922e5200c55
Rename makePostArgs() to jsMakePostArgs().
Matti Hamalainen <ccr@tnsp.org>
parents:
345
diff
changeset
|
423 var args = jsMakePostArgs({"key_id":2}, "vk", id); |
308
3cfd95758377
A bit of work on vote key management backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
299
diff
changeset
|
424 |
341
eaf435c99fe4
Add confirmBox() wrapper function as well.
Matti Hamalainen <ccr@tnsp.org>
parents:
340
diff
changeset
|
425 if ((mode == 0 && confirmBox("Are you sure you want to clear vote key assign #"+id+"?")) || mode != 0) |
319
623acd958944
Simplify things, add clear button to vote key assignation.
Matti Hamalainen <ccr@tnsp.org>
parents:
312
diff
changeset
|
426 { |
321
9462a59d3ab3
Votekey activation usability improvements.
Matti Hamalainen <ccr@tnsp.org>
parents:
320
diff
changeset
|
427 voteKeyRefresh(id, (mode ? "assign" : "clear"), args); |
319
623acd958944
Simplify things, add clear button to vote key assignation.
Matti Hamalainen <ccr@tnsp.org>
parents:
312
diff
changeset
|
428 } |
308
3cfd95758377
A bit of work on vote key management backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
299
diff
changeset
|
429 } |
3cfd95758377
A bit of work on vote key management backend.
Matti Hamalainen <ccr@tnsp.org>
parents:
299
diff
changeset
|
430 |
0 | 431 |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
432 function updateTabList(tabset, extra) |
0 | 433 { |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
434 var tabs = ""; |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
435 var content = ""; |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
436 |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
437 for (var id in registeredTabs[tabset]) |
0 | 438 { |
258 | 439 var thead = registeredTabs[tabset][id]; |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
440 tabs += "<a id=\"tabHead"+ tabset + id + |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
441 "\"href=\"#\" onClick=\"switchActiveTab('"+tabset+"', '"+id+ |
263 | 442 "')\">"+ thead.replace(/\s/g, " ") +"</a> "; |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
443 |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
444 content += "<div id=\"tabCont"+ tabset + id +"\"></div>"; |
0 | 445 } |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
446 |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
447 var item = document.getElementById("tabHeaders"+ tabset); |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
448 if (item) item.innerHTML = tabs + extra; |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
449 |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
450 item = document.getElementById("tabContents"+ tabset); |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
451 if (item) item.innerHTML = content; |
0 | 452 } |
453 | |
454 | |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
455 function registerTab(tabset, id, name) |
0 | 456 { |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
457 if (!registeredTabs[tabset]) |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
458 registeredTabs[tabset] = Object(); |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
459 |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
460 registeredTabs[tabset][id] = name; |
0 | 461 } |
462 | |
463 | |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
464 function switchActiveTab(tabset, tab) |
0 | 465 { |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
466 for (var id in registeredTabs[tabset]) |
0 | 467 { |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
468 var tabContent = document.getElementById("tabCont"+ tabset + id); |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
469 var tabHead = document.getElementById("tabHead"+ tabset + id); |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
470 if (tabContent && tabHead) |
0 | 471 { |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
472 tabContent.style.display = (tab == id) ? "block" : "none"; |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
473 tabHead.style.borderTop = (tab == id) ? "4px solid white" : "none"; |
0 | 474 if (tab == id) |
475 { | |
260
6a1f1f2f2141
Make tab selection in subtabs persistent.
Matti Hamalainen <ccr@tnsp.org>
parents:
259
diff
changeset
|
476 activeTabs[tabset] = id; |
253
bbe0d57d6ac9
Use a refresh function dispatcher.
Matti Hamalainen <ccr@tnsp.org>
parents:
250
diff
changeset
|
477 setTimeout("refreshDispatch"+ tabset +"('"+ id +"');", 10); |
0 | 478 } |
479 } | |
480 } | |
481 } | |
482 </script> | |
483 | |
5
76c3b89d7b11
Improve voting, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
484 <!-- ========================== --> |
0 | 485 |
345 | 486 <div id="adminContent"> |
487 | |
5
76c3b89d7b11
Improve voting, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
488 <div id="nstatus">-</div> |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
489 <div id="tabHeadersCC" class="tabHeaders"></div> |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
490 <div id="tabContentsCC" class="tabContents"></div> |
171
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
491 |
0 | 492 <script type="text/javascript"> |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
493 registerTab("CC", "Settings", "Settings"); |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
494 registerTab("CC", "News", "News"); |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
495 registerTab("CC", "Attendees", "Attendees"); |
271 | 496 registerTab("CC", "Voting", "Voting"); |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
497 registerTab("CC", "Compos", "Compos"); |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
498 registerTab("CC", "Entries", "Entries"); |
267 | 499 registerTab("CC", "InfoSys", "Infosystem"); |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
500 updateTabList("CC", |
263 | 501 "<a class=\"admin\" href=\"admlogout.php\">Logout</a> " + |
201
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
502 "<a class=\"admin\" href=\"about\">Mainpage</a>"); |
a4be19c4d99d
Modularize admin pages tab system.
Matti Hamalainen <ccr@tnsp.org>
parents:
189
diff
changeset
|
503 switchActiveTab("CC", "Settings"); |
0 | 504 </script> |
171
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
505 <? |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
506 } |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
507 |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
508 cmPrintPageFooter(); |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
509 |
705dabdc37d4
Move administration interface page to separate layout, to make things less cramped.
Matti Hamalainen <ccr@tnsp.org>
parents:
136
diff
changeset
|
510 ?> |