* Added in a bunch of stupid JavaScript to allow the instant message
authorArt Cancro <ajc@citadel.org>
Thu, 20 Jan 2005 16:13:56 +0000 (16:13 +0000)
committerArt Cancro <ajc@citadel.org>
Thu, 20 Jan 2005 16:13:56 +0000 (16:13 +0000)
  window to be dismissed.

webcit/ChangeLog
webcit/paging.c
webcit/roomops.c
webcit/static/head.html
webcit/webcit.c
webcit/webcit.h

index 137cc07f1c674188ea2a71874fce3515c53027ce..8a37d46702e4763b9ca41f8055935f6b11d80ded 100644 (file)
@@ -1,4 +1,8 @@
 $Log$
+Revision 528.14  2005/01/20 16:13:56  ajc
+* Added in a bunch of stupid JavaScript to allow the instant message
+  window to be dismissed.
+
 Revision 528.13  2005/01/20 04:10:41  ajc
 * Cleaned up a bunch of unused cruft from the old layout
 * Instant messages are now displayed in a div that layers itself
@@ -2199,4 +2203,3 @@ Sun Dec  6 19:50:55 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
 
 1998-12-03 Nathan Bryant <bryant@cs.usm.maine.edu>
        * webserver.c: warning fix
-
index 71a48ab8cc11236b348adc3335711f163fbb3518..5357250dae6ca6decf7823b4562171d7694cfc4b 100644 (file)
@@ -160,10 +160,15 @@ void page_popup(void)
                escputs(pagefrom);
                wprintf("</span></td></tr><tr><td><font color=\"#FFFFFF\">");
                fmout(NULL, "LEFT");
-               wprintf("</font></td></tr></table>\n");
+               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");
        }
 
-       WC->HaveExpressMessages = 0;
+       WC->HaveInstantMessages = 0;
 }
 
 
index 6fd49a9c996fef41140fa8fee156c9fb5307cbbb..b20dafd3f1067f2cef1c80f78ac32809b748e29a 100644 (file)
@@ -1892,14 +1892,10 @@ void zap(void)
        if (!strcasecmp(bstr("sc"), "OK")) {
                serv_printf("GOTO %s", WC->wc_roomname);
                serv_gets(buf);
-               if (buf[0] != '2') {
-                       /* ExpressMessageCat(&buf[4]); */
-               } else {
+               if (buf[0] == '2') {
                        serv_puts("FORG");
                        serv_gets(buf);
-                       if (buf[0] != '2') {
-                               /* ExpressMessageCat(&buf[4]); */
-                       } else {
+                       if (buf[0] == '2') {
                                strcpy(final_destination, "_BASEROOM_");
                        }
                }
index 2e3b8f600925b30da7f3169119e575c003acd49d..bad4cadc944e42db738318f2681b2ac1aab1124e 100644 (file)
@@ -67,6 +67,14 @@ body {
        background: #444455;
 }
 
+#page_popup {
+       position:absolute;
+       width=600px;
+       height=400px;
+       background-color: #880000;
+       z-index: 2;
+}
+
 #content {
        position:fixed;
        display:block;
@@ -388,6 +396,26 @@ span.key {
 <!-- end tree view styles -->
 
 </style>
-<?PAGERSCRIPT>
+
+<script language="JavaScript">
+
+var browserType;
+
+if (document.layers) {browserType = "nn4"}
+if (document.all) {browserType = "ie"}
+if (window.navigator.userAgent.toLowerCase().match("gecko")) {browserType= "gecko"}
+
+function hide_page_popup() {
+  if (browserType == "gecko" )
+     document.poppedLayer = eval('document.getElementById(\'page_popup\')');
+  else if (browserType == "ie")
+     document.poppedLayer = eval('document.all[\'page_popup\']');
+  else
+     document.poppedLayer = eval('document.layers[\'`page_popup\']');
+  document.poppedLayer.style.visibility = "hidden";
+}
+
+</script>
+
 </head>
 <body>
index d1f0df8e94ab0ec3a529163095adb9ba08b732d6..3206e503ee08e5a8c6cc5364a6a7f014cc52f2bc 100644 (file)
@@ -398,9 +398,8 @@ void output_headers(        int do_httpheaders,     /* 1 = output HTTP headers
        /* ICONBAR */
        if (do_htmlhead) {
 
-               if (WC->HaveExpressMessages) {
-                       wprintf("<div style=\"position:absolute; width=600px; height=400px; "
-                               "background-color: #880000; z-index: 2; >\n");
+               if (WC->HaveInstantMessages) {
+                       wprintf("<div id=\"page_popup\">\n");
                        page_popup();
                        wprintf("</div>\n");
                }
@@ -448,13 +447,13 @@ void http_redirect(char *whichpage) {
 
 
 
-void check_for_express_messages()
+void check_for_instant_messages()
 {
        char buf[SIZ];
 
        serv_puts("NOOP");
        serv_gets(buf);
-       if (buf[3] == '*') WC->HaveExpressMessages = 1;
+       if (buf[3] == '*') WC->HaveInstantMessages = 1;
 }
 
 
@@ -995,7 +994,7 @@ void session_loop(struct httprequest *req)
        }
 #endif
 
-       check_for_express_messages();
+       check_for_instant_messages();
 
        /*
         * If we're not logged in, but we have username and password cookies
index 254f305d4a8f3290441c83748e36bfd90ccd2b9a..82301a26dabd0f21a1940d1204e0554c15a47274 100644 (file)
@@ -212,7 +212,7 @@ struct wcsession {
        long msgarr[4096];              /* for read operations */
        int is_wap;                     /* Client is a WAP gateway */
        struct urlcontent *urlstrings;
-       int HaveExpressMessages;        /* Nonzero if incoming msgs exist */
+       int HaveInstantMessages;        /* Nonzero if incoming msgs exist */
        struct wcsubst *vars;
        char this_page[SIZ];            /* address of current page */
        char http_host[SIZ];            /* HTTP Host: header */