FreeStrBuf(&Msg->Rfca);
FreeStrBuf(&Msg->OtherNode);
- FreeStrBuf(&Msg->reply_to);
-
- DeleteHash(&Msg->Attachments); /**< list of Accachments */
+ DeleteHash(&Msg->Attachments); /* list of Attachments */
DeleteHash(&Msg->Submessages);
DeleteHash(&Msg->AttachLinks);
DeleteHash(&Msg->AllAttach);
Hdr = (headereval*)vHdr;
Hdr->evaluator(Msg, Value, FoundCharset);
}
- else lprintf(1, "don't know how to handle content type sub-header[%s]\n", ChrPtr(Token));
+ else syslog(1, "don't know how to handle content type sub-header[%s]\n", ChrPtr(Token));
}
FreeStrBuf(&Token);
FreeStrBuf(&Value);
}
+void tmplput_MAIL_SUMM_PERMALINK(StrBuf *Target, WCTemplputParams *TP)
+{
+ message_summary *Msg = (message_summary*) CTX;
+ char perma_link[1024];
+ char encoded_link[1024];
+
+ strcpy(perma_link, "/readfwd?go=");
+ urlesc(&perma_link[12], sizeof(perma_link) - 12, (char *)ChrPtr(WC->CurRoom.name) );
+ sprintf(&perma_link[strlen(perma_link)], "?start_reading_at=%ld#%ld", Msg->msgnum, Msg->msgnum);
+
+
+ CtdlEncodeBase64(encoded_link, perma_link, strlen(perma_link), 0);
+ StrBufAppendPrintf(Target, "/B64%s", encoded_link);
+}
+
int Conditional_MAIL_MIME_ALL(StrBuf *Target, WCTemplputParams *TP)
{
StrBuf *Line1;
StrBuf *Line2;
StrBuf *Target;
-
+ long Linecount;
+ long nEmptyLines;
int bn = 0;
int bq = 0;
int i;
else {
ctdl_iconv_open("UTF-8", ChrPtr(cs), &ic);
if (ic == (iconv_t)(-1) ) {
- lprintf(5, "%s:%d iconv_open(UTF-8, %s) failed: %s\n",
+ syslog(5, "%s:%d iconv_open(UTF-8, %s) failed: %s\n",
__FILE__, __LINE__, ChrPtr(Mime->Charset), strerror(errno));
}
}
Line1 = NewStrBufPlain(NULL, SIZ);
Line2 = NewStrBufPlain(NULL, SIZ);
Target = NewStrBufPlain(NULL, StrLength(Mime->Data));
-
+ Linecount = 0;
+ nEmptyLines = 0;
if (StrLength(Mime->Data) > 0)
do
{
if (i > 0) StrBufCutLeft(Line, i);
if (StrLength(Line) == 0) {
- StrBufAppendBufPlain(Target, HKEY("<tt></tt><br />\n"), 0);
+ if (Linecount == 0)
+ continue;
+ StrBufAppendBufPlain(Target, HKEY("<tt></tt><br>\n"), 0);
+
+ nEmptyLines ++;
continue;
}
-
+ nEmptyLines = 0;
for (i = bn; i < bq; i++)
StrBufAppendBufPlain(Target, HKEY("<blockquote>"), 0);
for (i = bq; i < bn; i++)
UrlizeText(Line1, Line, Line2);
StrEscAppend(Target, Line1, NULL, 0, 0);
- StrBufAppendBufPlain(Target, HKEY("</tt><br />\n"), 0);
+ StrBufAppendBufPlain(Target, HKEY("</tt><br>\n"), 0);
bn = bq;
+ Linecount ++;
}
while ((BufPtr != StrBufNOTNULL) &&
(BufPtr != NULL));
+ if (nEmptyLines > 0)
+ StrBufCutRight(Target, nEmptyLines * (sizeof ("<tt></tt><br>\n") - 1));
for (i = 0; i < bn; i++)
StrBufAppendBufPlain(Target, HKEY("</blockquote>"), 0);
- StrBufAppendBufPlain(Target, HKEY("</i><br />"), 0);
+ StrBufAppendBufPlain(Target, HKEY("</i><br>"), 0);
#ifdef HAVE_ICONV
if (ic != (iconv_t)(-1) ) {
iconv_close(ic);
FlushStrBuf(Mime->Data);
StrBufAppendBufPlain(Mime->Data, _("I don't know how to display "), -1, 0);
StrBufAppendBuf(Mime->Data, Mime->ContentType, 0);
- StrBufAppendBufPlain(Mime->Data, HKEY("<br />\n"), 0);
+ StrBufAppendBufPlain(Mime->Data, HKEY("<br>\n"), 0);
}
return WC->attachments;
}
+void get_registered_Attachments_Count(StrBuf *Target, WCTemplputParams *TP)
+{
+ StrBufAppendPrintf(Target, "%ld", GetCount (WC->attachments));
+}
+
void servcmd_do_search(char *buf, long bufsize)
{
snprintf(buf, bufsize, "MSGS SEARCH|%s", bstr("query"));
RegisterReadLoopHandlerset(
VIEW_MAILBOX,
mailview_GetParamsGetServerCall,
- NULL, /// TODO: is this right?
+ NULL, /* TODO: is this right? */
ParseMessageListHeaders_Detail,
- NULL, //// ""
+ NULL,
mailview_RenderView_or_Tail,
mailview_Cleanup);
RegisterNamespace("MAIL:SUMM:DATEFULL", 0, 0, tmplput_MAIL_SUMM_DATE_FULL, NULL, CTX_MAILSUM);
RegisterNamespace("MAIL:SUMM:DATENO", 0, 0, tmplput_MAIL_SUMM_DATE_NO, NULL, CTX_MAILSUM);
RegisterNamespace("MAIL:SUMM:N", 0, 0, tmplput_MAIL_SUMM_N, NULL, CTX_MAILSUM);
+ RegisterNamespace("MAIL:SUMM:PERMALINK", 0, 0, tmplput_MAIL_SUMM_PERMALINK, NULL, CTX_MAILSUM);
RegisterNamespace("MAIL:SUMM:FROM", 0, 2, tmplput_MAIL_SUMM_FROM, NULL, CTX_MAILSUM);
RegisterNamespace("MAIL:SUMM:TO", 0, 2, tmplput_MAIL_SUMM_TO, NULL, CTX_MAILSUM);
RegisterNamespace("MAIL:SUMM:SUBJECT", 0, 4, tmplput_MAIL_SUMM_SUBJECT, NULL, CTX_MAILSUM);
RegisterIterator("MSG:ATTACHNAMES", 0, NULL, iterate_get_registered_Attachments,
NULL, NULL, CTX_MIME_ATACH, CTX_NONE, IT_NOFLAG);
+ RegisterNamespace("MSG:NATTACH", 0, 0, get_registered_Attachments_Count, NULL, CTX_NONE);
+
/* mime renderers translate an attachment into webcit viewable html text */
RegisterMimeRenderer(HKEY("message/rfc822"), render_MAIL, 0, 150);
RegisterMimeRenderer(HKEY("text/vnote"), render_MIME_VNote, 1, 300);