summaryrefslogtreecommitdiffstats
path: root/system/libraries
diff options
context:
space:
mode:
authorSteffen Stollfuß <j0inty@users.noreply.github.com>2015-11-08 20:05:31 +0100
committerSteffen Stollfuß <j0inty@users.noreply.github.com>2015-11-08 20:05:31 +0100
commit49c78f694eded442d95a25feb5bbc69e6bffb205 (patch)
treeae36e42478e17f3d016bb3bd3b86aba0e9f16ca3 /system/libraries
parent81a6f81d88a0cded9fa5617c4bc578311c5bb652 (diff)
parent6c4daef7ace73e1e9bacb511f646ade778763ff9 (diff)
Merge pull request #1 from bcit-ci/develop
Pull current develop branch to submit a bug report later
Diffstat (limited to 'system/libraries')
-rw-r--r--system/libraries/Email.php13
-rw-r--r--system/libraries/Session/drivers/Session_database_driver.php4
2 files changed, 12 insertions, 5 deletions
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index acf3629c3..ebff7567a 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -1563,11 +1563,10 @@ class CI_Email {
if ($this->charset === 'UTF-8')
{
- if (MB_ENABLED === TRUE)
- {
- return mb_encode_mimeheader($str, $this->charset, 'Q', $this->crlf);
- }
- elseif (ICONV_ENABLED === TRUE)
+ // Note: We used to have mb_encode_mimeheader() as the first choice
+ // here, but it turned out to be buggy and unreliable. DO NOT
+ // re-add it! -- Narf
+ if (ICONV_ENABLED === TRUE)
{
$output = @iconv_mime_encode('', $str,
array(
@@ -1590,6 +1589,10 @@ class CI_Email {
$chars = iconv_strlen($str, 'UTF-8');
}
+ elseif (MB_ENABLED === TRUE)
+ {
+ $chars = mb_strlen($str, 'UTF-8');
+ }
}
// We might already have this set for UTF-8
diff --git a/system/libraries/Session/drivers/Session_database_driver.php b/system/libraries/Session/drivers/Session_database_driver.php
index 1d01c2923..72b39d12d 100644
--- a/system/libraries/Session/drivers/Session_database_driver.php
+++ b/system/libraries/Session/drivers/Session_database_driver.php
@@ -159,6 +159,10 @@ class CI_Session_database_driver extends CI_Session_driver implements SessionHan
if (($result = $this->_db->get()->row()) === NULL)
{
+ // PHP7 will reuse the same SessionHandler object after
+ // ID regeneration, so we need to explicitly set this to
+ // FALSE instead of relying on the default ...
+ $this->_row_exists = FALSE;
$this->_fingerprint = md5('');
return '';
}