summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Andreev <narf@bofh.bg>2012-10-18 13:59:29 +0200
committerAndrey Andreev <narf@bofh.bg>2012-10-18 13:59:29 +0200
commit00ea2a9a3a6451d106ed3f083716f59e84d5f656 (patch)
tree08ecfcb3d8019f84bc23e00070da1c12ab1049b0
parent72865daaaac4d57a6cd598b1ad7398ff3ec3f498 (diff)
Remove {unwrap}{/unwrap} markers when quoted_printable_encode() or imap_8bit() is used
-rw-r--r--system/libraries/Email.php18
-rw-r--r--user_guide_src/source/changelog.rst16
2 files changed, 17 insertions, 17 deletions
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index 5b17edf9b..bc9d62eb4 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -754,7 +754,7 @@ class CI_Email {
{
if ($this->alt_message !== '')
{
- return $this->word_wrap($this->alt_message, '76');
+ return $this->word_wrap($this->alt_message, 76);
}
$body = preg_match('/\<body.*?\>(.*)\<\/body\>/si', $this->_body, $match) ? $match[1] : $this->_body;
@@ -777,12 +777,12 @@ class CI_Email {
* @param int
* @return string
*/
- public function word_wrap($str, $charlim = '')
+ public function word_wrap($str, $charlim = NULL)
{
- // Se the character limit
- if ($charlim === '')
+ // Set the character limit, if not already present
+ if (empty($charlim))
{
- $charlim = ($this->wrapchars === '') ? 76 : $this->wrapchars;
+ $charlim = empty($this->wrapchars) ? 76 : $this->wrapchars;
}
// Reduce multiple spaces
@@ -1096,6 +1096,10 @@ class CI_Email {
*/
protected function _prep_quoted_printable($str)
{
+ // We are intentionally wrapping so mail servers will encode characters
+ // properly and MUAs will behave, so {unwrap} must go!
+ $str = str_replace(array('{unwrap}', '{/unwrap}'), '', $str);
+
// RFC 2045 specifies CRLF as "\r\n".
// However, many developers choose to override that and violate
// the RFC rules due to (apparently) a bug in MS Exchange,
@@ -1121,10 +1125,6 @@ class CI_Email {
$str = str_replace(array("\r\n", "\r"), "\n", $str);
}
- // We are intentionally wrapping so mail servers will encode characters
- // properly and MUAs will behave, so {unwrap} must go!
- $str = str_replace(array('{unwrap}', '{/unwrap}'), '', $str);
-
$escape = '=';
$output = '';
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index de6ceabbe..5225edd01 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -153,14 +153,14 @@ Release Date: Not Released
- :doc:`Session Library <libraries/sessions>` changes include:
- Library changed to :doc:`Driver <general/drivers>` with classic Cookie driver as default.
- - Added Native PHP Session driver to work with $_SESSION.
- - Custom session drivers can be added anywhere in package paths and loaded with Session library.
- - Session drivers interchangeable on the fly.
- - New tempdata feature allows setting user data items with an expiration time.
- - Added default $config['sess_driver'] and $config['sess_valid_drivers'] items to config.php file.
- - Cookie driver now respects php.ini's session.gc_probability and session.gc_divisor
- - The Cookie driver now uses HMAC authentication instead of the simple md5 checksum.
- - The Cookie driver now also checks authentication on encrypted session data.
+ - Added Native PHP Session driver to work with ``$_SESSION``.
+ - Custom drivers can be added anywhere in package paths and be loaded with the library.
+ - Drivers interchangeable on the fly.
+ - New **tempdata** feature allows setting user data items with an expiration time.
+ - Added default ``$config['sess_driver']`` and ``$config['sess_valid_drivers']`` items to *config.php* file.
+ - Cookie driver now respects php.ini's *session.gc_probability* and *session.gc_divisor* settings.
+ - Cookie driver now uses HMAC authentication instead of the simple md5 checksum.
+ - The Cookie driver now also checks authentication on encrypted session data.
- Changed the Cookie driver to select only one row when using database sessions.
- Cookie driver now only writes to database at end of request when using database.
- Cookie driver now uses PHP functions for faster array manipulation when using database.