X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fwebcit.c;h=db30d48ee89d066fd40fe181501e7daa55219901;hb=8c2d12e026dd60a3fa22112e739880b402f2b3f4;hp=6727f38782e0ff4a6cc12bcd6e846c0d7a83e1e2;hpb=fd034bea666febed8eff22cf10f2b72b8b009665;p=citadel.git diff --git a/webcit/webcit.c b/webcit/webcit.c index 6727f3878..db30d48ee 100644 --- a/webcit/webcit.c +++ b/webcit/webcit.c @@ -24,12 +24,16 @@ #include #include #include "webcit.h" -#include "groupdav.h" +#include "dav.h" #include "webserver.h" StrBuf *csslocal = NULL; HashList *HandlerHash = NULL; +void stuff_to_cookie(int unset_cookie); +int GetConnected(void); + + void PutRequestLocalMem(void *Data, DeleteHashDataFunc DeleteIt) { wcsession *WCC = WC; @@ -198,20 +202,7 @@ void output_headers( int do_httpheaders, /* 1 = output HTTP headers */ do_template("head"); /* check for ImportantMessages (these display in a div overlaying the main screen) */ - if (!IsEmptyStr(WCC->ImportantMessage)) { - wc_printf("
\n" - ""); - StrEscAppend(WCC->WBuf, NULL, WCC->ImportantMessage, 0, 0); - wc_printf("
\n" - "
\n" - ); - StrBufAppendBufPlain(WCC->trailing_javascript, - HKEY("setTimeout('hide_imsg_popup()', 5000); \n"), - 0 - ); - WCC->ImportantMessage[0] = 0; - } - else if (StrLength(WCC->ImportantMsg) > 0) { + if (StrLength(WCC->ImportantMsg) > 0) { wc_printf("
\n" ""); StrEscAppend(WCC->WBuf, WCC->ImportantMsg, NULL, 0, 0); @@ -330,7 +321,7 @@ void url_do_template(void) { /* * convenience function to indicate success */ -void display_success(char *successmessage) +void display_success(const char *successmessage) { convenience_page("007700", "OK", successmessage); } @@ -360,8 +351,6 @@ void authorization_required(void) if (WCC->ImportantMsg != NULL) message = ChrPtr(WCC->ImportantMsg); - else if (WCC->ImportantMessage != NULL) - message = WCC->ImportantMessage; wc_printf(_("The resource you requested requires a valid username and password. " "You could not be logged in: %s\n"), message); @@ -456,7 +445,7 @@ void ajax_servcmd(void) * This is kind of an ugly hack, but this is the only place it can go. * If the command was GEXP, then the instant messenger window must be * running, so reset the "last_pager_check" watchdog timer so - * that page_popup() doesn't try to open it a second time. + * that page_popup() doesn't try to open it a second time. TODO: page_popup isn't with us anymore. */ if (!strncasecmp(bstr("g_cmd"), "GEXP", 4)) { WCC->last_pager_check = time(NULL); @@ -665,7 +654,6 @@ int Conditional_REST_DEPTH(StrBuf *Target, WCTemplputParams *TP) */ void session_loop(void) { - int Flags = 0; int xhttp; StrBuf *Buf; @@ -679,8 +667,6 @@ void session_loop(void) WCC->upload_length = 0; WCC->upload = NULL; WCC->Hdr->nWildfireHeaders = 0; - if (WCC->Hdr->HR.Handler != NULL) - Flags = WCC->Hdr->HR.Handler->Flags; /* so we can temporarily add our own... */ if (WCC->Hdr->HR.ContentLength > 0) { if (ReadPostData() < 0) { @@ -856,7 +842,7 @@ void session_loop(void) */ else { if (xhttp) - groupdav_main(); + dav_main(); else display_main_menu(); } @@ -876,10 +862,16 @@ void display_default_landing_page(void) { wcsession *WCC = WC; if (WCC && WCC->serv_info && WCC->serv_info->serv_supports_guest) { - /* default action. probably revisit this. */ - StrBuf *teh_lobby = NewStrBufPlain(HKEY("_BASEROOM_")); - smart_goto(teh_lobby); - FreeStrBuf(&teh_lobby); + /* default action */ + + if (default_landing_page) { + http_redirect(default_landing_page); + } + else { + StrBuf *teh_lobby = NewStrBufPlain(HKEY("_BASEROOM_")); + smart_goto(teh_lobby); + FreeStrBuf(&teh_lobby); + } } else { display_login(); @@ -919,8 +911,7 @@ int ConditionalImportantMesage(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC != NULL) - return ((!IsEmptyStr(WCC->ImportantMessage)) || - (StrLength(WCC->ImportantMsg) > 0)); + return (StrLength(WCC->ImportantMsg) > 0); else return 0; } @@ -930,11 +921,7 @@ void tmplput_importantmessage(StrBuf *Target, WCTemplputParams *TP) wcsession *WCC = WC; if (WCC != NULL) { - if (!IsEmptyStr(WCC->ImportantMessage)) { - StrEscAppend(Target, NULL, WCC->ImportantMessage, 0, 0); - WCC->ImportantMessage[0] = '\0'; - } - else if (StrLength(WCC->ImportantMsg) > 0) { + if (StrLength(WCC->ImportantMsg) > 0) { StrEscAppend(Target, WCC->ImportantMsg, NULL, 0, 0); FlushStrBuf(WCC->ImportantMsg); } @@ -955,6 +942,12 @@ void tmplput_csslocal(StrBuf *Target, WCTemplputParams *TP) csslocal, 0); } +void tmplput_packagestring(StrBuf *Target, WCTemplputParams *TP) +{ + StrBufAppendBufPlain(Target, + HKEY(PACKAGE_STRING), 0); +} + extern char static_local_dir[PATH_MAX]; @@ -980,6 +973,7 @@ InitModule_WEBCIT RegisterNamespace("IMPORTANTMESSAGE", 0, 0, tmplput_importantmessage, NULL, CTX_NONE); RegisterNamespace("TRAILING_JAVASCRIPT", 0, 0, tmplput_trailing_javascript, NULL, CTX_NONE); RegisterNamespace("URL:DISPLAYNAME", 0, 1, tmplput_HANDLER_DISPLAYNAME, NULL, CTX_NONE); + RegisterNamespace("PACKAGESTRING", 0, 1, tmplput_packagestring, NULL, CTX_NONE); snprintf(dir, SIZ, "%s/webcit.css", static_local_dir);