]> code.citadel.org Git - citadel.git/blobdiff - webcit/roomchat.c
* Make the class names different from the div id's
[citadel.git] / webcit / roomchat.c
index c7eed1334d9c3d55e1721e0218f91149964f91fc..e5585e56eec790786905e82edb72bfc3e939d941 100644 (file)
@@ -62,10 +62,10 @@ void chat_recv(void) {
                if (strcasecmp(cl_user, WC->last_chat_user)) {
                        wc_printf("<br>\n");
                        if (!strcasecmp(cl_user, ChrPtr(WC->wc_fullname))) {
-                               wc_printf("<span class=\"chat_myname\">");
+                               wc_printf("<span class=\"chat_myname_class\">");
                        }
                        else {
-                               wc_printf("<span class=\"chat_notmyname\">");
+                               wc_printf("<span class=\"chat_notmyname_class\">");
                        }
                        escputs(cl_user);
                        strcpy(WC->last_chat_user, cl_user);
@@ -77,7 +77,7 @@ void chat_recv(void) {
                }
 
                /* what did they say ... */
-               wc_printf("<span class=\"chat_text\">");
+               wc_printf("<span class=\"chat_text_class\">");
                while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        escputs(buf);
                }
@@ -129,10 +129,10 @@ void chat_rwho(void) {
        if (buf[0] == '1') {
                while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        if (!strcasecmp(buf, ChrPtr(WC->wc_fullname))) {
-                               wc_printf("<span class=\"chat_myname\">");
+                               wc_printf("<span class=\"chat_myname_class\">");
                        }
                        else {
-                               wc_printf("<span class=\"chat_notmyname\">");
+                               wc_printf("<span class=\"chat_notmyname_class\">");
                        }
                        wc_printf("<img src=\"static/citadelchat_16x.gif\">");
                        escputs(buf);
@@ -142,6 +142,18 @@ void chat_rwho(void) {
 }
 
 
+/*
+ * advise the Citadel server that the user is navigating away from the chat window
+ */
+void chat_exit(void) {
+       char buf[1024];
+
+       serv_puts("RCHT exit");
+       serv_getln(buf, sizeof buf);            /* Throw away the server reply */
+}
+
+
+
 void 
 InitModule_ROOMCHAT
 (void)
@@ -149,6 +161,7 @@ InitModule_ROOMCHAT
        WebcitAddUrlHandler(HKEY("chat"), "", 0, do_chat, 0);
        WebcitAddUrlHandler(HKEY("chat_recv"), "", 0, chat_recv, AJAX);
        WebcitAddUrlHandler(HKEY("chat_rwho"), "", 0, chat_rwho, AJAX);
+       WebcitAddUrlHandler(HKEY("chat_exit"), "", 0, chat_exit, AJAX);
        WebcitAddUrlHandler(HKEY("chat_send"), "", 0, chat_send, 0);
 }