X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fwebcit.c;h=095082ccb8b55a5998de9b9348b0c462fa0f2c7d;hb=16939d06be6f78ee5ca6b0d5e7072e3cfcfdbb3f;hp=24d0de34858536f38c9f8008527f1e70eec30dbe;hpb=175772212814e61c29e8905675d03800c22ddccb;p=citadel.git diff --git a/webcit/webcit.c b/webcit/webcit.c index 24d0de348..095082ccb 100644 --- a/webcit/webcit.c +++ b/webcit/webcit.c @@ -171,7 +171,7 @@ void dump_vars(void) const char *HKey; HashPos *Cursor; - Cursor = GetNewHashPos (); + Cursor = GetNewHashPos (WCC->urlstrings, 0); while (GetNextHashPos(WCC->urlstrings, Cursor, &HKLen, &HKey, &U)) { u = (urlcontent*) U; wprintf("%38s = %s\n", u->url_key, ChrPtr(u->url_data)); @@ -1948,7 +1948,21 @@ void tmplput_csslocal(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void * csslocal, 0); } +void tmplput_url_part(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *Context, int ContextType) +{ + StrBuf *UrlBuf; + struct wcsession *WCC = WC; + + if (WCC != NULL) { + if (Tokens->Params[0]->lvalue == 0) + UrlBuf = WCC->UrlFragment1; + else + UrlBuf = WCC->UrlFragment2; + StrBufAppendTemplate(Target, nArgs, Tokens, Context, ContextType, + UrlBuf, 1); + } +} @@ -1973,6 +1987,7 @@ InitModule_WEBCIT RegisterConditional(HKEY("COND:IMPMSG"), 0, ConditionalImportantMesage, CTX_NONE); RegisterConditional(HKEY("COND:BSTR"), 1, ConditionalBstr, CTX_NONE); RegisterNamespace("BSTR", 1, 2, tmplput_bstr, CTX_NONE); + RegisterNamespace("URLPART", 1, 2, tmplput_url_part, CTX_NONE); RegisterNamespace("CSSLOCAL", 0, 0, tmplput_csslocal, CTX_NONE); RegisterNamespace("IMPORTANTMESSAGE", 0, 0, tmplput_importantmessage, CTX_NONE); RegisterNamespace("OFFERSTARTPAGE", 0, 0, offer_start_page, CTX_NONE);