{
char datebuf[64];
message_summary *Msg = (message_summary*) CTX;
- webcit_fmt_date(datebuf, Msg->date, 1);
+ webcit_fmt_date(datebuf, 64, Msg->date, DATEFMT_BRIEF);
StrBufAppendBufPlain(Target, datebuf, -1, 0);
}
{
char datebuf[64];
message_summary *Msg = (message_summary*) CTX;
- webcit_fmt_date(datebuf, Msg->date, 0);
+ webcit_fmt_date(datebuf, 64, Msg->date, DATEFMT_FULL);
StrBufAppendBufPlain(Target, datebuf, -1, 0);
}
void tmplput_MAIL_SUMM_DATE_NO(StrBuf *Target, WCTemplputParams *TP)
void render_MAIL(wc_mime_attachment *Mime, StrBuf *RawData, StrBuf *FoundCharset)
{
Mime->Data = NewStrBufPlain(NULL, Mime->length);
- read_message(Mime->Data, HKEY("view_submessage"), Mime->msgnum, 0, Mime->PartNum);
+ read_message(Mime->Data, HKEY("view_submessage"), Mime->msgnum, Mime->PartNum);
/*
if ( (!IsEmptyStr(mime_submessages)) && (!section[0]) ) {
for (i=0; i<num_tokens(mime_submessages, '|'); ++i) {
}
/* In all cases, display the full card */
- display_vcard(Buf, ChrPtr(Mime->Data), 0, 1, NULL, Mime->msgnum);
+ display_vcard(Buf, Mime->Data, 0, 1, NULL, Mime->msgnum);
FreeStrBuf(&Mime->Data);
Mime->Data = Buf;
}
}
+void render_MIME_VNote(wc_mime_attachment *Mime, StrBuf *RawData, StrBuf *FoundCharset)
+{
+ MimeLoadData(Mime);
+ if (StrLength(Mime->Data) > 0) {
+ struct vnote *v;
+ StrBuf *Buf;
+
+ Buf = NewStrBuf();
+ v = vnote_new_from_str(ChrPtr(Mime->Data));
+ if (v) {
+ WCTemplputParams TP;
+
+ memset(&TP, 0, sizeof(WCTemplputParams));
+ TP.Filter.ContextType = CTX_VNOTE;
+ TP.Context = v;
+ DoTemplate(HKEY("mail_vnoteitem"),
+ Buf, &TP);
+
+ vnote_free(v);
+
+ FreeStrBuf(&Mime->Data);
+ Mime->Data = Buf;
+ }
+ else
+ FlushStrBuf(Mime->Data);
+ }
+
+}
+
void render_MIME_ICS(wc_mime_attachment *Mime, StrBuf *RawData, StrBuf *FoundCharset)
{
if (StrLength(Mime->Data) == 0) {
MsgNum = LBstr(TKEY(0));
Buf = NewStrBuf();
- read_message(Buf, HKEY("view_message_replyquote"), MsgNum, 0, NULL);
+ read_message(Buf, HKEY("view_message_replyquote"), MsgNum, NULL);
StrBufAppendTemplate(Target, TP, Buf, 1);
FreeStrBuf(&Buf);
}
RegisterNamespace("MAIL:SUMM:ORGROOM", 0, 2, tmplput_MAIL_SUMM_ORGROOM, CTX_MAILSUM);
RegisterNamespace("MAIL:SUMM:RFCA", 0, 2, tmplput_MAIL_SUMM_RFCA, CTX_MAILSUM);
RegisterNamespace("MAIL:SUMM:OTHERNODE", 2, 0, tmplput_MAIL_SUMM_OTHERNODE, CTX_MAILSUM);
- RegisterNamespace("MAIL:SUMM:REFIDS", 0, 0, tmplput_MAIL_SUMM_REFIDS, CTX_MAILSUM);
+ RegisterNamespace("MAIL:SUMM:REFIDS", 0, 1, tmplput_MAIL_SUMM_REFIDS, CTX_MAILSUM);
RegisterNamespace("MAIL:SUMM:INREPLYTO", 0, 2, tmplput_MAIL_SUMM_INREPLYTO, CTX_MAILSUM);
RegisterNamespace("MAIL:BODY", 0, 2, tmplput_MAIL_BODY, CTX_MAILSUM);
RegisterNamespace("MAIL:QUOTETEXT", 1, 2, tmplput_QUOTED_MAIL_BODY, CTX_NONE);
/* mime renderers translate an attachment into webcit viewable html text */
RegisterMimeRenderer(HKEY("message/rfc822"), render_MAIL);
+ RegisterMimeRenderer(HKEY("text/vnote"), render_MIME_VNote);
RegisterMimeRenderer(HKEY("text/x-vcard"), render_MIME_VCard);
RegisterMimeRenderer(HKEY("text/vcard"), render_MIME_VCard);
RegisterMimeRenderer(HKEY("text/calendar"), render_MIME_ICS);
RegisterMsgHdr(HKEY("suff"), examine_suff, 0);
RegisterMsgHdr(HKEY("path"), examine_path, 0);
}
+
+void
+ServerStartModule_MSGRENDERERS
+(void)
+{
+ MsgHeaderHandler = NewHash(1, NULL);
+ MimeRenderHandler = NewHash(1, NULL);
+}
+
+void
+ServerShutdownModule_MSGRENDERERS
+(void)
+{
+ DeleteHash(&MsgHeaderHandler);
+ DeleteHash(&MimeRenderHandler);
+}
+
+
+
+void
+SessionDestroyModule_MSGRENDERERS
+(wcsession *sess)
+{
+ DeleteHash(&sess->attachments);
+}