diff --git a/modules/layout/layout.admin.controller.php b/modules/layout/layout.admin.controller.php index 222ec7dcb..a4c336b33 100644 --- a/modules/layout/layout.admin.controller.php +++ b/modules/layout/layout.admin.controller.php @@ -259,6 +259,7 @@ class layoutAdminController extends layout $oLayoutModel = getModel('layout'); $cache_file = $oLayoutModel->getUserLayoutCache($args->layout_srl, Context::getLangType()); FileHandler::removeFile($cache_file); + Rhymix\Framework\Cache::delete('layout:' . $args->layout_srl); } return $output; @@ -322,10 +323,13 @@ class layoutAdminController extends layout $layout_file = $oLayoutModel->getUserLayoutHtml($layout_srl); FileHandler::removeFile($layout_file); + // Delete Layout $args = new stdClass(); $args->layout_srl = $layout_srl; $output = executeQuery("layout.deleteLayout", $args); + + Rhymix\Framework\Cache::delete('layout:' . $args->layout_srl); if(!$output->toBool()) return $output; diff --git a/modules/layout/layout.model.php b/modules/layout/layout.model.php index 0ea869c7b..fa4aaf2bd 100644 --- a/modules/layout/layout.model.php +++ b/modules/layout/layout.model.php @@ -258,6 +258,13 @@ class layoutModel extends layout */ function getLayout($layout_srl) { + // Get information from cache + $layout_info = Rhymix\Framework\Cache::get("layout:$layout_srl"); + if ($layout_info !== null) + { + return $layout_info; + } + // Get information from the DB $args = new stdClass(); $args->layout_srl = $layout_srl; @@ -267,6 +274,8 @@ class layoutModel extends layout // Return xml file informaton after listing up the layout and extra_vars $layout_info = $this->getLayoutInfo($layout, $output->data, $output->data->layout_type); + // Store in cache + Rhymix\Framework\Cache::set("layout:$layout_srl", $layout_info); return $layout_info; } @@ -484,7 +493,7 @@ class layoutModel extends layout { $cache_file = $this->getUserLayoutCache($layout_srl, Context::getLangType()); } - + if(file_exists($cache_file)&&filemtime($cache_file)>filemtime($xml_file)) { include($cache_file);