]> code.citadel.org Git - citadel.git/blobdiff - webcit/roomops.c
* Better alignment of system messages
[citadel.git] / webcit / roomops.c
index 7031fd6da10eb7ed788872013aa52428e268dee1..8f580df660c3fbe37214289de3fa88dbe52f78b3 100644 (file)
@@ -301,7 +301,7 @@ void readinfo(void)
        serv_puts("RINF");
        serv_gets(buf);
        if (buf[0] == '1') {
-               fmout(NULL);
+               fmout(NULL, "CENTER");
        }
 }
 
@@ -320,7 +320,7 @@ void embed_room_graphic(void) {
        serv_gets(buf);
        if (buf[0] == '2') {
                wprintf("<TD BGCOLOR=\"#444455\">");
-               wprintf("<IMG SRC=\"/image&name=_roompic_&room=");
+               wprintf("<IMG HEIGHT=64 SRC=\"/image&name=_roompic_&room=");
                urlescputs(WC->wc_roomname);
                wprintf("\"></TD>");
                serv_puts("CLOS");
@@ -743,7 +743,8 @@ void display_editroom(void)
        serv_gets(buf);
 
        if (buf[0] != '2') {
-               display_error(&buf[4]);
+               strcpy(WC->ImportantMessage, &buf[4]);
+               display_main_menu();
                return;
        }
        extract(er_name, &buf[4], 0);
@@ -756,11 +757,11 @@ void display_editroom(void)
 
        /* print the tabbed dialog */
        wprintf("<TABLE border=0 cellspacing=0 cellpadding=0 width=100%%>"
-               "<TR ALIGN=CENTER BGCOLOR=\"#FFFFFF\">"
+               "<TR ALIGN=CENTER>"
                "<TD>&nbsp;</TD>\n");
 
        if (!strcmp(tab, "admin")) {
-               wprintf("<TD BGCOLOR=\"#000077\"><SPAN CLASS=\"tablabel\">");
+               wprintf("<TD BGCOLOR=\"#FFFFFF\"><SPAN CLASS=\"tablabel\">");
        }
        else {
                wprintf("<TD BGCOLOR=\"#AAAAAA\"><A HREF=\"/display_editroom&tab=admin\">");
@@ -776,7 +777,7 @@ void display_editroom(void)
        wprintf("<TD>&nbsp;</TD>\n");
 
        if (!strcmp(tab, "config")) {
-               wprintf("<TD BGCOLOR=\"#000077\"><SPAN CLASS=\"tablabel\">");
+               wprintf("<TD BGCOLOR=\"#FFFFFF\"><SPAN CLASS=\"tablabel\">");
        }
        else {
                wprintf("<TD BGCOLOR=\"#AAAAAA\"><A HREF=\"/display_editroom&tab=config\">");
@@ -792,7 +793,7 @@ void display_editroom(void)
        wprintf("<TD>&nbsp;</TD>\n");
 
        if (!strcmp(tab, "sharing")) {
-               wprintf("<TD BGCOLOR=\"#000077\"><SPAN CLASS=\"tablabel\">");
+               wprintf("<TD BGCOLOR=\"#FFFFFF\"><SPAN CLASS=\"tablabel\">");
        }
        else {
                wprintf("<TD BGCOLOR=\"#AAAAAA\"><A HREF=\"/display_editroom&tab=sharing\">");
@@ -808,7 +809,7 @@ void display_editroom(void)
        wprintf("<TD>&nbsp;</TD>\n");
 
        if (!strcmp(tab, "listserv")) {
-               wprintf("<TD BGCOLOR=\"#000077\"><SPAN CLASS=\"tablabel\">");
+               wprintf("<TD BGCOLOR=\"#FFFFFF\"><SPAN CLASS=\"tablabel\">");
        }
        else {
                wprintf("<TD BGCOLOR=\"#AAAAAA\"><A HREF=\"/display_editroom&tab=listserv\">");
@@ -1178,14 +1179,17 @@ void editroom(void)
 
 
        if (strcmp(bstr("sc"), "OK")) {
-               display_error("Cancelled.  Changes were not saved.");
+               strcpy(WC->ImportantMessage,
+                       "Cancelled.  Changes were not saved.");
+               display_main_menu();
                return;
        }
        serv_puts("GETR");
        serv_gets(buf);
 
        if (buf[0] != '2') {
-               display_error(&buf[4]);
+               strcpy(WC->ImportantMessage, &buf[4]);
+               display_main_menu();
                return;
        }
        extract(er_name, &buf[4], 0);
@@ -1291,7 +1295,8 @@ void editroom(void)
        serv_puts(buf);
        serv_gets(buf);
        if (buf[0] != '2') {
-               display_error(&buf[4]);
+               strcpy(WC->ImportantMessage, &buf[4]);
+               display_main_menu();
                return;
        }
        gotoroom(er_name, 0);
@@ -1301,7 +1306,8 @@ void editroom(void)
                serv_puts(buf);
                serv_gets(buf);
                if (buf[0] != '2') {
-                       display_error(&buf[4]);
+                       strcpy(WC->ImportantMessage, &buf[4]);
+                       display_main_menu();
                        return;
                }
        }
@@ -1319,28 +1325,24 @@ void display_whok(void)
         serv_gets(buf);
 
         if (buf[0] != '2') {
-                display_error(&buf[4]);
-                return;
+               strcpy(WC->ImportantMessage, &buf[4]);
+               display_main_menu();
+               return;
         }
         extract(room, &buf[4], 0);
 
         strcpy(username, bstr("username"));
 
-        output_headers(1);
-       stresc(buf, WC->wc_roomname, 1);
-       svprintf("BOXTITLE", WCS_STRING, "Access control list for %s", buf);
-       do_template("beginbox");
-
         if(!strcmp(bstr("sc"), "Kick")) {
                 sprintf(buf, "KICK %s", username);
                 serv_puts(buf);
                 serv_gets(buf);
 
                 if (buf[0] != '2') {
-                        display_error(&buf[4]);
-                        return;
+                        strcpy(WC->ImportantMessage, &buf[4]);
                 } else {
-                        wprintf("<B><I>User %s kicked out of room %s.</I></B>\n", 
+                        sprintf(WC->ImportantMessage,
+                               "<B><I>User %s kicked out of room %s.</I></B>\n", 
                                 username, room);
                 }
         } else if(!strcmp(bstr("sc"), "Invite")) {
@@ -1349,15 +1351,18 @@ void display_whok(void)
                 serv_gets(buf);
 
                 if (buf[0] != '2') {
-                        display_error(&buf[4]);
-                        return;
+                        strcpy(WC->ImportantMessage, &buf[4]);
                 } else {
-                        wprintf("<B><I>User %s invited to room %s.</I></B>\n", 
+                        sprintf(WC->ImportantMessage,
+                               "<B><I>User %s invited to room %s.</I></B>\n", 
                                 username, room);
                 }
         }
         
-
+        output_headers(1);
+       stresc(buf, WC->wc_roomname, 1);
+       svprintf("BOXTITLE", WCS_STRING, "Access control list for %s", buf);
+       do_template("beginbox");
 
        wprintf("<TABLE border=0 CELLSPACING=10><TR VALIGN=TOP>"
                "<TD>The users listed below have access to this room.  "
@@ -1411,7 +1416,8 @@ void display_entroom(void)
        serv_gets(buf);
 
        if (buf[0] != '2') {
-               display_error(&buf[4]);
+               strcpy(WC->ImportantMessage, &buf[4]);
+               display_main_menu();
                return;
        }
        output_headers(3);
@@ -1464,7 +1470,7 @@ void display_entroom(void)
        serv_printf("MESG roomaccess");
        serv_gets(buf);
        if (buf[0] == '1') {
-               fmout(NULL);
+               fmout(NULL, "CENTER");
        }
        do_template("endbox");
        wDumpContent(1);
@@ -1485,7 +1491,9 @@ void entroom(void)
        int er_num_type;
 
        if (strcmp(bstr("sc"), "OK")) {
-               display_error("Cancelled.  No new room was created.");
+               strcpy(WC->ImportantMessage,
+                       "Cancelled.  No new room was created.");
+               display_main_menu();
                return;
        }
        strcpy(er_name, bstr("er_name"));
@@ -1508,7 +1516,8 @@ void entroom(void)
        serv_puts(buf);
        serv_gets(buf);
        if (buf[0] != '2') {
-               display_error(&buf[4]);
+               strcpy(WC->ImportantMessage, &buf[4]);
+               display_main_menu();
                return;
        }
        smart_goto(er_name);
@@ -1527,7 +1536,7 @@ void display_private(char *rname, int req_pass)
        do_template("beginbox");
 
        wprintf("<CENTER>\n");
-       wprintf("If you know the name of a hidden (guess-name) or\n");
+       wprintf("<BR>If you know the name of a hidden (guess-name) or\n");
        wprintf("passworded room, you can enter that room by typing\n");
        wprintf("its name below.  Once you gain access to a private\n");
        wprintf("room, it will appear in your regular room listings\n");
@@ -1536,9 +1545,12 @@ void display_private(char *rname, int req_pass)
 
        wprintf("<FORM METHOD=\"GET\" ACTION=\"/goto_private\">\n");
 
-       wprintf("<TABLE border><TR><TD>");
-       wprintf("Enter room name:</TD><TD>");
-       wprintf("<INPUT TYPE=\"text\" NAME=\"gr_name\" VALUE=\"%s\" MAXLENGTH=\"19\">\n", rname);
+       wprintf("<table border=\"0\" cellspacing=\"5\" "
+               "cellpadding=\"5\" BGCOLOR=\"#EEEEEE\">\n"
+               "<TR><TD>"
+               "Enter room name:</TD><TD>"
+               "<INPUT TYPE=\"text\" NAME=\"gr_name\" "
+               "VALUE=\"%s\" MAXLENGTH=\"19\">\n", rname);
 
        if (req_pass) {
                wprintf("</TD></TR><TR><TD>");
@@ -1547,8 +1559,9 @@ void display_private(char *rname, int req_pass)
        }
        wprintf("</TD></TR></TABLE><BR>\n");
 
-       wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"OK\">");
-       wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
+       wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"OK\">"
+               "&nbsp;"
+               "<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
        wprintf("</FORM>\n");
        do_template("endbox");
        wDumpContent(1);
@@ -1656,7 +1669,8 @@ void confirm_delete_room(void)
        serv_puts("KILL 0");
        serv_gets(buf);
        if (buf[0] != '2') {
-               display_error(&buf[4]);
+               strcpy(WC->ImportantMessage, &buf[4]);
+               display_main_menu();
                return;
        }
        output_headers(1);
@@ -1690,13 +1704,17 @@ void delete_room(void)
        strcpy(sc, bstr("sc"));
 
        if (strcasecmp(sc, "Delete")) {
-               display_error("Cancelled.  This room was not deleted.");
+               strcpy(WC->ImportantMessage,
+                       "Cancelled.  This room was not deleted.");
+               display_main_menu();
                return;
        }
        serv_puts("KILL 1");
        serv_gets(buf);
        if (buf[0] != '2') {
-               display_error(&buf[4]);
+               strcpy(WC->ImportantMessage, &buf[4]);
+               display_main_menu();
+               return;
        } else {
                smart_goto("_BASEROOM_");
        }
@@ -1842,10 +1860,15 @@ void do_folder_view(struct folder *fold, int max_folders, int num_floors) {
                else {
                        wprintf("<i>");
                }
-               if (fold[i].hasnewmsgs) wprintf("<B>");
+               if (fold[i].hasnewmsgs) {
+                       wprintf("<SPAN CLASS=\"roomlist_new\">");
+               }
+               else {
+                       wprintf("<SPAN CLASS=\"roomlist_old\">");
+               }
                extract(buf, fold[i].name, levels-1);
                escputs(buf);
-               if (fold[i].hasnewmsgs) wprintf("</B>");
+               wprintf("</SPAN>");
                if (fold[i].selectable) {
                        wprintf("</A>");
                }
@@ -1872,8 +1895,11 @@ void do_rooms_view(struct folder *fold, int max_folders, int num_floors) {
        static int columns = 3;
        int boxes_per_column = 0;
        int current_column = 0;
+       int nf;
 
-       boxes_per_column = (num_floors / columns);
+       nf = num_floors;
+       while (nf % columns != 0) ++nf;
+       boxes_per_column = (nf / columns);
        if (boxes_per_column < 1) boxes_per_column = 1;
 
        /* Outer table (for columnization) */
@@ -1923,10 +1949,15 @@ void do_rooms_view(struct folder *fold, int max_folders, int num_floors) {
                        else {
                                wprintf("<i>");
                        }
-                       if (fold[i].hasnewmsgs) wprintf("<B>");
+                       if (fold[i].hasnewmsgs) {
+                               wprintf("<SPAN CLASS=\"roomlist_new\">");
+                       }
+                       else {
+                               wprintf("<SPAN CLASS=\"roomlist_old\">");
+                       }
                        extract(buf, fold[i].name, levels-1);
                        escputs(buf);
-                       if (fold[i].hasnewmsgs) wprintf("</B>");
+                       wprintf("</SPAN>");
                        if (fold[i].selectable) {
                                wprintf("</A>");
                        }