From: Art Cancro Date: Tue, 10 Nov 2009 22:57:23 +0000 (+0000) Subject: * wiki page list X-Git-Tag: v7.86~624 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=1bd684cdaefaae14ad8feb1d6adf2f7e4b6de8e4 * wiki page list --- diff --git a/webcit/roomops.c b/webcit/roomops.c index 685b32c08..7531b5923 100644 --- a/webcit/roomops.c +++ b/webcit/roomops.c @@ -577,7 +577,7 @@ void embed_room_banner(char *got, int navbar_style) { case VIEW_WIKI: wc_printf( "
  • " - "" + "" "" "" diff --git a/webcit/static/t/wiki_pagelist_inner.html b/webcit/static/t/wiki_pagelist_inner.html new file mode 100644 index 000000000..9c6e474c6 --- /dev/null +++ b/webcit/static/t/wiki_pagelist_inner.html @@ -0,0 +1 @@ + diff --git a/webcit/wiki.c b/webcit/wiki.c index d72c281b3..b7b03c1a0 100644 --- a/webcit/wiki.c +++ b/webcit/wiki.c @@ -250,11 +250,13 @@ void display_wiki_history(void) /* - * + * Display a list of all pages in a Wiki room (template callback) */ void tmplput_display_wiki_pagelist(StrBuf *Target, WCTemplputParams *TP) { const StrBuf *roomname; + StrBuf *Buf; + int row = 0; roomname = sbstr("room"); if (StrLength(roomname) > 0) { @@ -270,14 +272,40 @@ void tmplput_display_wiki_pagelist(StrBuf *Target, WCTemplputParams *TP) } } + serv_printf("MSGS ALL|||4"); + Buf = NewStrBuf(); + StrBuf_ServGetln(Buf); + if (GetServerStatus(Buf, NULL) == 1) { + StrBuf *pagetitle = NewStrBuf(); - /* FIXME put something here */ -} + wc_printf("
    " + "" /* FIXME make its own class */ + ); + + wc_printf("", _("Page title")); + while(StrBuf_ServGetln(Buf), strcmp(ChrPtr(Buf), "000")) { + StrBufExtract_token(pagetitle, Buf, 1, '|'); + + if (!bmstrcasestr((char *)ChrPtr(pagetitle), "_HISTORY_")) { /* no history pages */ + wc_printf("", ((row%2) ? "#FFFFFF" : "#DDDDDD")); + wc_printf(""); + wc_printf("\n"); + ++row; + } + } + wc_printf("
    %s
    "); + escputs(ChrPtr(pagetitle)); /* FIXME make it linkable */ + wc_printf("
    \n"); + FreeStrBuf(&pagetitle); + } + + FreeStrBuf(&Buf); +} /* - * + * Display a list of all pages in a Wiki room */ void display_wiki_pagelist(void) { @@ -313,4 +341,5 @@ InitModule_WIKI WebcitAddUrlHandler(HKEY("wiki_history"), "", 0, display_wiki_history, 0); 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); }