diff -uNrp didiwiki.orig/src/wiki.c didiwiki/src/wiki.c
--- didiwiki.orig/src/wiki.c 2004-09-03 10:11:42.000000000 +0800
+++ didiwiki/src/wiki.c 2004-09-03 10:12:59.000000000 +0800
@@ -685,6 +685,32 @@
}
void
+wiki_show_indexs_page(HttpResponse *res)
+{
+ struct dirent **namelist;
+ int n;
+ wiki_show_header(res, "Indexs", FALSE);
+ n = scandir(".", &namelist, 0, (void *)changes_compar);
+
+ http_response_printf(res, "
\n");
+ while(n--)
+ {
+ if ((namelist[n]->d_name)[0] == '.'
+ || !strcmp(namelist[n]->d_name, "styles.css"))
+ goto cleanup;
+ http_response_printf(res, "- %s
\n", namelist[n]->d_name, namelist[n]->d_name);
+cleanup:
+ free(namelist[n]);
+ }
+ http_response_printf(res, "
\n");
+ free(namelist);
+ wiki_show_footer(res);
+ http_response_send(res);
+ exit(0);
+}
+
+
+void
wiki_show_search_results_page(HttpResponse *res, char *expr)
{
struct dirent **namelist;
@@ -816,6 +842,10 @@
/* TODO list recent changes */
wiki_show_changes_page(res);
}
+ else if (!strcmp(page, "Indexs"))
+ {
+ wiki_show_indexs_page(res);
+ }
else if (!strcmp(page, "Search"))
{
wiki_show_search_results_page(res, http_request_param_get(req, "expr"));
diff -uNrp didiwiki.orig/src/wikitext.h didiwiki/src/wikitext.h
--- didiwiki.orig/src/wikitext.h 2004-08-17 16:28:48.000000000 +0800
+++ didiwiki/src/wikitext.h 2004-09-03 10:12:59.000000000 +0800
@@ -27,8 +27,9 @@
"%s %s | \n" \
"\n" \
"Home |\n" \
+"Indexs | \n" \
"Changes | \n" \
-"New | \n" \
+"New | \n" \
"Help |\n" \
" | \n" \
"\n" \