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 @@
+
+