00001
00002
00003
00010 #include "webcit.h"
00011
00015 void display_main_menu(void)
00016 {
00017 output_headers(1, 1, 1, 0, 0, 0);
00018
00019 wprintf("<div class=\"fix_scrollbar_bug\">"
00020 "<table width=100%%>"
00021 "<tr><td colspan=\"2\">\n");
00022
00023 svprintf("BOXTITLE", WCS_STRING, _("Basic commands"));
00024 do_template("beginbox");
00025
00026 wprintf("\n"
00027 "<table border=0 cellspacing=1 cellpadding=1 width=99%%>"
00028 "<tr>"
00029 "<td>");
00031 wprintf("<ul class=\"adminitems\">");
00032
00033 wprintf("<li><a href=\"knrooms\">");
00034 wprintf(_("List known rooms"));
00035 wprintf("</a><span>");
00036 wprintf(_("Where can I go from here?"));
00037 wprintf("</span></li>\n");
00038
00039 wprintf("<li><a href=\"gotonext\">");
00040 wprintf(_("Goto next room"));
00041 wprintf("</a><span>");
00042 wprintf(_("...with <em>unread</em> messages"));
00043 wprintf("</span></li>\n");
00044
00045 wprintf("<li><a href=\"skip\">");
00046 wprintf(_("Skip to next room"));
00047 wprintf("</a><span>");
00048 wprintf(_("(come back here later)"));
00049 wprintf("</span></li>\n");
00050
00051 if ((strlen(WC->ugname) > 0) && (strcasecmp(WC->ugname, WC->wc_roomname))) {
00052 wprintf("<li><a href=\"ungoto\">");
00053 wprintf(_("Ungoto"));
00054 wprintf("</a><span>");
00055 wprintf(_("(oops! Back to %s)"), WC->ugname);
00056 wprintf("</span></li>\n");
00057 }
00058
00059 wprintf("</ul>\n");
00060
00061 wprintf("</td><td>\n");
00062
00063 wprintf("<ul class=\"adminitems\">");
00064
00065 wprintf("<li><a href=\"readnew\">");
00066 wprintf(_("Read new messages"));
00067 wprintf("</a><span>");
00068 wprintf(_("...in this room"));
00069 wprintf("</span></li>\n");
00070
00071 wprintf("<li><a href=\"readfwd\">");
00072 wprintf(_("Read all messages"));
00073 wprintf("</a><span>");
00074 wprintf(_("...old <EM>and</EM> new"));
00075 wprintf("</span></li>\n");
00076
00077 wprintf("<li><a href=\"display_enter\">");
00078 wprintf(_("Enter a message"));
00079 wprintf("</a><span>");
00080 wprintf(_("(post in this room)"));
00081 wprintf("</span></li>\n");
00082
00083 if (WC->room_flags & QR_VISDIR) {
00084 wprintf("<li><a href=\"display_room_directory\">");
00085 wprintf(_("File library"));
00086 wprintf("</a><span>");
00087 wprintf(_("(List files available for download)"));
00088 wprintf("</span></li>\n");
00089 }
00090
00091 wprintf("</ul>\n");
00092
00093 wprintf("</td><td>");
00094
00095 wprintf("<ul class=\"adminitems\">");
00096
00097 wprintf("<li><a href=\"summary\">");
00098 wprintf(_("Summary page"));
00099 wprintf("</a><span>");
00100 wprintf(_("Summary of my account"));
00101 wprintf("</span></li>\n");
00102
00103 wprintf("<li><a href=\"userlist\">\n");
00104 wprintf(_("User list"));
00105 wprintf("</a><span>");
00106 wprintf(_("(all registered users)"));
00107 wprintf("</span></li>\n");
00108
00109 wprintf("<li><a href=\"termquit\" TARGET=\"_top\">");
00110 wprintf(_("Log off"));
00111 wprintf("</a><span>");
00112 wprintf(_("Bye!"));
00113 wprintf("</span></li>\n");
00114
00115 wprintf("</ul>\n");
00116
00117 wprintf("</td></tr></table>\n");
00118 do_template("endbox");
00119
00120 wprintf("</td></tr>"
00121 "<tr valign=top><td width=50%%>");
00122
00123 svprintf("BOXTITLE", WCS_STRING, _("Your info"));
00124 do_template("beginbox");
00125
00126 wprintf("<ul class=\"adminitems\">");
00127
00128 wprintf("<li><a href=\"display_preferences\">");
00129 wprintf(_("Change your preferences and settings"));
00130 wprintf("</a></li>\n");
00131
00132 wprintf("<li><a href=\"display_reg\">");
00133 wprintf(_("Update your contact information"));
00134 wprintf("</a></li>\n");
00135
00136 wprintf("<li><a href=\"display_changepw\">");
00137 wprintf(_("Change your password"));
00138 wprintf("</a></li>\n");
00139
00140 wprintf("<li><a href=\"display_editbio\">");
00141 wprintf(_("Enter your 'bio'"));
00142 wprintf("</a></li>\n");
00143
00144 wprintf("<li><a href=\"display_editpic\">");
00145 wprintf(_("Edit your online photo"));
00146 wprintf("</a></li>\n");
00147
00148 wprintf("<li><a href=\"display_sieve\">");
00149 wprintf(_("View/edit server-side mail filters"));
00150 wprintf("</a></li>\n");
00151
00152 wprintf("</ul>\n");
00153
00154 do_template("endbox");
00155
00156 wprintf("</td><td width=50%%>");
00157
00158 svprintf("BOXTITLE", WCS_STRING, _("Advanced room commands"));
00159 do_template("beginbox");
00160
00161 wprintf("<ul class=\"adminitems\">");
00162
00163 if ((WC->axlevel >= 6) || (WC->is_room_aide)) {
00164 wprintf("<li><a href=\"display_editroom\">");
00165 wprintf(_("Edit or delete this room"));
00166 wprintf("</a></li>\n");
00167 }
00168
00169 wprintf("<li><a href=\"display_private\">");
00170 wprintf(_("Go to a 'hidden' room"));
00171 wprintf("</a></li>\n");
00172
00173 wprintf("<li><a href=\"display_entroom\">");
00174 wprintf(_("Create a new room"));
00175 wprintf("</a></li>\n");
00176
00177 wprintf("<li><a href=\"display_zap\">");
00178 wprintf(_("Zap (forget) this room (%s)"), WC->wc_roomname);
00179 wprintf("</a></li>\n");
00180
00181 wprintf("<li><a href=\"zapped_list\">");
00182 wprintf(_("List all forgotten rooms"));
00183 wprintf("</a></li>\n");
00184
00185 wprintf("</ul>\n");
00186
00187 do_template("endbox");
00188
00189 wprintf("</td></tr></table></div>");
00190 wDumpContent(2);
00191 }
00192
00193
00197 void display_aide_menu(void)
00198 {
00199 output_headers(1, 1, 2, 0, 0, 0);
00200
00201 wprintf("<div id=\"banner\">\n");
00202 wprintf("<div class=\"service_banner\">\n");
00203 wprintf("<h1>");
00204 wprintf(_("System Administration Menu"));
00205 wprintf("</h1>");
00206 wprintf("</div></div>");
00207
00208 wprintf("<div id=\"content\">");
00209
00210 wprintf("<div class=\"fix_scrollbar_bug\">"
00211 "<table border=0 width=99%%> "
00212 "<tr valign=top><td width=50%% rowspan=2>");
00213
00214 svprintf("BOXTITLE", WCS_STRING, _("Global Configuration"));
00215 do_template("beginbox");
00216
00217 wprintf("<ul class=\"adminitems\">");
00218
00219 wprintf("<li><a href=\"display_siteconfig\">");
00220 wprintf(_("Edit site-wide configuration"));
00221 wprintf("</a></li>\n");
00222
00223 wprintf("<li><a href=\"display_inetconf\">");
00224 wprintf(_("Domain names and Internet mail configuration"));
00225 wprintf("</a></li>\n");
00226
00227 wprintf("<li><a href=\"display_netconf\">");
00228 wprintf(_("Configure replication with other Citadel servers"));
00229 wprintf("</a></li>\n");
00230
00231 wprintf("<li><a href=\"display_smtpqueue\">");
00232 wprintf(_("View the outbound SMTP queue"));
00233 wprintf("</a></li>\n");
00234
00235 wprintf("</ul>");
00236
00237 do_template("endbox");
00238
00239 wprintf("</td><td width=50%%>");
00240
00241 svprintf("BOXTITLE", WCS_STRING, _("User account management"));
00242 do_template("beginbox");
00243
00244 wprintf("<ul class=\"adminitems\">");
00245
00246 wprintf("<li><a href=\"select_user_to_edit\">");
00247 wprintf(_("Add, change, delete user accounts"));
00248 wprintf("</a></li>\n");
00249
00250 wprintf("<li><a href=\"validate\">");
00251 wprintf(_("Validate new users"));
00252 wprintf("</a></li>\n");
00253
00254 wprintf("</ul>");
00255
00256 do_template("endbox");
00257
00258 wprintf("</td></tr><tr><td width=50%%>");
00259
00260 svprintf("BOXTITLE", WCS_STRING, _("Rooms and Floors"));
00261 do_template("beginbox");
00262
00263 wprintf("<ul class=\"adminitems\">");
00264
00265 wprintf("<li><a href=\"display_floorconfig\">");
00266 wprintf(_("Add, change, or delete floors"));
00267 wprintf("</a></li>\n");
00268
00269 wprintf("</ul>");
00270
00271 do_template("endbox");
00272
00273 wprintf("</td></tr></table></div>");
00274 wDumpContent(2);
00275 }
00276
00277
00278
00279
00280
00284 void display_generic(void)
00285 {
00286 output_headers(1, 1, 2, 0, 0, 0);
00287 wprintf("<div id=\"banner\">\n"
00288 "<table class=\"mainmenu_banner\"><tr><td>"
00289 "<span class=\"titlebar\">");
00290 wprintf(_("Enter a server command"));
00291 wprintf("</span></td></tr></table>\n"
00292 "</div>\n<div id=\"content\">\n"
00293 );
00294
00295 wprintf("<div class=\"fix_scrollbar_bug\">"
00296 "<table class=\"mainmenu_background\"><tr><td>\n");
00297
00298 wprintf("<center>");
00299 wprintf(_("This screen allows you to enter Citadel server commands which are "
00300 "not supported by WebCit. If you do not know what that means, "
00301 "then this screen will not be of much use to you."));
00302 wprintf("<br />\n");
00303
00304 wprintf("<form method=\"post\" action=\"do_generic\">\n");
00305
00306 wprintf(_("Enter command:"));
00307 wprintf("<br /><input type=\"text\" name=\"g_cmd\" size=80 maxlength=\"250\"><br />\n");
00308
00309 wprintf(_("Command input (if requesting SEND_LISTING transfer mode):"));
00310 wprintf("<br /><textarea name=\"g_input\" rows=10 cols=80 width=80></textarea><br />\n");
00311
00312 wprintf("<font size=-2>");
00313 wprintf(_("Detected host header is %s://%s"), (is_https ? "https" : "http"), WC->http_host);
00314 wprintf("</font>\n");
00315 wprintf("<input type=\"submit\" name=\"sc_button\" value=\"%s\">", _("Send command"));
00316 wprintf(" ");
00317 wprintf("<input type=\"submit\" name=\"cancel_button\" value=\"%s\"><br />\n", _("Cancel"));
00318
00319 wprintf("</form></center>\n");
00320 wprintf("</td></tr></table></div>\n");
00321 wDumpContent(1);
00322 }
00323
00327 void do_generic(void)
00328 {
00329 char buf[SIZ];
00330 char gcontent[SIZ];
00331 char *junk;
00332 size_t len;
00333
00334 if (strlen(bstr("sc_button")) == 0) {
00335 display_main_menu();
00336 return;
00337 }
00338
00339 output_headers(1, 1, 0, 0, 0, 0);
00340
00341 serv_printf("%s", bstr("g_cmd"));
00342 serv_getln(buf, sizeof buf);
00343
00344 svprintf("BOXTITLE", WCS_STRING, _("Server command results"));
00345 do_template("beginbox");
00346
00347 wprintf("<table border=0><tr><td>Command:</td><td><tt>");
00348 escputs(bstr("g_cmd"));
00349 wprintf("</tt></td></tr><tr><td>Result:</td><td><tt>");
00350 escputs(buf);
00351 wprintf("</tt></td></tr></table><br />\n");
00352
00353 if (buf[0] == '8') {
00354 serv_printf("\n\n000");
00355 }
00356 if ((buf[0] == '1') || (buf[0] == '8')) {
00357 while (serv_getln(gcontent, sizeof gcontent), strcmp(gcontent, "000")) {
00358 escputs(gcontent);
00359 wprintf("<br />\n");
00360 }
00361 wprintf("000");
00362 }
00363 if (buf[0] == '4') {
00364 text_to_server(bstr("g_input"));
00365 serv_puts("000");
00366 }
00367 if (buf[0] == '6') {
00368 len = atol(&buf[4]);
00369 junk = malloc(len);
00370 serv_read(junk, len);
00371 free(junk);
00372 }
00373 if (buf[0] == '7') {
00374 len = atol(&buf[4]);
00375 junk = malloc(len);
00376 memset(junk, 0, len);
00377 serv_write(junk, len);
00378 free(junk);
00379 }
00380 wprintf("<hr />");
00381 wprintf("<a href=\"display_generic\">Enter another command</a><br />\n");
00382 wprintf("<a href=\"display_advanced\">Return to menu</a>\n");
00383 do_template("endbox");
00384 wDumpContent(1);
00385 }
00386
00387
00393 void display_menubar(int as_single_page) {
00394
00395 if (as_single_page) {
00396 output_headers(0, 0, 0, 0, 0, 0);
00397 wprintf("<html>\n"
00398 "<head>\n"
00399 "<title>MenuBar</title>\n"
00400 "<style type=\"text/css\">\n"
00401 "body { text-decoration: none; }\n"
00402 "</style>\n"
00403 "</head>\n");
00404 do_template("background");
00405 }
00406
00407 do_template("menubar");
00408
00409 if (as_single_page) {
00410 wDumpContent(2);
00411 }
00412
00413
00414 }
00415
00416