]> code.citadel.org Git - citadel.git/blobdiff - webcit/auth.c
* make param const char *
[citadel.git] / webcit / auth.c
index d85ad0cb2c09bf377caf807c2d356d8a21a47462..41489194ae0df7439282c472e1313ee63f4ab8fa 100644 (file)
@@ -8,6 +8,9 @@
 #include "webserver.h"
 #include <ctype.h>
 
+
+void display_reg(int during_login);
+
 /*
  * Access level definitions.  This is initialized from a function rather than a
  * static array so that the strings may be localized.
@@ -283,6 +286,7 @@ void do_login(void)
                }
        }
        if (WC->logged_in) {
+               set_preference("language", NewStrBufPlain(bstr("language"), -1), 1);
                if (WC->need_regi) {
                        display_reg(1);
                } else if (WC->need_vali) {
@@ -536,6 +540,8 @@ void do_welcome(void)
        if (ChrPtr(Buf)[0] == '/') {
                StrBufCutLeft(Buf, 1);
        }
+       if (StrLength(Buf) == 0)
+               StrBufAppendBufPlain(Buf, "dotgoto?room=_BASEROOM_", -1, 0);
        http_redirect(ChrPtr(Buf));
 }
 
@@ -875,10 +881,25 @@ void changepw(void)
        }
 }
 
+void _display_openid_login(void) {display_openid_login(NULL);}
+void _display_reg(void) {display_reg(0);}
 
 
-void InitModule_AUTH(void)
+void 
+InitModule_AUTH
+(void)
 {
-       WebcitAddUrlHandler(HKEY("do_welcome"), do_welcome, 0);
+       WebcitAddUrlHandler(HKEY("do_welcome"), do_welcome, ANONYMOUS);
+       WebcitAddUrlHandler(HKEY("login"), do_login, ANONYMOUS);
+       WebcitAddUrlHandler(HKEY("display_openid_login"), _display_openid_login, ANONYMOUS);
+       WebcitAddUrlHandler(HKEY("openid_login"), do_openid_login, ANONYMOUS);
+       WebcitAddUrlHandler(HKEY("finalize_openid_login"), finalize_openid_login, ANONYMOUS);
+       WebcitAddUrlHandler(HKEY("openid_manual_create"), openid_manual_create, ANONYMOUS);
+       WebcitAddUrlHandler(HKEY("do_logout"), do_logout, 0);
+       WebcitAddUrlHandler(HKEY("validate"), validate, 0);
+       WebcitAddUrlHandler(HKEY("display_reg"), _display_reg, 0);
+       WebcitAddUrlHandler(HKEY("display_changepw"), display_changepw, 0);
+       WebcitAddUrlHandler(HKEY("changepw"), changepw, 0);
+       WebcitAddUrlHandler(HKEY("termquit"), do_logout, 0);
        return ;
 }