Set up an option in output_headers() to optionally print the most
authorArt Cancro <ajc@citadel.org>
Mon, 14 Dec 1998 04:51:51 +0000 (04:51 +0000)
committerArt Cancro <ajc@citadel.org>
Mon, 14 Dec 1998 04:51:51 +0000 (04:51 +0000)
often used opening HTML as well as the HTTP headers.

webcit/ChangeLog
webcit/auth.c
webcit/child.h
webcit/mainmenu.c
webcit/messages.c
webcit/roomops.c
webcit/userlist.c
webcit/webcit.c
webcit/who.c

index 8f95ed9417d32a977102ee6704af0f6dc203f0ea..c27dd5e2fc3291dd02d2652859c78bd0aa4ea785 100644 (file)
@@ -9,6 +9,8 @@ Sun Dec 13 13:35:12 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * messages.c: added "move message" functionality
        * userlist.c: added.  This adds "userlist" and "show user" functions.
        * roomops.c: fixed buggy implementation of ungoto
+       * Set up an option in output_headers() to optionally print the most
+         often used opening HTML as well as the HTTP headers.
 
 Fri Dec 11 21:14:36 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * Brought over message reading and entry functions from old WebCit
index 9b878913412c8b6ded0095f3006b7f2edbcb554e..b001445060f74855a00628fdfb77fe10ff8f730b 100644 (file)
@@ -26,9 +26,7 @@ void display_login(char *mesg) {
        char buf[256];
 
        printf("HTTP/1.0 200 OK\n");
-       output_headers();
-
-       wprintf("<HTML><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+       output_headers(1);
 
        /* Da banner */
        wprintf("<CENTER><TABLE border=0 width=100%><TR><TD>\n");
@@ -147,8 +145,7 @@ void do_login(void) {
 
 void do_welcome(void) {
        printf("HTTP/1.0 200 OK\n");
-       output_headers();
-       wprintf("<HTML><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+       output_headers(1);
        wprintf("<CENTER><H1>");
        escputs(wc_username);
        wprintf("</H1>\n");
@@ -175,11 +172,10 @@ void do_logout(void) {
        strcpy(wc_port, "");
 
        printf("HTTP/1.0 200 OK\n");
-       output_headers();
        printf("X-WebCit-Session: close\n");
-       
-       wprintf("<HTML><HEAD><TITLE>Goodbye</TITLE></HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\"><CENTER>\n");
+       output_headers(1);
 
+       wprintf("<CENTER>");    
        serv_puts("MESG goodbye");
        serv_gets(buf);
 
index e8e037681d249dfcc3b4db607cb7b95582460bff..1055037774a9f8735f947d4173104121588840af 100644 (file)
@@ -27,7 +27,7 @@ void serv_printf(const char *format, ...);
 char *bstr(char *key);
 char *urlesc(char *);
 void urlescputs(char *);
-void output_headers(void);
+void output_headers(int);
 void wprintf(const char *format, ...);
 void extract(char *dest, char *source, int parmnum);
 int extract_int(char *source, int parmnum);
index 98bc44527b5f4652c732ebe7231cc0bba8e67d0e..44ae0cb8fec9c74207975f0d056cdf64f3ba882d 100644 (file)
@@ -195,8 +195,7 @@ wprintf("</FONT></TD></TR></TABLE>\n");
  */
 void display_main_menu(void) {
        printf("HTTP/1.0 200 OK\n");
-       output_headers();
-       wprintf("<HTML><HEAD><TITLE>WebCit main menu</TITLE></HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+       output_headers(1);
        embed_main_menu();
        wprintf("</BODY></HTML>\n");
        wDumpContent();
@@ -205,8 +204,7 @@ void display_main_menu(void) {
 
 void display_advanced_menu(void) {
        printf("HTTP/1.0 200 OK\n");
-       output_headers();
-       wprintf("<HTML><HEAD><TITLE>WebCit main menu</TITLE></HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+       output_headers(1);
        embed_advanced_menu();
        embed_main_menu();
        wprintf("</BODY></HTML>\n");
index b68c67cb7496ada9cd676299a2faa0eceed8448f..9f767dae4452dda49114d0d93b4065fcf8197659 100644 (file)
@@ -214,9 +214,7 @@ void readloop(char *oper) {
        int nummsgs;
 
        printf("HTTP/1.0 200 OK\n");
-       output_headers();
-        wprintf("<HTML><HEAD><TITLE>Messages</TITLE>\n");
-        wprintf("</HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+       output_headers(1);
 
        wprintf("<CENTER><B>%s - ",wc_roomname);
        if (!strcmp(oper,"readnew")) {
@@ -265,9 +263,7 @@ void post_message(void) {
        char buf[256];
 
        printf("HTTP/1.0 200 OK\n");
-       output_headers();
-        wprintf("<HTML>");
-        wprintf("<BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+       output_headers(1);
 
        strcpy(buf, bstr("sc"));
        if (strcasecmp(buf, "Save message")) {
@@ -329,9 +325,7 @@ void display_enter(void) {
        struct tm *tm;
 
        printf("HTTP/1.0 200 OK\n");
-       output_headers();
-        wprintf("<HTML>");
-        wprintf("</HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+       output_headers(1);
 
        sprintf(buf,"ENT0 0|%s|0|0",bstr("recp"));
        serv_puts(buf);
@@ -396,9 +390,7 @@ void confirm_delete_msg(void) {
        msgid = atol(bstr("msgid"));
        
        printf("HTTP/1.0 200 OK\n");
-       output_headers();
-        wprintf("<HTML>");
-        wprintf("</HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+       output_headers(1);
 
        wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=770000><TR><TD>");
        wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
@@ -430,9 +422,7 @@ void delete_msg(void) {
        msgid = atol(bstr("msgid"));
 
        printf("HTTP/1.0 200 OK\n");
-       output_headers();
-        wprintf("<HTML>");
-        wprintf("</HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+       output_headers(1);
 
        if (!strcasecmp(bstr("yesno"), "Yes")) {
                sprintf(buf, "DELE %ld", msgid);
@@ -462,9 +452,7 @@ void confirm_move_msg(void) {
        msgid = atol(bstr("msgid"));
        
        printf("HTTP/1.0 200 OK\n");
-       output_headers();
-        wprintf("<HTML>");
-        wprintf("</HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+       output_headers(1);
 
        wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=770000><TR><TD>");
        wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
@@ -512,9 +500,7 @@ void move_msg(void) {
        msgid = atol(bstr("msgid"));
 
        printf("HTTP/1.0 200 OK\n");
-       output_headers();
-        wprintf("<HTML>");
-        wprintf("</HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+       output_headers(1);
 
        if (!strcasecmp(bstr("yesno"), "Move")) {
                sprintf(buf, "MOVE %ld|%s", msgid, bstr("target_room"));
index 13d96c24779570e2dc5c33e7c1c438d2846a1233..dbf694a41cb9cb38fefa297a206fed6733b22b86 100644 (file)
@@ -116,8 +116,7 @@ void list_all_rooms_by_floor(void) {
        load_floorlist();
 
         printf("HTTP/1.0 200 OK\n");
-        output_headers();
-        wprintf("<HTML><HEAD><TITLE>List known rooms</TITLE></HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+        output_headers(1);
 
        wprintf("<TABLE width=100% border><TR><TH>Floor</TH>");
        wprintf("<TH>Rooms with new messages</TH>");
@@ -193,8 +192,7 @@ void gotoroom(char *gname, int display_name)
 
 
        printf("HTTP/1.0 200 OK\n");
-       output_headers();
-        wprintf("<HTML><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+       output_headers(1);
 
        if (display_name != 2) {
                /* store ungoto information */
index abe0971ff79f4200e3f93ac14cc86ede7c79cee3..f5c5ac6c88d38721f785580c93910ef92a8a9a4c 100644 (file)
@@ -37,9 +37,7 @@ void userlist(void) {
 
 
         printf("HTTP/1.0 200 OK\n");
-        output_headers();
-        wprintf("<HTML><HEAD><TITLE>User list</TITLE>\n");
-        wprintf("</HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+        output_headers(1);
 
        serv_puts("LIST");
        serv_gets(buf);
@@ -106,9 +104,7 @@ void showuser(void) {
        int have_pic;
 
         printf("HTTP/1.0 200 OK\n");
-        output_headers();
-        wprintf("<HTML><HEAD><TITLE>User profile</TITLE>\n");
-        wprintf("</HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+        output_headers(1);
 
 
         wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=007700><TR><TD>");
index c683e5082cb164b5a272a24eac884c330773137b..ed680bc51cb7a636d528021c6026d0678ab6cb92 100644 (file)
@@ -256,7 +256,7 @@ void getz(char *buf) {
 /*
  * Output all that important stuff that the browser will want to see
  */
-void output_headers(void) {
+void output_headers(int print_standard_html_head) {
 
        static char *unset = "; expires=28-May-1971 18:10:00 GMT";
 
@@ -281,6 +281,14 @@ void output_headers(void) {
        if (strlen(wc_roomname)>0) printf("Set-cookie: wc_roomname=%s\n",
                wc_roomname);
        else printf("Set-cookie: wc_roomname=%s\n", unset);
+
+       if (print_standard_html_head) {
+               wprintf("<HTML><HEAD><TITLE>");
+               escputs("WebCit");
+               wprintf("</TITLE></HEAD>");
+               wprintf("<BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+               }
+
        }
 
 void output_static(char *what) {
@@ -293,7 +301,7 @@ void output_static(char *what) {
        fp = fopen(buf, "rb");
        if (fp == NULL) {
                printf("HTTP/1.0 404 %s\n", strerror(errno));
-               output_headers();
+               output_headers(0);
                printf("Content-Type: text/plain\n");
                sprintf(buf, "%s: %s\n", what, strerror(errno));
                printf("Content-length: %d\n", strlen(buf));
@@ -302,7 +310,7 @@ void output_static(char *what) {
                }
        else {
                printf("HTTP/1.0 200 OK\n");
-               output_headers();
+               output_headers(0);
 
                if (!strncasecmp(&what[strlen(what)-4], ".gif", 4))
                        printf("Content-type: image/gif\n");
@@ -336,7 +344,7 @@ void output_image() {
        if (buf[0]=='2') {
                bytes = extract_long(&buf[4], 0);
                printf("HTTP/1.0 200 OK\n");
-               output_headers();
+               output_headers(0);
                printf("Content-type: image/gif\n");
                printf("Content-length: %ld\n", bytes);
                printf("\n");
@@ -358,7 +366,7 @@ void output_image() {
                }
        else {
                printf("HTTP/1.0 404 %s\n", strerror(errno));
-               output_headers();
+               output_headers(0);
                printf("Content-Type: text/plain\n");
                sprintf(buf, "Error retrieving image\n");
                printf("Content-length: %d\n", strlen(buf));
@@ -606,9 +614,8 @@ fclose(fp);
        /* When all else fails... */
        else {
                printf("HTTP/1.0 200 OK\n");
-               output_headers();
+               output_headers(1);
        
-               wprintf("<HTML><HEAD><TITLE>WebCit</TITLE></HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
                wprintf("TransactionCount is %d<BR>\n", TransactionCount);
                wprintf("You're in session %d<HR>\n", wc_session);
                wprintf("Command: <BR><PRE>\n");
index 3ad6008c93f11fc4d113a3038c96120ea6cbe624..3b5de640d0cdaae182044ba1f65630294ce5723d 100644 (file)
@@ -31,13 +31,7 @@ void whobbs(void) {
        int foundit;
 
         printf("HTTP/1.0 200 OK\n");
-        output_headers();
-        wprintf("<HTML><HEAD><TITLE>Who is online?</TITLE>\n");
-
-       /* Uncomment this line to cause the wholist to auto-refresh */
-       /* wprintf("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"60\">\n"); */
-
-       wprintf("</HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+        output_headers(1);
 
         wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=007700><TR><TD>");
         wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"<B>Users currently on ");