PHP7 compatibility fixes.
[fa-stable.git] / reporting / includes / class.mail.inc
index 7cce85a109e1788546d2c2d4cc265bad504162e2..16cc81c368f7a7b0a69894e10a1a14e77cc554d3 100644 (file)
@@ -41,7 +41,7 @@ class email
        var $charset = 'ISO-8859-1';
        var $add_params;
        
-    function email($name, $mail)
+    function __construct($name, $mail)
     {
         $this->boundary = md5(uniqid(time()));
                $this->header = "From: $name <$mail>\n";
@@ -65,9 +65,11 @@ class email
        $this->bcc[] = $mail;
     }
 
-    function attachment($file)
+    function attachment($file, $filename=null)
     {
-               $this->attachment[] = $file;
+       if (!isset($filename))
+               $filename = basename($file);
+       $this->attachment[$filename] = $file;
     }
 
     function subject($subject)
@@ -126,16 +128,15 @@ class email
                $this->header .= "Content-Type: multipart/mixed;\n boundary=\"$this->boundary\"\n";
 
         // Add Attachments
-        $max = count($this->attachment);
-        if ($max > 0)
+        if (!empty($this->attachment))
         {
-            for ($i = 0; $i < $max; $i++)
+            foreach ($this->attachment as $filename => $file)
             {
-                $file = fread(fopen($this->attachment[$i], "r"), filesize($this->attachment[$i]));
+                $file = fread(fopen($file, "r"), filesize($file));
                                $this->body .= "--".$this->boundary."\n";
-                               $this->body .= "Content-Type: " .$this->mime_type(basename($this->attachment[$i])). "; name=\"".basename($this->attachment[$i])."\"\n";
+                               $this->body .= "Content-Type: " .$this->mime_type($file). "; name=\"".$filename."\"\n";
                                $this->body .= "Content-Transfer-Encoding: base64\n";
-                               $this->body .= "Content-Disposition: attachment; filename=\"".basename($this->attachment[$i])."\"\n\n";
+                               $this->body .= "Content-Disposition: attachment; filename=\"".$filename."\"\n\n";
                                $this->body .= chunk_split(base64_encode($file),"72","\n");
                 $file = "";
             }