From 47f273da0cd208cfffe59dd213b24941e8997c7a Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Tue, 21 Jan 2014 21:24:26 +0100 Subject: [PATCH] upload_attachment : add possibility to switch reply to template. --- webcit/messages.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/webcit/messages.c b/webcit/messages.c index ebc4e41f8..ce9bc9fa8 100644 --- a/webcit/messages.c +++ b/webcit/messages.c @@ -1219,19 +1219,31 @@ void upload_attachment(void) { long newnlen; void *v; wc_mime_attachment *att; + const StrBuf *Tmpl = sbstr("template"); + const StrBuf *MimeType = NULL; + begin_burst(); syslog(LOG_DEBUG, "upload_attachment()\n"); - wc_printf("upload_attachment()
\n"); + if (!Tmpl) wc_printf("upload_attachment()
\n"); if (WCC->upload_length <= 0) { syslog(LOG_DEBUG, "ERROR no attachment was uploaded\n"); - wc_printf("ERROR no attachment was uploaded
\n"); + if (Tmpl) + { + putlbstr("UPLOAD_ERROR", 1); + MimeType = DoTemplate(SKEY(Tmpl), NULL, &NoCtx); + } + else wc_printf("ERROR no attachment was uploaded
\n"); + http_transmit_thing(ChrPtr(MimeType), 0); + return; } syslog(LOG_DEBUG, "Client is uploading %d bytes\n", WCC->upload_length); - wc_printf("Client is uploading %d bytes
\n", WCC->upload_length); - att = malloc(sizeof(wc_mime_attachment)); + if (Tmpl) putlbstr("UPLOAD_LENGTH", WCC->upload_length); + else wc_printf("Client is uploading %d bytes
\n", WCC->upload_length); + + att = (wc_mime_attachment*)malloc(sizeof(wc_mime_attachment)); memset(att, 0, sizeof(wc_mime_attachment )); att->length = WCC->upload_length; att->ContentType = NewStrBufPlain(WCC->upload_content_type, -1); @@ -1271,6 +1283,9 @@ void upload_attachment(void) { att->Data = WCC->upload; WCC->upload = NULL; WCC->upload_length = 0; + + if (Tmpl) MimeType = DoTemplate(SKEY(Tmpl), NULL, &NoCtx); + http_transmit_thing(ChrPtr(MimeType), 0); } -- 2.30.2