mainmenu.c

00001 /*
00002  * $Id: mainmenu.c 5170 2007-05-20 18:37:46Z thierry $
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"); /* start of second column */
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>");   /* start of third column */
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("&nbsp;");
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 

Generated on Wed Jun 20 23:13:08 2007 for webcit by  doxygen 1.5.2