From f9f16511b45f3e547c60721650d59ce1ebd999c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3na=20Lore?= Date: Sat, 13 Feb 2016 22:52:58 +0100 Subject: [PATCH] Cache library. --- e107_handlers/library_manager.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/e107_handlers/library_manager.php b/e107_handlers/library_manager.php index 681b38999..206f4f6ae 100644 --- a/e107_handlers/library_manager.php +++ b/e107_handlers/library_manager.php @@ -345,8 +345,21 @@ class e_library_manager if(!isset($loaded[$name])) { - // TODO: cache result from libraryDetect() !!!!!! - $library = $this->libraryDetect($name); + $cache = e107::getCache(); + $cacheID = 'library_manager_' . md5($name); + $cached = $cache->retrieve($cacheID, false, true, true); + + if($cached) + { + $library = unserialize($cached); + } + + if(!varset($library, false)) + { + $library = $this->libraryDetect($name); + $cacheData = serialize($library); + $cache->set($cacheID, $cacheData, true, false, true); + } // Exit early if the library was not found. if($library === false)