4 * Displays the "advanced" (main) menu.
13 void display_main_menu(void)
15 output_headers(1, 1, 1, 0, 0, 0);
17 wprintf("<div id=\"fix_scrollbar_bug\">"
19 "<TR><TD COLSPAN=2>\n");
21 svprintf("BOXTITLE", WCS_STRING, _("Basic commands"));
22 do_template("beginbox");
25 "<TABLE border=0 cellspacing=1 cellpadding=1 width=100%%>"
27 "<TD>"); /* start of first column */
29 wprintf("<a href=\"knrooms\"><span class=\"mainmenu\">");
30 wprintf(_("List known rooms"));
31 wprintf("</span></A><br /><span class=\"menudesc\">");
32 wprintf(_("Where can I go from here?"));
33 wprintf("</span><br />\n");
35 wprintf("<a href=\"gotonext\">"
36 "<span class=\"mainmenu\">");
37 wprintf(_("Goto next room"));
38 wprintf("</span></A><br />"
39 "<span class=\"menudesc\">");
40 wprintf(_("...with <EM>unread</EM> messages"));
41 wprintf("</span><br />\n");
43 wprintf("<a href=\"skip\">"
44 "<span class=\"mainmenu\">");
45 wprintf(_("Skip to next room"));
46 wprintf("</span></a><br />"
47 "<span class=\"menudesc\">");
48 wprintf(_("(come back here later)"));
51 if ((strlen(WC->ugname) > 0) && (strcasecmp(WC->ugname, WC->wc_roomname))) {
54 "<span class=\"mainmenu\">");
56 wprintf("</span></A><br />"
57 "<span class=\"menudesc\">");
58 wprintf(_("(oops! Back to %s)"), WC->ugname);
62 wprintf("</TD><TD>\n"); /* start of second column */
64 wprintf("<a href=\"readnew\">"
65 "<span class=\"mainmenu\">");
66 wprintf(_("Read new messages"));
67 wprintf("</span></A><br />"
68 "<span class=\"menudesc\">");
69 wprintf(_("...in this room"));
70 wprintf("</span><br />\n");
72 wprintf("<a href=\"readfwd\">"
73 "<span class=\"mainmenu\">");
74 wprintf(_("Read all messages"));
75 wprintf("</span></A><br />"
76 "<span class=\"menudesc\">");
77 wprintf(_("...old <EM>and</EM> new"));
78 wprintf("</span><br />\n");
80 wprintf("<a href=\"display_enter\">"
81 "<span class=\"mainmenu\">");
82 wprintf(_("Enter a message"));
83 wprintf("</span></A><br />"
84 "<span class=\"menudesc\">");
85 wprintf(_("(post in this room)"));
88 wprintf("</TD><TD>"); /* start of third column */
90 wprintf("<a href=\"summary\">"
91 "<span class=\"mainmenu\">");
92 wprintf(_("Summary page"));
93 wprintf("</span></A><br />"
94 "<span class=\"menudesc\">");
95 wprintf(_("Summary of my account"));
96 wprintf("</span><br />\n");
98 wprintf("<a href=\"userlist\">\n"
99 "<span class=\"mainmenu\">");
100 wprintf(_("User list"));
101 wprintf("</span></A><br />"
102 "<span class=\"menudesc\">");
103 wprintf(_("(all registered users)"));
104 wprintf("</span><br />\n");
106 wprintf("<a href=\"termquit\" TARGET=\"_top\">"
107 "<span class=\"mainmenu\">");
108 wprintf(_("Log off"));
109 wprintf("</span></A><br />"
110 "<span class=\"menudesc\">");
112 wprintf("</span>\n");
114 wprintf("</TD></TR></TABLE>\n");
115 do_template("endbox");
118 "<TR VALIGN=TOP><TD>");
120 svprintf("BOXTITLE", WCS_STRING, _("Your info"));
121 do_template("beginbox");
123 wprintf("<a href=\"display_preferences\">"
124 "<span class=\"mainmenu\">");
125 wprintf(_("Change your preferences and settings"));
126 wprintf("</span><br />\n");
128 wprintf("<a href=\"display_reg\">"
129 "<span class=\"mainmenu\">");
130 wprintf(_("Update your contact information"));
131 wprintf("</span><br />\n");
133 wprintf("<a href=\"display_changepw\">"
134 "<span class=\"mainmenu\">");
135 wprintf(_("Change your password"));
136 wprintf("</span></A><br />\n");
138 wprintf("<a href=\"display_editbio\">"
139 "<span class=\"mainmenu\">");
140 wprintf(_("Enter your 'bio'"));
141 wprintf("</span></a><br />\n");
143 wprintf("<a href=\"display_editpic\">"
144 "<span class=\"mainmenu\">");
145 wprintf(_("Edit your online photo"));
146 wprintf("</span></a>\n");
148 do_template("endbox");
150 wprintf("</TD><TD>");
152 svprintf("BOXTITLE", WCS_STRING, _("Advanced room commands"));
153 do_template("beginbox");
155 if ((WC->axlevel >= 6) || (WC->is_room_aide)) {
156 wprintf("<a href=\"display_editroom\">"
157 "<span class=\"mainmenu\">");
158 wprintf(_("Edit or delete this room"));
159 wprintf("</span></A><br />\n");
162 wprintf("<a href=\"display_private\">"
163 "<span class=\"mainmenu\">");
164 wprintf(_("Go to a 'hidden' room"));
165 wprintf("</span></A><br />\n");
167 wprintf("<a href=\"display_entroom\">"
168 "<span class=\"mainmenu\">");
169 wprintf(_("Create a new room"));
170 wprintf("</span></A><br />\n");
172 wprintf("<a href=\"display_zap\">"
173 "<span class=\"mainmenu\">");
174 wprintf(_("Zap (forget) this room (%s)"), WC->wc_roomname);
175 wprintf("</span></A><br />\n");
177 wprintf("<a href=\"zapped_list\">"
178 "<span class=\"mainmenu\">");
179 wprintf(_("List all forgotten rooms"));
180 wprintf("</span></A>\n");
182 do_template("endbox");
184 wprintf("</td></tr></table></div>");
190 * System administration menu
192 void display_aide_menu(void)
194 output_headers(1, 1, 2, 0, 0, 0);
195 wprintf("<div id=\"banner\">\n"
196 "<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>"
197 "<SPAN CLASS=\"titlebar\">");
198 wprintf(_("System Administration Menu"));
200 "</TD></TR></TABLE>\n"
201 "</div>\n<div id=\"content\">\n"
204 wprintf("<div id=\"fix_scrollbar_bug\">"
205 "<table border=0 width=100%%><tr valign=top><td>");
207 svprintf("BOXTITLE", WCS_STRING, _("Global Configuration"));
208 do_template("beginbox");
210 wprintf("<a href=\"display_siteconfig\">"
211 "<span class=\"mainmenu\">");
212 wprintf(_("Edit site-wide configuration"));
213 wprintf("</span></A><br />\n");
215 wprintf("<a href=\"display_inetconf\">"
216 "<span class=\"mainmenu\">");
217 wprintf(_("Domain names and Internet mail configuration"));
218 wprintf("</span></a><br />\n");
220 wprintf("<a href=\"display_netconf\">"
221 "<span class=\"mainmenu\">");
222 wprintf(_("Configure replication with other Citadel servers"));
223 wprintf("</span></A>\n");
225 do_template("endbox");
227 wprintf("</td><td>");
229 svprintf("BOXTITLE", WCS_STRING, _("User account management"));
230 do_template("beginbox");
232 wprintf("<a href=\"select_user_to_edit\">"
233 "<span class=\"mainmenu\">");
234 wprintf(_("Add, change, delete user accounts"));
235 wprintf("</span></A><br />\n");
237 wprintf("<a href=\"validate\">"
238 "<span class=\"mainmenu\">");
239 wprintf(_("Validate new users"));
240 wprintf("</span></A><br />\n");
242 do_template("endbox");
244 svprintf("BOXTITLE", WCS_STRING, _("Rooms and Floors"));
245 do_template("beginbox");
247 wprintf("<a href=\"display_floorconfig\">"
248 "<span class=\"mainmenu\">");
249 wprintf(_("Add, change, or delete floors"));
250 wprintf("</span></A>\n");
252 do_template("endbox");
254 wprintf("</td></tr></table></div>");
263 * Display the screen to enter a generic server command
265 void display_generic(void)
267 output_headers(1, 1, 2, 0, 0, 0);
268 wprintf("<div id=\"banner\">\n"
269 "<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>"
270 "<SPAN CLASS=\"titlebar\">");
271 wprintf(_("Enter a server command"));
272 wprintf("</SPAN></TD></TR></TABLE>\n"
273 "</div>\n<div id=\"content\">\n"
276 wprintf("<div id=\"fix_scrollbar_bug\">"
277 "<table border=0 width=100%% bgcolor=\"#ffffff\"><tr><td>\n");
280 wprintf(_("This screen allows you to enter Citadel server commands which are "
281 "not supported by WebCit. If you do not know what that means, "
282 "then this screen will not be of much use to you."));
285 wprintf("<FORM METHOD=\"POST\" action=\"do_generic\">\n");
287 wprintf(_("Enter command:"));
288 wprintf("<br /><INPUT TYPE=\"text\" NAME=\"g_cmd\" SIZE=80 MAXLENGTH=\"250\"><br />\n");
290 wprintf(_("Command input (if requesting SEND_LISTING transfer mode):"));
291 wprintf("<br /><TEXTAREA NAME=\"g_input\" ROWS=10 COLS=80 WIDTH=80></TEXTAREA><br />\n");
293 wprintf("<FONT SIZE=-2>");
294 wprintf(_("Detected host header is %s://%s"), (is_https ? "https" : "http"), WC->http_host);
295 wprintf("</FONT>\n");
296 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc_button\" VALUE=\"%s\">", _("Send command"));
298 wprintf("<INPUT TYPE=\"submit\" NAME=\"cancel_button\" VALUE=\"%s\"><br />\n", _("Cancel"));
300 wprintf("</FORM></CENTER>\n");
301 wprintf("</td></tr></table></div>\n");
305 void do_generic(void)
312 if (strlen(bstr("sc_button")) == 0) {
317 output_headers(1, 1, 0, 0, 0, 0);
319 serv_printf("%s", bstr("g_cmd"));
320 serv_getln(buf, sizeof buf);
322 svprintf("BOXTITLE", WCS_STRING, _("Server command results"));
323 do_template("beginbox");
325 wprintf("<TABLE border=0><TR><TD>Command:</TD><TD><TT>");
326 escputs(bstr("g_cmd"));
327 wprintf("</TT></TD></TR><TR><TD>Result:</TD><TD><TT>");
329 wprintf("</TT></TD></TR></TABLE><br />\n");
332 serv_printf("\n\n000");
334 if ((buf[0] == '1') || (buf[0] == '8')) {
335 while (serv_getln(gcontent, sizeof gcontent), strcmp(gcontent, "000")) {
342 text_to_server(bstr("g_input"), 0);
348 serv_read(junk, len);
354 memset(junk, 0, len);
355 serv_write(junk, len);
359 wprintf("<a href=\"display_generic\">Enter another command</A><br />\n");
360 wprintf("<a href=\"display_advanced\">Return to menu</A>\n");
361 do_template("endbox");
367 * Display the menubar. Set as_single_page to
368 * display HTML headers and footers -- otherwise it's assumed
369 * that the menubar is being embedded in another page.
371 void display_menubar(int as_single_page) {
373 if (as_single_page) {
374 output_headers(0, 0, 0, 0, 0, 0);
377 "<TITLE>MenuBar</TITLE>\n"
378 "<STYLE TYPE=\"text/css\">\n"
379 "BODY { text-decoration: none; }\n"
382 do_template("background");
385 do_template("menubar");
387 if (as_single_page) {