+ *
+ * Copyright (c) 2009-2012 by the citadel.org team
+ *
+ * This program is open source software. You can redistribute it and/or
+ * modify it under the terms of the GNU General Public License, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
output_headers(1, 1, 1, 0, 0, 0);
roomname = sbstr("room");
safestrncpy(pagename, bstr("page"), sizeof pagename);
output_headers(1, 1, 1, 0, 0, 0);
roomname = sbstr("room");
safestrncpy(pagename, bstr("page"), sizeof pagename);
safestrncpy(rev, bstr("rev"), sizeof rev);
do_revert = atoi(bstr("revert"));
display_wiki_page_backend(roomname, pagename, rev, do_revert);
safestrncpy(rev, bstr("rev"), sizeof rev);
do_revert = atoi(bstr("revert"));
display_wiki_page_backend(roomname, pagename, rev, do_revert);
wc_printf("<th>%s</th>", _("Date"));
wc_printf("<th>%s</th>", _("Author"));
wc_printf("<th>%s</th>", _("Date"));
wc_printf("<th>%s</th>", _("Author"));
rev_date = extract_long(ChrPtr(Buf), 1);
webcit_fmt_date(rev_date_displayed, sizeof rev_date_displayed, rev_date, DATEFMT_FULL);
rev_date = extract_long(ChrPtr(Buf), 1);
webcit_fmt_date(rev_date_displayed, sizeof rev_date_displayed, rev_date, DATEFMT_FULL);
void display_wiki_history(void)
{
output_headers(1, 1, 1, 0, 0, 0);
void display_wiki_history(void)
{
output_headers(1, 1, 1, 0, 0, 0);
if (GetServerStatus(Buf, NULL) == 1) {
StrBuf *pagetitle = NewStrBuf();
if (GetServerStatus(Buf, NULL) == 1) {
StrBuf *pagetitle = NewStrBuf();
StrBufExtract_token(pagetitle, Buf, 1, '|');
if (!bmstrcasestr((char *)ChrPtr(pagetitle), "_HISTORY_")) { /* no history pages */
StrBufExtract_token(pagetitle, Buf, 1, '|');
if (!bmstrcasestr((char *)ChrPtr(pagetitle), "_HISTORY_")) { /* no history pages */
void display_wiki_pagelist(void)
{
output_headers(1, 1, 1, 0, 0, 0);
void display_wiki_pagelist(void)
{
output_headers(1, 1, 1, 0, 0, 0);
- GetTemplateTokenString(TP, &pch, &len, 2);
- return bmstrcasestr((char *)ChrPtr(WCC->Hdr->HR.ReqLine), pch);
+ GetTemplateTokenString(Target, TP, 2, &pch, &len);
+ return bmstrcasestr((char *)ChrPtr(WCC->Hdr->HR.ReqLine), pch) != NULL;
+
+
+int wiki_PrintHeaderPage(SharedMessageStatus *Stat, void **ViewSpecific)
+{
+ /* this function was intentionaly left empty. */
+ return 0;
+}
+
+int wiki_GetParamsGetServerCall(SharedMessageStatus *Stat,
+ void **ViewSpecific,
+ long oper,
+ char *cmd,
+ long len,
+ char *filter,
+ long flen)
+{
+ if (oper == do_search)
+ display_wiki_pagelist();
+ else
+ http_redirect("wiki?page=home");
+
+ return 300;
+}
+
+
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);
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);