From: Jan Schneider Date: Thu, 11 Nov 2010 15:51:22 +0000 (+0100) Subject: We need to use serialize() for arrays too, because the serialized data X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=64783e6d4dc0746fac79e8a00b6dc40fc9429218;p=horde.git We need to use serialize() for arrays too, because the serialized data might contain non-utf8 data. --- diff --git a/framework/Core/lib/Horde/Session.php b/framework/Core/lib/Horde/Session.php index 2df859172..8ceb715ed 100644 --- a/framework/Core/lib/Horde/Session.php +++ b/framework/Core/lib/Horde/Session.php @@ -273,18 +273,13 @@ class Horde_Session * given page load. Thus, for arrays and objects, it is beneficial to * always convert to string representations so that the object/array * does not need to be rebuilt every time the session is reloaded. */ - if (is_object($value) || ($mask & self::TYPE_OBJECT)) { + if (is_object($value) || ($mask & self::TYPE_OBJECT) || + is_array($value) || ($mask & self::TYPE_ARRAY)) { $value = serialize($value); if ($this->_lzf) { $value = lzf_compress($value); } $_SESSION[self::SERIALIZED][$key] = 's'; - } elseif (is_array($value) || ($mask & self::TYPE_ARRAY)) { - $value = json_encode($value); - if ($this->_lzf) { - $value = lzf_compress($value); - } - $_SESSION[self::SERIALIZED][$key] = 'j'; } else { unset($_SESSION[self::SERIALIZED][$key]); }