/*
- * $Id$
- *
* Functions pertaining to rooms with a wiki view
*/
int ConditionalHaveWikiPage(StrBuf *Target, WCTemplputParams *TP)
{
- wcsession *WCC = WC;
+ const char *page;
+ const char *pch;
+ long len;
- return 1;
+ page = BSTR("page");
+ GetTemplateTokenString(Target, TP, 2, &pch, &len);
+ return strcasecmp(page, pch) == 0;
}
int ConditionalHavewikiType(StrBuf *Target, WCTemplputParams *TP)
{
wcsession *WCC = WC;
+ const char *pch;
+ long len;
- return 1;
+ GetTemplateTokenString(Target, TP, 1, &pch, &len);
+ return bmstrcasestr((char *)ChrPtr(WCC->Hdr->HR.ReqLine), pch) != NULL;
}
-
-
void
InitModule_WIKI
(void)
WebcitAddUrlHandler(HKEY("wiki_pagelist"), "", 0, display_wiki_pagelist, 0);
RegisterNamespace("WIKI:DISPLAYHISTORY", 0, 0, tmplput_display_wiki_history, NULL, CTX_NONE);
RegisterNamespace("WIKI:DISPLAYPAGELIST", 0, 0, tmplput_display_wiki_pagelist, NULL, CTX_NONE);
- RegisterConditional(HKEY("COND:WIKI:PAGE"), 0, ConditionalHaveWikiPage, CTX_NONE);
- RegisterConditional(HKEY("COND:WIKI:TYPE"), 0, ConditionalHavewikiType, CTX_NONE);
+ RegisterConditional(HKEY("COND:WIKI:PAGE"), 1, ConditionalHaveWikiPage, CTX_NONE);
+ RegisterConditional(HKEY("COND:WIKI:TYPE"), 1, ConditionalHavewikiType, CTX_NONE);
}