wiki
authorArt Cancro <ajc@citadel.org>
Sat, 21 Jan 2006 21:24:26 +0000 (21:24 +0000)
committerArt Cancro <ajc@citadel.org>
Sat, 21 Jan 2006 21:24:26 +0000 (21:24 +0000)
webcit/messages.c
webcit/webcit.c
webcit/webcit.h
webcit/wiki.c

index 0009f6b9c0292cedf508cc51023c3e965506a958..b80520fd70cddf1eb49195b1d2393e752645eddf 100644 (file)
@@ -1861,7 +1861,7 @@ void readloop(char *oper)
        int bbs_reverse = 0;
 
        if (WC->wc_view == VIEW_WIKI) {
-               sprintf(buf, "wiki/%s/home", WC->wc_roomname);
+               sprintf(buf, "wiki?room=%s?page=home", WC->wc_roomname);
                http_redirect(buf);
                return;
        }
index b702b3f626e90bf5246a790ede576b16825b28c7..566720800a23fcd24c4c4252bf2ed17ce8021d5d 100644 (file)
@@ -1328,7 +1328,7 @@ void session_loop(struct httprequest *req)
        } else if (!strcasecmp(action, "msgheaders")) {
                display_headers(arg1);
        } else if (!strcasecmp(action, "wiki")) {
-               display_wiki_page(arg1, arg2);
+               display_wiki_page();
        } else if (!strcasecmp(action, "display_enter")) {
                display_enter();
        } else if (!strcasecmp(action, "post")) {
index 06f1b820b522a0fa3fbc4d383a576c8cff96dbfb..296cef73017acccb0204f80d9260f1975d08de0a 100644 (file)
@@ -658,7 +658,7 @@ void httplang_to_locale(char *LocaleString);
 void tabbed_dialog(int num_tabs, char *tabnames[]);
 void begin_tab(int tabnum, int num_tabs);
 void end_tab(int tabnum, int num_tabs);
-void display_wiki_page(char *roomname, char *pagename);
+void display_wiki_page(void);
 
 void embed_room_banner(char *, int);
 
index dc72dba059d2a517859bb7d694d69def15ebe2b6..dd5f2138d92eb297a978dbee61d9e071c647dc9a 100644 (file)
@@ -38,16 +38,28 @@ void str_wiki_index(char *s)
 
 /**
  * \brief Display a specific page from a wiki room
- *
- * \param roomname The name of the room containing the wiki
- * \param pagename The index of the page being requested
  */
-void display_wiki_page(char *roomname, char *pagename)
+void display_wiki_page(void)
 {
-       output_headers(1, 1, 1, 0, 0, 0);
+       char roomname[128];
+       char pagename[128];
+
+       safestrncpy(roomname, bstr("room"), sizeof roomname);
+       safestrncpy(pagename, bstr("page"), sizeof pagename);
+       str_wiki_index(pagename);
 
        wprintf("roomname=%s<br>pagename=%s<br>\n", roomname, pagename);
 
+       if (strcasecmp(roomname, WC->roomname)) {
+               gotoroom(roomname);
+       }
+
+       if (strcasecmp(roomname, WC->roomname)) {
+               /* can't find the room */
+               convenience_page(char *titlebarcolor, char *titlebarmsg, char *messagetext);
+       }
+
+       output_headers(1, 1, 1, 0, 0, 0);
        wDumpContent(1);
 }