]> code.citadel.org Git - citadel.git/blobdiff - webcit/auth.c
For closed systems, still handle login through the modal
[citadel.git] / webcit / auth.c
index 435850113ff355ac8706c2158662a95c2b6bd1c4..6d5d75706529e5713dbc215adf5b2dd5f87afc90 100644 (file)
@@ -568,14 +568,20 @@ void do_logout(void)
 
        FlushStrBuf(WCC->wc_username);
        FlushStrBuf(WCC->wc_password);
-       FlushStrBuf(WCC->CurRoom.name);
        FlushStrBuf(WCC->wc_fullname);
 
-       /* FIXME: this is to suppress the iconbar displaying, because we aren't
-          actually logged out yet */
+       serv_puts("LOUT");
+       serv_getln(buf, sizeof buf);
        WCC->logged_in = 0;
 
-       /** Calling output_headers() this way causes the cookies to be un-set */
+       if (WC->serv_info->serv_supports_guest) {
+               display_default_landing_page();
+               return;
+       }
+
+       FlushStrBuf(WCC->CurRoom.name);
+
+       /* Calling output_headers() this way causes the cookies to be un-set */
        output_headers(1, 1, 0, 1, 0, 0);
 
        wc_printf("<div id=\"logout_screen\">");
@@ -607,16 +613,6 @@ void do_logout(void)
                "<span class=\"button_link\"><a href=\".\">");
        wc_printf(_("Log in again"));
        wc_printf("</a></span>");
-
-       /* The "close window" link is commented out because some browsers don't
-        * allow it to work.
-        *
-       wc_printf("&nbsp;&nbsp;&nbsp;<span class=\"button_link\">"
-               "<a href=\"javascript:window.close();\">");
-       wc_printf(_("Close window"));
-       wc_printf("</a></span>");
-        */
-
        wc_printf("</div></div></div>\n");
        wDumpContent(2);
        end_webcit_session();
@@ -738,19 +734,19 @@ void validate(void)
                                        atoi(buf), axdefs[atoi(buf)]);
                } while (strcmp(buf, "000"));
        } else {
-               wc_printf("<H1>%s</H1>%s<br />\n", user, &cmd[4]);
+               wc_printf("<H1>%s</H1>%s<br>\n", user, &cmd[4]);
        }
 
        wc_printf("<hr />");
        wc_printf(_("Select access level for this user:"));
-       wc_printf("<br />\n");
+       wc_printf("<br>\n");
        for (a = 0; a <= 6; ++a) {
                wc_printf("<a href=\"validate?nonce=%d?user=", WC->nonce);
                urlescputs(user);
                wc_printf("&axlevel=%d\">%s</A>&nbsp;&nbsp;&nbsp;\n",
                        a, axdefs[a]);
        }
-       wc_printf("<br />\n");
+       wc_printf("<br>\n");
 
        wc_printf("</div>\n");
        wc_printf("</td></tr></table>\n");
@@ -807,7 +803,7 @@ void display_reg(int during_login)
        }
        else {
                StrBuf *ReturnTo;
-               ReturnTo = NewStrBufPlain(HKEY("display_main_menu?gotofirst="));
+               ReturnTo = NewStrBufPlain(HKEY("display_main_menu?go="));
                StrBufAppendBuf(ReturnTo, WC->CurRoom.name, 0);
                do_edit_vcard(vcard_msgnum, "1", VCMsg, VCAtt, ChrPtr(ReturnTo), USERCONFIGROOM);
                FreeStrBuf(&ReturnTo);
@@ -839,7 +835,7 @@ void display_changepw(void)
 
        if (!IsEmptyStr(WC->ImportantMessage)) {
                wc_printf("<span class=\"errormsg\">"
-                       "%s</span><br />\n", WC->ImportantMessage);
+                       "%s</span><br>\n", WC->ImportantMessage);
                safestrncpy(WC->ImportantMessage, "", sizeof WC->ImportantMessage);
        }
 
@@ -954,6 +950,7 @@ int ConditionalIsLoggedIn(StrBuf *Target, WCTemplputParams *TP)
 {
        wcsession *WCC = WC;
        return (WCC != NULL)? (WCC->logged_in == 0) : 0;
+
 }
 
 
@@ -1080,8 +1077,9 @@ InitModule_AUTH
        WebcitAddUrlHandler(HKEY("finalize_openid_login"), "", 0, finalize_openid_login, ANONYMOUS);
        WebcitAddUrlHandler(HKEY("openid_manual_create"), "", 0, openid_manual_create, ANONYMOUS);
        WebcitAddUrlHandler(HKEY("do_logout"), "", 0, do_logout, ANONYMOUS|COOKIEUNNEEDED|FORCE_SESSIONCLOSE);
-       WebcitAddUrlHandler(HKEY("ajax_login_username_password"), "", 0, ajax_login_username_password, AJAX);
+       WebcitAddUrlHandler(HKEY("ajax_login_username_password"), "", 0, ajax_login_username_password, AJAX|ANONYMOUS);
        WebcitAddUrlHandler(HKEY("validate"), "", 0, validate, 0);
+       WebcitAddUrlHandler(HKEY("do_welcome"), "", 0, do_welcome, 0);
        WebcitAddUrlHandler(HKEY("display_reg"), "", 0, _display_reg, 0);
        WebcitAddUrlHandler(HKEY("display_changepw"), "", 0, display_changepw, 0);
        WebcitAddUrlHandler(HKEY("changepw"), "", 0, changepw, 0);