From 91790e41f3fa307658077043bc2fa5f71e270cf4 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Tue, 09 Feb 2010 08:10:12 -0500
Subject: [PATCH] - Fix attachment excessive memory use, support messages of any size (#1484660)

---
 program/steps/mail/attachments.inc |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/program/steps/mail/attachments.inc b/program/steps/mail/attachments.inc
index d0808d0..2b4a590 100644
--- a/program/steps/mail/attachments.inc
+++ b/program/steps/mail/attachments.inc
@@ -53,9 +53,11 @@
     $attachment = $RCMAIL->plugins->exec_hook('display_attachment', $attachment);
     
   if ($attachment['status']) {
-    $size = $attachment['data'] ? strlen($attachment['data']) : @filesize($attachment['path']);
+    if (empty($attachment['size']))
+      $attachment['size'] = $attachment['data'] ? strlen($attachment['data']) : @filesize($attachment['path']);
+
     header('Content-Type: ' . $attachment['mimetype']);
-    header('Content-Length: ' . $size);
+    header('Content-Length: ' . $attachment['size']);
     
     if ($attachment['data'])
       echo $attachment['data'];
@@ -80,6 +82,7 @@
   foreach ($_FILES['_attachments']['tmp_name'] as $i => $filepath) {
     $attachment = array(
       'path' => $filepath,
+      'size' => $_FILES['_attachments']['size'][$i],
       'name' => $_FILES['_attachments']['name'][$i],
       'mimetype' => rc_mime_content_type($filepath, $_FILES['_attachments']['name'][$i], $_FILES['_attachments']['type'][$i])
     );

--
Gitblit v1.9.1