Centralize handling of attach() function for both real file and buffer string.
Update documentation.
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index 7320ea5..7429035 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -83,7 +83,6 @@
protected $_attach_name = array();
protected $_attach_type = array();
protected $_attach_disp = array();
- protected $_attach_content = array();
protected $_protocols = array('mail', 'sendmail', 'smtp');
protected $_base_charsets = array('us-ascii', 'iso-2022-'); // 7-bit charsets (excluding language suffix)
protected $_bit_depths = array('7bit', '8bit');
@@ -172,7 +171,6 @@
$this->_attach_name = array();
$this->_attach_type = array();
$this->_attach_disp = array();
- $this->_attach_content = array();
}
return $this;
@@ -408,12 +406,11 @@
* @param string
* @return object
*/
- public function attach($filename, $disposition = '', $str = '', $mime = '', $newname = NULL)
+ public function attach($filename, $disposition = '', $newname = NULL, $mime = '')
{
$this->_attach_name[] = array($filename, $newname);
- $this->_attach_type[] = ($mime == '') ? $this->_mime_types(pathinfo($filename, PATHINFO_EXTENSION)) : $mime;
$this->_attach_disp[] = empty($disposition) ? 'attachment' : $disposition; // Can also be 'inline' Not sure if it matters
- $this->_attach_content[] = $str;
+ $this->_attach_type[] = $mime;
return $this;
}
@@ -1053,7 +1050,7 @@
$ctype = $this->_attach_type[$i];
$file_content = '';
- if ($this->_attach_content[$i] === '')
+ if ($this->_attach_type[$i] == '')
{
if ( ! file_exists($filename))
{
@@ -1069,6 +1066,7 @@
return FALSE;
}
+ $ctype = $this->_mime_types(pathinfo($filename, PATHINFO_EXTENSION));
$file_content = fread($fp, $file);
fclose($fp);
}