Began fixing http://uncensored.citadel.org/wiki?page=stefan2012mar07?go=exterminate
[citadel.git] / webcit / wiki.c
index 6c8da5590b0465126d35a4da79ec5e81ce412fd7..c1ba90512e81491293a25063ed3daed1c501b48e 100644 (file)
@@ -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);
@@ -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,