}
WCC->axlevel = StrBufExtract_int(serv_response, 1, '|');
- if (WCC->axlevel >= 6) { /* TODO: make this a define, else it might trick us later */
+ if (WCC->axlevel >= 6) {
WCC->is_aide = 1;
}
get_preference("floordiv_expanded", &FloorDiv);
WCC->floordiv_expanded = FloorDiv;
FreeStrBuf(&Buf);
+ FlushRoomlist();
}
end_burst();
}
} else {
-
/* Still no good! Go back to teh dialog to select a username */
const StrBuf *Buf;
putbstr("__claimed_id", NewStrBufDup(sbstr("openid_url")));
buf[strlen(buf)-1] = 0;
fclose(fp);
if (atoi(buf) == serv_info.serv_rev_level) {
- setup_wizard = 1; /**< already run */
+ setup_wizard = 1; /* already run */
}
}
}
/* close() of citadel socket will be done by do_housekeeping() */
}
+
/*
- * execute the logout
+ * Log out the session with the Citadel server
*/
void do_logout(void)
{
FlushStrBuf(WCC->wc_username);
FlushStrBuf(WCC->wc_password);
FlushStrBuf(WCC->wc_fullname);
+ FlushRoomlist();
serv_puts("LOUT");
serv_getln(buf, sizeof buf);
}
-
/*
* Display form for registration.
*
}
-
-
/*
* display form for changing your password
*/
}
}
+
int ConditionalHaveAccessCreateRoom(StrBuf *Target, WCTemplputParams *TP)
{
StrBuf *Buf;
return 1;
}
+
int ConditionalAide(StrBuf *Target, WCTemplputParams *TP)
{
wcsession *WCC = WC;
return (WCC != NULL) ? ((WCC->logged_in == 0)||(WC->is_aide == 0)) : 0;
}
+
int ConditionalIsLoggedIn(StrBuf *Target, WCTemplputParams *TP)
{
wcsession *WCC = WC;
}
+/*
+ * toggle the session over to a different language
+ */
+void switch_language(void) {
+ set_selected_language(bstr("lang"));
+ pop_destination();
+}
+
void _display_reg(void) {
display_reg(0);
}
}
+
void CheckAuthBasic(ParsedHttpHdrs *hdr)
{
/*
*/
}
+
void GetAuthBasic(ParsedHttpHdrs *hdr)
{
const char *Pos = NULL;
StrBufExtract_NextToken(hdr->c_password, hdr->HR.plainauth, &Pos, ':');
}
+
void Header_HandleCookie(StrBuf *Line, ParsedHttpHdrs *hdr)
{
const char *pch;
hdr->HR.got_auth = AUTH_COOKIE;
}
+
void
HttpNewModule_AUTH
(ParsedHttpHdrs *httpreq)
httpreq->c_roomname = NewStrBuf();
httpreq->c_language = NewStrBuf();
}
+
+
void
HttpDetachModule_AUTH
(ParsedHttpHdrs *httpreq)
FLUSHStrBuf(httpreq->c_language);
}
+
void
HttpDestroyModule_AUTH
(ParsedHttpHdrs *httpreq)
FreeStrBuf(&httpreq->c_language);
}
+
void
InitModule_AUTH
(void)
/* no url pattern at all? Show login. */
WebcitAddUrlHandler(HKEY(""), "", 0, do_welcome, ANONYMOUS|COOKIEUNNEEDED);
- /* some of these will be removed soon */
WebcitAddUrlHandler(HKEY("do_welcome"), "", 0, do_welcome, ANONYMOUS|COOKIEUNNEEDED);
WebcitAddUrlHandler(HKEY("openid_login"), "", 0, do_openid_login, ANONYMOUS);
WebcitAddUrlHandler(HKEY("finalize_openid_login"), "", 0, finalize_openid_login, ANONYMOUS);
WebcitAddUrlHandler(HKEY("do_logout"), "", 0, do_logout, ANONYMOUS|COOKIEUNNEEDED|FORCE_SESSIONCLOSE);
WebcitAddUrlHandler(HKEY("ajax_login_username_password"), "", 0, ajax_login_username_password, AJAX|ANONYMOUS);
WebcitAddUrlHandler(HKEY("ajax_login_newuser"), "", 0, ajax_login_newuser, AJAX|ANONYMOUS);
+ WebcitAddUrlHandler(HKEY("switch_language"), "", 0, switch_language, ANONYMOUS);
RegisterConditional(HKEY("COND:AIDE"), 2, ConditionalAide, CTX_NONE);
RegisterConditional(HKEY("COND:LOGGEDIN"), 2, ConditionalIsLoggedIn, CTX_NONE);
RegisterConditional(HKEY("COND:MAY_CREATE_ROOM"), 2, ConditionalHaveAccessCreateRoom, CTX_NONE);