From 101c622a56ea2a0dc2b5200faed315c6c7f36c02 Mon Sep 17 00:00:00 2001 From: Colin Mollenhour Date: Mon, 20 Jan 2020 10:54:13 -0500 Subject: [PATCH] Add test method to cache models and fix layout update use of test method. (#883) --- app/code/core/Mage/Core/Model/App.php | 11 +++++++++++ app/code/core/Mage/Core/Model/Cache.php | 11 +++++++++++ app/code/core/Mage/Core/Model/Layout/Update.php | 2 +- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/app/code/core/Mage/Core/Model/App.php b/app/code/core/Mage/Core/Model/App.php index a361ce6e4bd..1bbf223e033 100644 --- a/app/code/core/Mage/Core/Model/App.php +++ b/app/code/core/Mage/Core/Model/App.php @@ -1187,6 +1187,17 @@ public function saveCache($data, $id, $tags=array(), $lifeTime=false) return $this; } + /** + * Test cache record availability + * + * @param string $id + * @return false|int + */ + public function testCache($id) + { + return $this->_cache->test($id); + } + /** * Remove cache * diff --git a/app/code/core/Mage/Core/Model/Cache.php b/app/code/core/Mage/Core/Model/Cache.php index f2bc85931c8..7d799e25645 100644 --- a/app/code/core/Mage/Core/Model/Cache.php +++ b/app/code/core/Mage/Core/Model/Cache.php @@ -403,6 +403,17 @@ public function save($data, $id, $tags = array(), $lifeTime = null) return $this->getFrontend()->save((string)$data, $this->_id($id), $this->_tags($tags), $lifeTime); } + /** + * Test data + * + * @param string $id + * @return false|int + */ + public function test($id) + { + return $this->getFrontend()->test($this->_id($id)); + } + /** * Remove cached data by identifier * diff --git a/app/code/core/Mage/Core/Model/Layout/Update.php b/app/code/core/Mage/Core/Model/Layout/Update.php index 361915e74d7..8e436e1138d 100644 --- a/app/code/core/Mage/Core/Model/Layout/Update.php +++ b/app/code/core/Mage/Core/Model/Layout/Update.php @@ -213,7 +213,7 @@ public function saveCache() Mage::app()->saveCache($hash, $this->getCacheId(), $tags, null); // Only save actual XML to cache if it doesn't already exist - if ( ! Mage::app()->getCache()->test(self::XML_KEY_PREFIX . $hash)) { + if ( ! Mage::app()->testCache(self::XML_KEY_PREFIX . $hash)) { Mage::app()->saveCache($str, self::XML_KEY_PREFIX . $hash, $tags, null); } return TRUE;