* Replaced serv_gets() with serv_getln() - which now requires the caller
[citadel.git] / webcit / paging.c
index fe4a9141b9aecfd50ee31c8f2ffbbe6a618c1fb8..f05ed31cb7f8f61688a10cb00646c9e719008af0 100644 (file)
@@ -36,10 +36,20 @@ void display_page(void)
 
        strcpy(recp, bstr("recp"));
 
-       output_headers(1, 1, 0, 0, 0, 0, 0);
-
-       svprintf("BOXTITLE", WCS_STRING, "Page: %s", recp);
-       do_template("beginbox");
+        output_headers(1, 1, 2, 0, 0, 0, 0);
+        wprintf("<div id=\"banner\">\n"
+                "<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>"
+                "<SPAN CLASS=\"titlebar\">Send instant message</SPAN>"
+                "</TD></TR></TABLE>\n"
+                "</div>\n<div id=\"content\">\n"
+        );
+                                                                                                                             
+        wprintf("<div id=\"fix_scrollbar_bug\">"
+               "<table border=0 width=100%% bgcolor=\"#ffffff\"><tr><td>\n");
+
+       wprintf("Send an instant message to: ");
+       escputs(recp);
+       wprintf("<br>\n");
 
        wprintf("<FORM METHOD=\"POST\" ACTION=\"/page_user\">\n");
 
@@ -64,7 +74,7 @@ void display_page(void)
        wprintf("<br /><A HREF=\"javascript:window.close();\"Cancel</A>\n");
 
        wprintf("</FORM></CENTER>\n");
-       do_template("endbox");
+       wprintf("</td></tr></table></div>\n");
        wDumpContent(1);
 }
 
@@ -78,8 +88,14 @@ void page_user(void)
        char buf[SIZ];
        char closewin[SIZ];
 
-       output_headers(1, 1, 0, 0, 0, 0, 0);
-
+        output_headers(1, 1, 2, 0, 0, 0, 0);
+        wprintf("<div id=\"banner\">\n"
+                "<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>"
+                "<SPAN CLASS=\"titlebar\">Add or edit an event</SPAN>"
+                "</TD></TR></TABLE>\n"
+                "</div>\n<div id=\"content\">\n"
+        );
+                                                                                                                             
        strcpy(recp, bstr("recp"));
        strcpy(sc, bstr("sc"));
        strcpy(closewin, bstr("closewin"));
@@ -88,7 +104,7 @@ void page_user(void)
                wprintf("<EM>Message was not sent.</EM><br />\n");
        } else {
                serv_printf("SEXP %s|-", recp);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
 
                if (buf[0] == '4') {
                        text_to_server(bstr("msgtext"), 0);
@@ -121,7 +137,7 @@ void do_chat(void)
 
        /* First, check to make sure we're still allowed in this room. */
        serv_printf("GOTO %s", WC->wc_roomname);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '2') {
                smart_goto("_BASEROOM_");
                return;
@@ -151,32 +167,24 @@ void page_popup(void)
        char buf[SIZ];
        char pagefrom[SIZ];
 
-       /* suppress express message check, do headers but no banner */
-       output_headers(1, 1, 0, 0, 0, 1, 0);
-
-       while (serv_puts("GEXP"), serv_gets(buf), buf[0]=='1') {
+       while (serv_puts("GEXP"), serv_getln(buf, sizeof buf), buf[0]=='1') {
 
-               extract(pagefrom, &buf[4], 3);
+               extract_token(pagefrom, &buf[4], 3, '|', sizeof pagefrom);
 
-               wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>");
-               wprintf("<SPAN CLASS=\"titlebar\">Instant message from ");
+               wprintf("<table border=1 bgcolor=\"#880000\"><tr><td>");
+               wprintf("<span class=\"titlebar\">Instant message from ");
                escputs(pagefrom);
-               wprintf("</SPAN></TD></TR></TABLE>\n");
-               
+               wprintf("</span></td></tr><tr><td><font color=\"#FFFFFF\">");
                fmout(NULL, "LEFT");
+               wprintf("</font></td></tr>"
+                       "<tr><td><div align=center><font color=\"#FFFFFF\">"
+                       "<a href=\"javascript:hide_page_popup()\">[ close window ]</a>"
+                       "</font></div>"
+                       "</td></tr>"
+                       "</table>\n");
        }
 
-       wprintf("<CENTER>");
-       wprintf("<A HREF=\"/display_page&closewin=yes&recp=");
-       urlescputs(pagefrom);
-        wprintf("\">[ reply ]</A>&nbsp;&nbsp;&nbsp;\n");
-
-       wprintf("<A HREF=\"javascript:window.close();\">"
-               "[ close window ]</A></B>\n"
-               "</CENTER>");
-
-       wDumpContent(1);
-       WC->HaveExpressMessages = 0;
+       WC->HaveInstantMessages = 0;
 }
 
 
@@ -211,19 +219,19 @@ int setup_chat_socket(void) {
                WC->serv_sock = WC->chat_sock;
                WC->chat_sock = i;
 
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] == '2') {
                        serv_printf("USER %s", WC->wc_username);
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
                        if (buf[0] == '3') {
                                serv_printf("PASS %s", WC->wc_password);
-                               serv_gets(buf);
+                               serv_getln(buf, sizeof buf);
                                if (buf[0] == '2') {
                                        serv_printf("GOTO %s", WC->wc_roomname);
-                                       serv_gets(buf);
+                                       serv_getln(buf, sizeof buf);
                                        if (buf[0] == '2') {
                                                serv_puts("CHAT");
-                                               serv_gets(buf);
+                                               serv_getln(buf, sizeof buf);
                                                if (buf[0] == '8') {
                                                        good_chatmode = 1;
                                                }
@@ -295,7 +303,7 @@ void chat_recv(void) {
                        WC->serv_sock = WC->chat_sock;
                        WC->chat_sock = i;
        
-                       serv_gets(buf);
+                       serv_getln(buf, sizeof buf);
 
                        if (!strcmp(buf, "000")) {
                                strcpy(buf, ":|exiting chat mode");
@@ -333,9 +341,9 @@ void chat_recv(void) {
                );
 
                for (i=0; i<num_tokens(output_data, '\n'); ++i) {
-                       extract_token(buf, output_data, i, '\n');
-                       extract_token(cl_user, buf, 0, '|');
-                       extract_token(cl_text, buf, 1, '|');
+                       extract_token(buf, output_data, i, '\n', sizeof buf);
+                       extract_token(cl_user, buf, 0, '|', sizeof cl_user);
+                       extract_token(cl_text, buf, 1, '|', sizeof cl_text);
 
                        if (strcasecmp(cl_text, "NOOP")) {