diff --git a/modules/document/document.admin.controller.php b/modules/document/document.admin.controller.php index d4be7cf74..1000af41e 100644 --- a/modules/document/document.admin.controller.php +++ b/modules/document/document.admin.controller.php @@ -489,6 +489,7 @@ class documentAdminController extends document foreach($obj->document_list as $document) { Rhymix\Framework\Cache::delete('document_item:'. getNumberingPath($document->document_srl) . $document->document_srl); + Rhymix\Framework\Cache::delete('site_and_module:document_srl:' . $document->document_srl); } return new BaseObject(); @@ -617,6 +618,7 @@ class documentAdminController extends document foreach ($document_list as $document) { Rhymix\Framework\Cache::delete('document_item:'. getNumberingPath($document->document_srl) . $document->document_srl); + Rhymix\Framework\Cache::delete('site_and_module:document_srl:' . $document->document_srl); } return new BaseObject(); diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index 78ea83c82..9a80d9b84 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -960,6 +960,7 @@ class documentController extends document //remove from cache Rhymix\Framework\Cache::delete('document_item:' . getNumberingPath($obj->document_srl) . $obj->document_srl); Rhymix\Framework\Cache::delete('seo:document_images:' . $obj->document_srl); + Rhymix\Framework\Cache::delete('site_and_module:document_srl:' . $obj->document_srl); return $output; } @@ -1093,6 +1094,7 @@ class documentController extends document //remove from cache Rhymix\Framework\Cache::delete('document_item:' . getNumberingPath($document_srl) . $document_srl); Rhymix\Framework\Cache::delete('seo:document_images:' . $document_srl); + Rhymix\Framework\Cache::delete('site_and_module:document_srl:' . $document_srl); unset($GLOBALS['XE_DOCUMENT_LIST'][$document_srl]); unset($GLOBALS['XE_EXTRA_VARS'][$document_srl]); return $output; @@ -1254,6 +1256,7 @@ class documentController extends document // Clear cache Rhymix\Framework\Cache::delete('document_item:' . getNumberingPath($oDocument->document_srl) . $oDocument->document_srl); Rhymix\Framework\Cache::delete('seo:document_images:' . $oDocument->document_srl); + Rhymix\Framework\Cache::delete('site_and_module:document_srl:' . $oDocument->document_srl); return $output; } diff --git a/modules/module/module.model.php b/modules/module/module.model.php index 1ed2d1b07..6593a543d 100644 --- a/modules/module/module.model.php +++ b/modules/module/module.model.php @@ -173,11 +173,22 @@ class moduleModel extends module */ public static function getModuleInfoByDocumentSrl($document_srl) { - $args = new stdClass(); - $args->document_srl = $document_srl; - $output = executeQuery('module.getModuleInfoByDocument', $args); - self::_applyDefaultSkin($output->data); - return self::addModuleExtraVars($output->data); + $document_srl = intval($document_srl); + $module_info = Rhymix\Framework\Cache::get('site_and_module:document_srl:' . $document_srl); + if (!$module_info) + { + $args = new stdClass(); + $args->document_srl = $document_srl; + $output = executeQuery('module.getModuleInfoByDocument', $args); + $module_info = $output->data; + if ($module_info) + { + Rhymix\Framework\Cache::set('site_and_module:document_srl:' . $document_srl, $module_info, 0, true); + } + } + + self::_applyDefaultSkin($module_info); + return self::addModuleExtraVars($module_info); } /** diff --git a/modules/module/queries/getModuleInfoByDocument.xml b/modules/module/queries/getModuleInfoByDocument.xml index 2a5a63719..bf61f6ad1 100644 --- a/modules/module/queries/getModuleInfoByDocument.xml +++ b/modules/module/queries/getModuleInfoByDocument.xml @@ -5,6 +5,8 @@ + +