X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fincludes%2Fclass.mail.inc;h=e40ffe8d0dbae3c503c5ca71c664b3aa96a6ad78;hb=43ad91751a494b2572eb64441248aa3a87f0141e;hp=c51e5b6ad3ca3dbef95138013e88b6c9ebced1b6;hpb=1c6d923f84499d78eb656460f056364ea0a74e9e;p=fa-stable.git diff --git a/reporting/includes/class.mail.inc b/reporting/includes/class.mail.inc index c51e5b6a..e40ffe8d 100644 --- a/reporting/includes/class.mail.inc +++ b/reporting/includes/class.mail.inc @@ -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) @@ -97,6 +99,8 @@ class email if ($filename == $file . '.zip') return 'application/x-zip-compressed'; $file = basename($filename, '.pdf'); if ($filename == $file . '.pdf') return 'application/pdf'; + $file = basename($filename, '.xls'); + if ($filename == $file . '.xls') return 'application/vnd.ms-excel'; $file = basename($filename, '.csv'); if ($filename == $file . '.csv') return 'application/vnd.ms-excel'; $file = basename($filename, '.tar'); @@ -114,48 +118,30 @@ class email function send() { - // CC Empfänger hinzufügen - $max = count($this->cc); - if ($max > 0) - { - $this->header .= "Cc: ".$this->cc[0]; - for ($i = 1; $i < $max; $i++) - { - $this->header .= ", ".$this->cc[$i]; - } - $this->header .= "\n"; - } - // BCC Empfänger hinzufügen - $max = count($this->bcc); - if ($max > 0) - { - $this->header .= "Bcc: ".$this->bcc[0]; - for ($i = 1; $i < $max; $i++) - { - $this->header .= ", ".$this->bcc[$i]; - } - $this->header .= "\n"; - } - $this->header .= "MIME-Version: 1.0\n"; + // Add CC Recipients + if (!empty($this->cc)) + $this->header .= "Cc: " . implode(", ", $this->cc) . "\n" ; + + // Add BCC Recipients + if (!empty($this->bcc)) + $this->header .= "Bcc: " . implode(", ", $this->bcc) . "\n" ; $this->header .= "Content-Type: multipart/mixed;\n boundary=\"$this->boundary\"\n"; - $this->header .= "This is a multi-part message in MIME format.\n"; - // Attachment hinzufügen - $max = count($this->attachment); - if ($max > 0) + // Add Attachments + 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 = ""; } } - $this->body .= "--".$this->boundary."--\n"; + $this->body .= "--".$this->boundary."--\n"; $ret = 0; foreach($this->to as $mail) @@ -166,4 +152,3 @@ class email return $ret; } } -?> \ No newline at end of file