4 * Displays the "advanced" (main) menu.
14 #include <sys/types.h>
16 #include <sys/socket.h>
19 #include <netinet/in.h>
34 void display_main_menu(void)
36 output_headers(1, 1, 1, 0, 0, 0, 0);
38 wprintf("<center><TABLE WIDTH=99%%>"
39 "<TR><TD COLSPAN=2>\n");
41 svprintf("BOXTITLE", WCS_STRING, "Basic commands");
42 do_template("beginbox");
45 "<TABLE border=0 cellspacing=1 cellpadding=1 width=100%%>"
47 "<TD>"); /* start of first column */
49 wprintf("<A HREF=\"/knrooms\">"
50 "<span class=\"mainmenu\">"
51 "List known rooms</span></A><br />"
52 "<span class=\"menudesc\">"
53 "Where can I go from here?</span><br />\n"
56 wprintf("<A HREF=\"/gotonext\">"
57 "<span class=\"mainmenu\">"
58 "Goto next room</span></A><br />"
59 "<span class=\"menudesc\">"
60 "...with <EM>unread</EM> messages"
64 wprintf("<A HREF=\"/skip\">"
65 "<span class=\"mainmenu\">"
66 "Skip to next room</span></a><br />"
67 "<span class=\"menudesc\">"
68 "(come back here later)"
72 if ((strlen(WC->ugname) > 0) && (strcasecmp(WC->ugname, WC->wc_roomname))) {
74 "<A HREF=\"/ungoto\">"
75 "<span class=\"mainmenu\">"
76 "Ungoto</span></A><br />"
77 "<span class=\"menudesc\">"
79 "</span>\n", WC->ugname
83 wprintf("</TD><TD>\n"); /* start of second column */
85 wprintf("<A HREF=\"/readnew\">"
86 "<span class=\"mainmenu\">"
87 "Read new messages</span></A><br />"
88 "<span class=\"menudesc\">"
89 "...in this room</span><br />\n"
92 wprintf("<A HREF=\"/readfwd\">"
93 "<span class=\"mainmenu\">"
94 "Read all messages</span></A><br />"
95 "<span class=\"menudesc\">"
96 "...old <EM>and</EM> new</span><br />\n"
99 wprintf("<A HREF=\"/display_enter\">"
100 "<span class=\"mainmenu\">"
101 "Enter a message</span></A><br />"
102 "<span class=\"menudesc\">"
103 "(post in this room)</span>\n"
106 wprintf("</TD><TD>"); /* start of third column */
108 wprintf("<A HREF=\"/summary\">"
109 "<span class=\"mainmenu\">"
110 "Summary page</span></A><br />"
111 "<span class=\"menudesc\">"
112 "Summary of my account</span><br />\n"
115 wprintf("<A HREF=\"/userlist\">\n"
116 "<span class=\"mainmenu\">"
117 "User list</span></A><br />"
118 "<span class=\"menudesc\">"
119 "(all registered users)</span><br />\n"
122 wprintf("<A HREF=\"/termquit\" TARGET=\"_top\">"
123 "<span class=\"mainmenu\">"
124 "Log off</span></A><br />"
125 "<span class=\"menudesc\">"
129 wprintf("</TD></TR></TABLE>\n");
130 do_template("endbox");
133 "<TR VALIGN=TOP><TD>");
135 svprintf("BOXTITLE", WCS_STRING, "Your info");
136 do_template("beginbox");
138 wprintf("<A HREF=\"/display_reg\">"
139 "<span class=\"mainmenu\">"
140 "Update your contact information "
143 wprintf("<A HREF=\"/display_changepw\">"
144 "<span class=\"mainmenu\">"
145 "Change your password</span></A><br />\n");
147 wprintf("<A HREF=\"/display_editbio\">"
148 "<span class=\"mainmenu\">"
149 "Enter your 'bio'</span></a><br />\n");
151 wprintf("<A HREF=\"/display_editpic\">"
152 "<span class=\"mainmenu\">"
153 "Edit your online photo</span></a>\n");
155 do_template("endbox");
157 wprintf("</TD><TD>");
159 svprintf("BOXTITLE", WCS_STRING, "Advanced room commands");
160 do_template("beginbox");
162 if ((WC->axlevel >= 6) || (WC->is_room_aide)) {
163 wprintf("<A HREF=\"/display_editroom\">"
164 "<span class=\"mainmenu\">"
165 "Edit or delete this room</span></A><br />\n");
168 wprintf("<A HREF=\"/display_private\">"
169 "<span class=\"mainmenu\">"
170 "Go to a "hidden" room</span></A><br />\n");
172 wprintf("<A HREF=\"/display_entroom\">"
173 "<span class=\"mainmenu\">"
174 "Create a new room</span></A><br />\n");
176 wprintf("<A HREF=\"/display_zap\">"
177 "<span class=\"mainmenu\">"
178 "Zap (forget) this room (%s)</span></A><br />\n",
181 wprintf("<A HREF=\"/zapped_list\">"
182 "<span class=\"mainmenu\">"
183 "List all forgotten rooms</span></A>\n");
185 do_template("endbox");
187 wprintf("</td></tr></table></center>");
193 * System administration menu
195 void display_aide_menu(void)
197 output_headers(1, 1, 2, 0, 0, 0, 0);
198 wprintf("<div id=\"banner\">\n"
199 "<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>"
200 "<SPAN CLASS=\"titlebar\">System Administration Menu</SPAN>"
201 "</TD></TR></TABLE>\n"
202 "</div>\n<div id=\"content\">\n"
205 wprintf("<center><table border=0 width=99%% bgcolor=\"#ffffff\"><tr><td>\n");
207 wprintf("<A HREF=\"/display_siteconfig\">"
208 "<span class=\"mainmenu\">"
209 "Edit site-wide configuration</span></A>\n");
212 "<A HREF=\"/select_user_to_edit\">"
213 "<span class=\"mainmenu\">"
214 "Add, change, delete user accounts"
215 "</span></A><br />\n");
217 wprintf("<A HREF=\"/validate\">"
218 "<span class=\"mainmenu\">"
219 "Validate new users</span></A><br />\n");
221 wprintf("<A HREF=\"/display_floorconfig\">"
222 "<span class=\"mainmenu\">"
223 "Add, change, or delete floors"
224 "</span></A><br />\n");
226 wprintf("<A HREF=\"/display_netconf\">"
227 "<span class=\"mainmenu\">"
228 "Configure networking with other systems"
229 "</span></A><br />\n");
231 wprintf("<A HREF=\"/display_inetconf\">"
232 "<span class=\"mainmenu\">"
233 "Internet and domain configuration</span></a><br />\n");
235 wprintf("</td></tr></table></center>");
244 * Display the screen to enter a generic server command
246 void display_generic(void)
248 output_headers(1, 1, 2, 0, 0, 0, 0);
249 wprintf("<div id=\"banner\">\n"
250 "<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>"
251 "<SPAN CLASS=\"titlebar\">Enter a server command</SPAN>"
252 "</TD></TR></TABLE>\n"
253 "</div>\n<div id=\"content\">\n"
256 wprintf("<center><table border=0 width=99%% bgcolor=\"#ffffff\"><tr><td>\n");
259 wprintf("This screen allows you to enter Citadel server commands which are\n");
260 wprintf("not supported by WebCit. If you do not know what that means,\n");
261 wprintf("then this screen will not be of much use to you.<br />\n");
263 wprintf("<FORM METHOD=\"POST\" ACTION=\"/do_generic\">\n");
265 wprintf("Enter command:<br />\n");
266 wprintf("<INPUT TYPE=\"text\" NAME=\"g_cmd\" SIZE=80 MAXLENGTH=\"250\"><br />\n");
268 wprintf("Command input (if requesting SEND_LISTING transfer mode):<br />\n");
269 wprintf("<TEXTAREA NAME=\"g_input\" ROWS=10 COLS=80 WIDTH=80></TEXTAREA><br />\n");
271 wprintf("<FONT SIZE=-2>Detected host header is http://%s</FONT>\n",
273 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Send command\">");
275 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\"><br />\n");
277 wprintf("</FORM></CENTER>\n");
278 wprintf("</td></tr></table></center>\n");
282 void do_generic(void)
289 if (strcasecmp(bstr("sc"), "Send command")) {
294 output_headers(1, 1, 0, 0, 0, 0, 0);
296 serv_printf("%s", bstr("g_cmd"));
299 svprintf("BOXTITLE", WCS_STRING, "Server command results");
300 do_template("beginbox");
302 wprintf("<TABLE border=0><TR><TD>Command:</TD><TD><TT>");
303 escputs(bstr("g_cmd"));
304 wprintf("</TT></TD></TR><TR><TD>Result:</TD><TD><TT>");
306 wprintf("</TT></TD></TR></TABLE><br />\n");
309 serv_printf("\n\n000");
311 if ((buf[0] == '1') || (buf[0] == '8')) {
312 while (serv_gets(gcontent), strcmp(gcontent, "000")) {
319 text_to_server(bstr("g_input"), 0);
325 serv_read(junk, len);
331 memset(junk, 0, len);
332 serv_write(junk, len);
336 wprintf("<A HREF=\"/display_generic\">Enter another command</A><br />\n");
337 wprintf("<A HREF=\"/display_advanced\">Return to menu</A>\n");
338 do_template("endbox");
346 * Display the menubar. Set as_single_page to
347 * display HTML headers and footers -- otherwise it's assumed
348 * that the menubar is being embedded in another page.
350 void display_menubar(int as_single_page) {
352 if (as_single_page) {
353 output_headers(0, 0, 0, 0, 0, 0, 0);
356 "<TITLE>MenuBar</TITLE>\n"
357 "<STYLE TYPE=\"text/css\">\n"
358 "BODY { text-decoration: none; }\n"
361 do_template("background");
364 do_template("menubar");
366 if (as_single_page) {