From 58f1f75e07553a8eebd13d72cfd7d342a080e60f Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Sun, 7 Mar 2010 07:26:13 +0000 Subject: #718636 by mfb: Fixed Cache returns serialized data only in certain conditions. --- includes/cache.inc | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/includes/cache.inc b/includes/cache.inc index e691c1720..e3194d31b 100644 --- a/includes/cache.inc +++ b/includes/cache.inc @@ -387,13 +387,6 @@ class DrupalDatabaseCache implements DrupalCacheInterface { if (!isset($cache->data)) { return FALSE; } - // If the data is permanent or we are not enforcing a minimum cache lifetime - // always return the cached data. - if ($cache->expire == CACHE_PERMANENT || !variable_get('cache_lifetime', 0)) { - if ($cache->serialized) { - $cache->data = unserialize($cache->data); - } - } // If enforcing a minimum cache lifetime, validate that the data is // currently valid for this user before we return it by making sure the cache // entry was created before the timestamp in the current session's cache @@ -405,6 +398,9 @@ class DrupalDatabaseCache implements DrupalCacheInterface { return FALSE; } + if ($cache->serialized) { + $cache->data = unserialize($cache->data); + } if (isset($cache->headers)) { $cache->headers = unserialize($cache->headers); } -- cgit v1.2.3