all ImportantMessage deliveries are now done through trailing.html
[citadel.git] / webcit / webcit.c
index 944b457c86ab0caf1a5dc2cf536bbc601a0ab605..98ae071dda84b8377a1f46cc086ae47f085a3b6b 100644 (file)
@@ -6,18 +6,12 @@
  * Copyright (c) 1996-2011 by the citadel.org team
  *
  * This program is open source software.  You can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 3 of the
- * License, or (at your option) any later version.
+ * modify it under the terms of the GNU General Public License, version 3.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  */
 
 #define SHOW_ME_VAPPEND_PRINTF
@@ -200,25 +194,9 @@ void output_headers(       int do_httpheaders,     /* 1 = output HTTP headers                        */
        if (do_htmlhead) {
                begin_burst();
                do_template("head");
-
-               /* check for ImportantMessages (these display in a div overlaying the main screen) */
-               if (StrLength(WCC->ImportantMsg) > 0) {
-                       wc_printf("<div id=\"important_message\">\n"
-                               "<span class=\"imsg\">");
-                       StrEscAppend(WCC->WBuf, WCC->ImportantMsg, NULL, 0, 0);
-                       wc_printf("</span><br>\n"
-                               "</div>\n"
-                       );
-                       StrBufAppendBufPlain(WCC->trailing_javascript,
-                                            HKEY("setTimeout('hide_imsg_popup()', 5000);       \n"),
-                                            0
-                       );
-                       FlushStrBuf(WCC->ImportantMsg);
-               }
                if ( (WCC->logged_in) && (!unset_cookies) ) {
                        DoTemplate(HKEY("paging"), NULL, &NoCtx);
                }
-
                if (do_room_banner == 1) {
                        tmplput_roombanner(NULL, NULL);
                }
@@ -245,6 +223,7 @@ void http_redirect(const char *whichpage) {
        hprintf("Location: %s\r\n", whichpage);
        hprintf("URI: %s\r\n", whichpage);
        hprintf("Content-type: text/html; charset=utf-8\r\n");
+       stuff_to_cookie(0);
        begin_burst();
        wc_printf("<html><body>");
        wc_printf("Go <a href=\"%s\">here</A>.", whichpage);
@@ -826,7 +805,13 @@ void display_default_landing_page(void) {
        if (WCC && WCC->serv_info && WCC->serv_info->serv_supports_guest) {
                /* default action */
 
-               if (default_landing_page) {
+               if (havebstr("go")) {
+                       syslog(9, "Explicit room selection: %s", bstr("go"));
+                       StrBuf *teh_room = NewStrBufPlain(bstr("go"), strlen(bstr("go")));
+                       smart_goto(teh_room);
+                       FreeStrBuf(&teh_room);
+               }
+               else if (default_landing_page) {
                        http_redirect(default_landing_page);
                }
                else {
@@ -919,6 +904,7 @@ InitModule_WEBCIT
 {
        char dir[SIZ];
        WebcitAddUrlHandler(HKEY("blank"), "", 0, blank_page, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC);
+       WebcitAddUrlHandler(HKEY("landing"), "", 0, display_default_landing_page, ANONYMOUS|COOKIEUNNEEDED);
        WebcitAddUrlHandler(HKEY("do_template"), "", 0, url_do_template, ANONYMOUS);
        WebcitAddUrlHandler(HKEY("sslg"), "", 0, seconds_since_last_gexp, AJAX|LOGCHATTY);
        WebcitAddUrlHandler(HKEY("ajax_servcmd"), "", 0, ajax_servcmd, 0);