X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fmsg_renderers.c;h=84d9831869d0621e04d40ee91ed8505b02334a8d;hb=88de455b9a1e89a9d41f55cc4e1a32beacf03a78;hp=356fdceb2454fe4d6995bc2e945ae948185be738;hpb=8134bf8f534a19de35fb39a1eed47eb75f27a47c;p=citadel.git diff --git a/webcit/msg_renderers.c b/webcit/msg_renderers.c index 356fdceb2..84d983186 100644 --- a/webcit/msg_renderers.c +++ b/webcit/msg_renderers.c @@ -502,6 +502,35 @@ void render_MIME_VCard(wc_mime_attachment *Mime, StrBuf *RawData, StrBuf *FoundC } +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) { @@ -1179,6 +1208,7 @@ InitModule_MSGRENDERERS /* 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);