X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fwiki.c;h=c1ba90512e81491293a25063ed3daed1c501b48e;hb=dca4414169da8ea7161d5b95fc9ccbefe5d39651;hp=b183fdbd42d24d043272c1fc06bef858d6658c99;hpb=fa4703876cbb0330af860bb686d044ddb59dbadb;p=citadel.git diff --git a/webcit/wiki.c b/webcit/wiki.c index b183fdbd4..c1ba90512 100644 --- a/webcit/wiki.c +++ b/webcit/wiki.c @@ -1,25 +1,19 @@ /* * Functions pertaining to rooms with a wiki view * - * Copyright (c) 2009-2011 by the citadel.org team + * 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 as - * published by the Free Software Foundation; either version 3 of the - * License, or (at your option) any later version. + * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "webcit.h" -#include "groupdav.h" +#include "dav.h" /* * Convert a string to something suitable as a wiki index @@ -129,6 +123,7 @@ void display_wiki_page(void) output_headers(1, 1, 1, 0, 0, 0); roomname = sbstr("room"); safestrncpy(pagename, bstr("page"), sizeof pagename); + str_wiki_index(pagename); safestrncpy(rev, bstr("rev"), sizeof rev); do_revert = atoi(bstr("revert")); display_wiki_page_backend(roomname, pagename, rev, do_revert); @@ -256,7 +251,7 @@ void tmplput_display_wiki_history(StrBuf *Target, WCTemplputParams *TP) void display_wiki_history(void) { output_headers(1, 1, 1, 0, 0, 0); - do_template("wiki_history", NULL); + do_template("wiki_history"); wDumpContent(1); } @@ -327,7 +322,7 @@ void tmplput_display_wiki_pagelist(StrBuf *Target, WCTemplputParams *TP) void display_wiki_pagelist(void) { output_headers(1, 1, 1, 0, 0, 0); - do_template("wiki_pagelist", NULL); + do_template("wiki_pagelist"); wDumpContent(1); } @@ -365,13 +360,37 @@ int ConditionalHavewikiType(StrBuf *Target, WCTemplputParams *TP) } +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; +} + + void InitModule_WIKI (void) { RegisterReadLoopHandlerset( VIEW_WIKI, - NULL, + wiki_GetParamsGetServerCall, + wiki_PrintHeaderPage, NULL, NULL, NULL,