/*
* command loop for reading messages
*
- * Set oper to "readnew" or "readold" or "readfwd" or "headers" or "readgt"
+ * Set oper to "readnew" or "readold" or "readfwd" or "headers" or "readgt" or "do_search"
*/
void readloop(long oper)
{
SharedMessageStatus Stat;
void *ViewSpecific;
- if (havebstr("is_summary") && (1 == (ibstr("is_summary"))))
+ if (havebstr("is_summary") && (1 == (ibstr("is_summary")))) {
WCC->wc_view = VIEW_MAILBOX;
+ }
+
+ if (WCC->wc_view == VIEW_WIKI) {
+ display_wiki_pagelist();
+ return;
+ }
memset(&Stat, 0, sizeof(SharedMessageStatus));
Stat.maxload = 10000;
WCC->wc_view = VIEW_BBS;
GetHash(ReadLoopHandler, IKEY(WCC->wc_view), &vViewMsg);
}
- if (vViewMsg == NULL)
- return;///TODO: print message
+ if (vViewMsg == NULL) {
+ return; // TODO: print message
+ }
ViewMsg = (RoomRenderer*) vViewMsg;
if (!WCC->is_ajax) {
int get_time_format_cached (void);
int xtoi(const char *in, size_t len);
const char *get_selected_language(void);
+void display_wiki_pagelist(void);
#define DATEFMT_FULL 0
#define DATEFMT_BRIEF 1
}
}
- serv_printf("MSGS ALL|||4");
+ if (!IsEmptyStr(bstr("query"))) {
+ serv_printf("MSGS SEARCH|%s||4", bstr("query")); /* search-reduced list */
+ }
+ else {
+ serv_printf("MSGS ALL|||4"); /* full list */
+ }
+
Buf = NewStrBuf();
StrBuf_ServGetln(Buf);
if (GetServerStatus(Buf, NULL) == 1) {
/*
- * Display a list of all pages in a Wiki room
+ * Display a list of all pages in a Wiki room. Search requests in a Wiki room also go here.
*/
void display_wiki_pagelist(void)
{