serv_getln(buf, sizeof buf);
WCC->logged_in = 0;
- 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);
+ /* For sites in guest mode, redirect to the landing page after we're logged out */
+ if (WC->serv_info->serv_supports_guest) {
+ wc_printf(" <script type=\"text/javascript\"> "
+ " window.location='/'; "
+ " </script> "
+ );
+ }
+
wc_printf("<div id=\"logout_screen\">");
wc_printf("<div class=\"box\">");
wc_printf("<div class=\"boxlabel\">");
wc_printf(_("Log in again"));
wc_printf("</a></span>");
wc_printf("</div></div></div>\n");
+ if (WC->serv_info->serv_supports_guest) {
+ display_default_landing_page();
+ return;
+ }
+
+ wDumpContent(2);
+ end_webcit_session();
+}
+
+
+/*
+ * Special page for monitoring scripts etc
+ */
+void monitor(void)
+{
+ wcsession *WCC = WC;
+ char buf[SIZ];
+
+ FlushStrBuf(WCC->wc_username);
+ FlushStrBuf(WCC->wc_password);
+ FlushStrBuf(WCC->wc_fullname);
+ FlushRoomlist();
+
+ serv_puts("LOUT");
+ serv_getln(buf, sizeof buf);
+ WCC->logged_in = 0;
+
+ FlushStrBuf(WCC->CurRoom.name);
+
+ /* Calling output_headers() this way causes the cookies to be un-set */
+ output_headers(1, 0, 0, 1, 1, 0);
+
+ wc_printf("<html><body><tt>");
+ wc_printf("<strong>WebCit monitoring screen</strong><br>\n");
+ wc_printf("Connection to Citadel server at %s:%s : %s<br>\n",
+ ctdlhost, ctdlport,
+ (WC->connected ? "SUCCESS" : "FAIL")
+ );
+ wc_printf("</body></html>\n");
+
wDumpContent(2);
end_webcit_session();
}
output_headers(1, 1, 1, 0, 0, 0);
- do_template("beginbox_1");
+ do_template("box_begin_1");
StrBufAppendBufPlain(WC->WBuf, _("Validate new users"), -1, 0);
- do_template("beginbox_2");
+ do_template("box_begin_2");
/* If the user just submitted a validation, process it... */
safestrncpy(buf, bstr("user"), sizeof buf);
wc_printf("</div>\n");
wc_printf("</td></tr></table>\n");
- do_template("endbox");
+ do_template("box_end");
wDumpContent(1);
}
memset(&SubTP, 0, sizeof(WCTemplputParams));
SubTP.Filter.ContextType = CTX_STRBUF;
SubTP.Context = Buf;
- DoTemplate(HKEY("beginbox"), NULL, &SubTP);
+ DoTemplate(HKEY("box_begin"), NULL, &SubTP);
FreeStrBuf(&Buf);
wc_printf("</div>\n");
wc_printf("</form>\n");
- do_template("endbox");
+ do_template("box_end");
wDumpContent(1);
}
WebcitAddUrlHandler(HKEY("changepw"), "", 0, changepw, 0);
WebcitAddUrlHandler(HKEY("termquit"), "", 0, do_logout, 0);
WebcitAddUrlHandler(HKEY("do_logout"), "", 0, do_logout, ANONYMOUS|COOKIEUNNEEDED|FORCE_SESSIONCLOSE);
+ WebcitAddUrlHandler(HKEY("monitor"), "", 0, monitor, 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);