-/* Spit out the new summary view. This is basically a static page, so clients can cache the layout, all the dirty work is javascript :) */
-void new_summary_view(void) {
- DoTemplate(HKEY("msg_listview"),NULL,&NoCtx);
-}
-
-
-int mailview_GetParamsGetServerCall(SharedMessageStatus *Stat,
- void **ViewSpecific,
- long oper,
- char *cmd,
- long len)
-{
- if (!WC->is_ajax) {
- new_summary_view();
- return 200;
- } else {
- Stat->defaultsortorder = 2;
- Stat->sortit = 1;
- Stat->load_seen = 1;
- /* Generally using maxmsgs|startmsg is not required
- in mailbox view, but we have a 'safemode' for clients
- (*cough* Exploder) that simply can't handle too many */
- if (havebstr("maxmsgs")) Stat->maxmsgs = ibstr("maxmsgs");
- else Stat->maxmsgs = 9999999;
- if (havebstr("startmsg")) Stat->startmsg = lbstr("startmsg");
- snprintf(cmd, len, "MSGS %s|%s||1",
- (oper == do_search) ? "SEARCH" : "ALL",
- (oper == do_search) ? bstr("query") : ""
- );
- }
- return 200;
-}
+const char* fieldMnemonics[] = {
+ "from", /* A -> eAuthor */
+ "exti", /* E -> eXclusivID */
+ "rfca", /* F -> erFc822Addr */
+ "hnod", /* H -> eHumanNode */
+ "msgn", /* I -> emessageId */
+ "jrnl", /* J -> eJournal */
+ "rep2", /* K -> eReplyTo */
+ "list", /* L -> eListID */
+ "text", /* M -> eMesageText */
+ "node", /* N -> eNodeName */
+ "room", /* O -> eOriginalRoom */
+ "path", /* P -> eMessagePath */
+ "rcpt", /* R -> eRecipient */
+ "spec", /* S -> eSpecialField */
+ "time", /* T -> eTimestamp */
+ "subj", /* U -> eMsgSubject */
+ "nvto", /* V -> eenVelopeTo */
+ "wefw", /* W -> eWeferences */
+ "cccc", /* Y -> eCarbonCopY */
+ "nhdr", /* % -> eHeaderOnly */
+ "type", /* % -> eFormatType */
+ "part", /* % -> eMessagePart */
+ "suff", /* % -> eSubFolder */
+ "pref" /* % -> ePevious */
+};
+HashList *msgKeyLookup = NULL;