From 2149ed7700f7c5186202442caad2c7ce86bd4311 Mon Sep 17 00:00:00 2001 From: bnu Date: Tue, 31 Dec 2013 20:51:20 +0900 Subject: [PATCH 1/8] =?UTF-8?q?#242=20documentModel::getDocumentList()?= =?UTF-8?q?=EC=9D=98=20=E2=80=98documentList=E2=80=99=20object=20cache=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/document/document.admin.controller.php | 2 -- modules/document/document.controller.php | 6 ------ modules/document/document.model.php | 18 +----------------- 3 files changed, 1 insertion(+), 25 deletions(-) diff --git a/modules/document/document.admin.controller.php b/modules/document/document.admin.controller.php index ae72f32ac..14819333d 100644 --- a/modules/document/document.admin.controller.php +++ b/modules/document/document.admin.controller.php @@ -200,7 +200,6 @@ class documentAdminController extends document $cache_key_item = 'object_document_item:'.$document_srl; $oCacheHandler->delete($cache_key_item); } - $oCacheHandler->invalidateGroupKey('documentList'); } return new Object(); } @@ -461,7 +460,6 @@ class documentAdminController extends document $oCacheHandler->invalidateGroupKey('commentList_' . $document_srl); } } - $oCacheHandler->invalidateGroupKey('documentList'); } return $output; } diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index 7b8566af0..dd4fe290a 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -326,7 +326,6 @@ class documentController extends document { $cache_key = 'object:'.$obj->document_srl; $oCacheHandler->delete($cache_key); - $oCacheHandler->invalidateGroupKey('documentList'); } return $output; @@ -541,7 +540,6 @@ class documentController extends document { $cache_key = 'object:'.$obj->document_srl; $oCacheHandler->delete($cache_key); - $oCacheHandler->invalidateGroupKey('documentList'); //remove document item from cache $cache_key = 'object_document_item:'.$obj->document_srl; $oCacheHandler->delete($cache_key); @@ -636,7 +634,6 @@ class documentController extends document { $cache_key = 'object:'.$document_srl; $oCacheHandler->delete($cache_key); - $oCacheHandler->invalidateGroupKey('documentList'); $cache_key = 'object_document_item:'.$document_srl; $oCacheHandler->delete($cache_key); } @@ -784,7 +781,6 @@ class documentController extends document $oCacheHandler = &CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { - $oCacheHandler->invalidateGroupKey('documentList'); } return $output; @@ -830,7 +826,6 @@ class documentController extends document { $cache_key = 'object:'.$document_srl; $oCacheHandler->delete($cache_key); - $oCacheHandler->invalidateGroupKey('documentList'); //remove document item from cache $cache_key = 'object_document_item:'.$document_srl; $oCacheHandler->delete($cache_key); @@ -1225,7 +1220,6 @@ class documentController extends document { $cache_key = 'object:'.$document_srl; $oCacheHandler->delete($cache_key); - $oCacheHandler->invalidateGroupKey('documentList'); //remove document item from cache $cache_key = 'object_document_item:'.$document_srl; $oCacheHandler->delete($cache_key); diff --git a/modules/document/document.model.php b/modules/document/document.model.php index e0856e999..30bf511e7 100644 --- a/modules/document/document.model.php +++ b/modules/document/document.model.php @@ -221,20 +221,6 @@ class documentModel extends document $obj->sort_index = $sort_check->sort_index; $obj->isExtraVars = $sort_check->isExtraVars; - // cache controll - $oCacheHandler = &CacheHandler::getInstance('object'); - if($oCacheHandler->isSupport()) - { - $object_key = 'object:'.$obj->module_srl.'_category_srl:'.$obj->category_srl.'_list_count:'.$obj->list_count.'_search_target:'.$obj->search_target.'_search_keyword:'.$obj->search_keyword.'_page'.$obj->page.'_sort_index:'.$obj->sort_index.'_order_type:'.$obj->order_type; - $cache_key = $oCacheHandler->getGroupKey('documentList', $object_key); - $output = $oCacheHandler->get($cache_key); - - if($output) - { - return $output; - } - } - $this->_setSearchOption($obj, $args, $query_id, $use_division); if ($sort_check->isExtraVars) @@ -313,7 +299,7 @@ class documentModel extends document } $output->data[$virtual_number] = $GLOBALS['XE_DOCUMENT_LIST'][$document_srl]; - $virtual_number --; + $virtual_number--; } if($load_extra_vars) $this->setToAllDocumentExtraVars(); @@ -325,8 +311,6 @@ class documentModel extends document $output->data[$number] = $GLOBALS['XE_DOCUMENT_LIST'][$document->document_srl]; } } - //insert in cache - if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key,$output); return $output; } From d2365bbd098168cb5913c76734df8ae39f3af782 Mon Sep 17 00:00:00 2001 From: bnu Date: Wed, 1 Jan 2014 00:22:36 +0900 Subject: [PATCH 2/8] =?UTF-8?q?#242=20cache=20key=EC=97=90=20xe=20core=20?= =?UTF-8?q?=EB=B2=84=EC=A0=84=EB=AA=85=EC=9D=84=20prefix=EB=A1=9C=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/cache/CacheApc.class.php | 7 ------- classes/cache/CacheFile.class.php | 9 +-------- classes/cache/CacheHandler.class.php | 21 ++++++++++++++++++++- classes/cache/CacheMemcache.class.php | 7 ------- classes/cache/CacheWincache.class.php | 7 ------- 5 files changed, 21 insertions(+), 30 deletions(-) diff --git a/classes/cache/CacheApc.class.php b/classes/cache/CacheApc.class.php index 43b13b939..acc2cb45a 100644 --- a/classes/cache/CacheApc.class.php +++ b/classes/cache/CacheApc.class.php @@ -8,13 +8,6 @@ * */ class CacheApc extends CacheBase { - - /** - * Default valid time - * @var int - */ - var $valid_time = 36000; - /** * Get instance of CacheApc * diff --git a/classes/cache/CacheFile.class.php b/classes/cache/CacheFile.class.php index ba93440d2..666e8d23f 100644 --- a/classes/cache/CacheFile.class.php +++ b/classes/cache/CacheFile.class.php @@ -10,13 +10,6 @@ */ class CacheFile extends CacheBase { - - /** - * Default valid time - * @var int - */ - var $valid_time = 36000; - /** * Path that value to stored * @var string @@ -56,7 +49,7 @@ class CacheFile extends CacheBase */ function getCacheFileName($key) { - return $this->cache_dir . str_replace(':', '_', $key); + return $this->cache_dir . str_replace(':', '_', $key); } /** diff --git a/classes/cache/CacheHandler.class.php b/classes/cache/CacheHandler.class.php index 8b0442638..2a4519cf7 100644 --- a/classes/cache/CacheHandler.class.php +++ b/classes/cache/CacheHandler.class.php @@ -8,7 +8,6 @@ */ class CacheHandler extends Handler { - /** * instance of cache handler * @var CacheBase @@ -129,6 +128,17 @@ class CacheHandler extends Handler return false; } + /** + * Get cache name by key + * + * @param string $key The key that will be associated with the item. + * @return string Returns cache name + */ + function getCacheKey($key) + { + return __XE_VERSION__ . ':' . $key; + } + /** * Get cached data * @@ -139,6 +149,7 @@ class CacheHandler extends Handler */ function get($key, $modified_time = 0) { + $key = $this->getCacheKey($key); if(!$this->handler) { return false; @@ -158,6 +169,7 @@ class CacheHandler extends Handler */ function put($key, $obj, $valid_time = 0) { + $key = $this->getCacheKey($key); if(!$this->handler) { return false; @@ -173,6 +185,7 @@ class CacheHandler extends Handler */ function delete($key) { + $key = $this->getCacheKey($key); if(!$this->handler) { return false; @@ -190,6 +203,7 @@ class CacheHandler extends Handler */ function isValid($key, $modified_time) { + $key = $this->getCacheKey($key); if(!$this->handler) { return false; @@ -259,6 +273,11 @@ class CacheHandler extends Handler */ class CacheBase { + /** + * Default valid time + * @var int + */ + var $valid_time = 36000; /** * Get cached data diff --git a/classes/cache/CacheMemcache.class.php b/classes/cache/CacheMemcache.class.php index 2f297b88c..c5d72efba 100644 --- a/classes/cache/CacheMemcache.class.php +++ b/classes/cache/CacheMemcache.class.php @@ -8,13 +8,6 @@ */ class CacheMemcache extends CacheBase { - - /** - * Default valid time - * @var int - */ - var $valid_time = 36000; - /** * instance of Memcahe * @var Memcahe diff --git a/classes/cache/CacheWincache.class.php b/classes/cache/CacheWincache.class.php index 2b0ee4b11..1b393a504 100644 --- a/classes/cache/CacheWincache.class.php +++ b/classes/cache/CacheWincache.class.php @@ -10,13 +10,6 @@ */ class CacheWincache extends CacheBase { - - /** - * Default valid time - * @var int - */ - var $valid_time = 36000; - /** * Get instance of CacheWincache * From 7f55c5313a75291e515f1c6693cbcf22362c0ec8 Mon Sep 17 00:00:00 2001 From: bnu Date: Wed, 1 Jan 2014 00:41:21 +0900 Subject: [PATCH 3/8] =?UTF-8?q?#242=20file=20cache=20=EC=82=AC=EC=9A=A9=20?= =?UTF-8?q?=EC=8B=9C=20=EA=B3=84=EC=B8=B5=ED=98=95=20=EB=94=94=EB=A0=89?= =?UTF-8?q?=ED=86=A0=EB=A6=AC=20=EA=B5=AC=EC=A1=B0=EB=A1=9C=20=EB=B0=B0?= =?UTF-8?q?=EC=B9=98=ED=95=98=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/cache/CacheFile.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/cache/CacheFile.class.php b/classes/cache/CacheFile.class.php index 666e8d23f..ee90dd4c8 100644 --- a/classes/cache/CacheFile.class.php +++ b/classes/cache/CacheFile.class.php @@ -49,7 +49,7 @@ class CacheFile extends CacheBase */ function getCacheFileName($key) { - return $this->cache_dir . str_replace(':', '_', $key); + return $this->cache_dir . str_replace(':', '/', $key); } /** From 6fb5349c2e795f6072f4bffdf984e0d8d31051d4 Mon Sep 17 00:00:00 2001 From: bnu Date: Thu, 2 Jan 2014 06:16:55 +0900 Subject: [PATCH 4/8] =?UTF-8?q?#242=20=EC=9E=90=EC=A3=BC=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=EB=90=98=EB=8A=94=20=EB=8D=B0=EC=9D=B4=ED=84=B0?= =?UTF-8?q?=EB=A5=BC=20file=20cache=EB=A5=BC=20=EC=9D=B4=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EA=B0=9C=EC=84=A0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../document/document.admin.controller.php | 4 +- modules/document/document.controller.php | 12 +- modules/document/document.item.php | 2 +- modules/document/document.model.php | 103 ++++++++++-------- modules/layout/layout.admin.controller.php | 4 +- modules/layout/layout.model.php | 2 +- modules/member/member.admin.controller.php | 2 +- modules/member/member.controller.php | 16 +-- modules/member/member.model.php | 8 +- modules/module/module.controller.php | 26 ++--- modules/module/module.model.php | 31 +++--- modules/point/point.controller.php | 2 +- modules/session/session.controller.php | 4 +- modules/session/session.model.php | 2 +- 14 files changed, 118 insertions(+), 100 deletions(-) diff --git a/modules/document/document.admin.controller.php b/modules/document/document.admin.controller.php index 14819333d..a3a72c291 100644 --- a/modules/document/document.admin.controller.php +++ b/modules/document/document.admin.controller.php @@ -190,7 +190,7 @@ class documentAdminController extends document $oDB->commit(); //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { foreach($document_srl_list as $document_srl) @@ -446,7 +446,7 @@ class documentAdminController extends document } } //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { if(is_array($document_srl_list)) diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index dd4fe290a..3250d0475 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -321,7 +321,7 @@ class documentController extends document $output->add('document_srl',$obj->document_srl); $output->add('category_srl',$obj->category_srl); //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { $cache_key = 'object:'.$obj->document_srl; @@ -535,7 +535,7 @@ class documentController extends document $output->add('document_srl',$obj->document_srl); //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { $cache_key = 'object:'.$obj->document_srl; @@ -629,7 +629,7 @@ class documentController extends document $oDB->commit(); //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { $cache_key = 'object:'.$document_srl; @@ -778,7 +778,7 @@ class documentController extends document $oDB->commit(); // Clear cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { } @@ -821,7 +821,7 @@ class documentController extends document // Register session $_SESSION['readed_document'][$document_srl] = true; //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { $cache_key = 'object:'.$document_srl; @@ -1215,7 +1215,7 @@ class documentController extends document } //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { $cache_key = 'object:'.$document_srl; diff --git a/modules/document/document.item.php b/modules/document/document.item.php index 31cbd967b..5cfa4492b 100644 --- a/modules/document/document.item.php +++ b/modules/document/document.item.php @@ -77,7 +77,7 @@ class documentItem extends Object if(!$this->document_srl) return; // cache controll - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport() && !count($this->columnList)) { $cache_key = 'object_document_item:'.$this->document_srl; diff --git a/modules/document/document.model.php b/modules/document/document.model.php index 30bf511e7..a423c3e85 100644 --- a/modules/document/document.model.php +++ b/modules/document/document.model.php @@ -363,60 +363,75 @@ class documentModel extends document { if(is_null($GLOBALS['XE_EXTRA_KEYS'][$module_srl])) { - $oExtraVar = &ExtraVar::getInstance($module_srl); - $obj = new stdClass(); - $obj->module_srl = $module_srl; - $obj->sort_index = 'var_idx'; - $obj->order = 'asc'; - $output = executeQueryArray('document.getDocumentExtraKeys', $obj); - - // correcting index order - $isFixed = FALSE; - if(is_array($output->data)) + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) { - $prevIdx = 0; - foreach($output->data as $no => $value) - { - // case first - if($prevIdx == 0 && $value->idx != 1) - { - $args = new stdClass(); - $args->module_srl = $module_srl; - $args->var_idx = $value->idx; - $args->new_idx = 1; - executeQuery('document.updateDocumentExtraKeyIdx', $args); - executeQuery('document.updateDocumentExtraVarIdx', $args); - $prevIdx = 1; - $isFixed = TRUE; - continue; - } - - // case others - if($prevIdx > 0 && $prevIdx + 1 != $value->idx) - { - $args = new stdClass(); - $args->module_srl = $module_srl; - $args->var_idx = $value->idx; - $args->new_idx = $prevIdx + 1; - executeQuery('document.updateDocumentExtraKeyIdx', $args); - executeQuery('document.updateDocumentExtraVarIdx', $args); - $prevIdx += 1; - $isFixed = TRUE; - continue; - } - - $prevIdx = $value->idx; - } + $cache_key = 'object:module_extra_keys_' . $module_srl; + $output = $oCacheHandler->get($cache_key); } - if($isFixed) + $oExtraVar = &ExtraVar::getInstance($module_srl); + if(!$output) { + $obj = new stdClass(); + $obj->module_srl = $module_srl; + $obj->sort_index = 'var_idx'; + $obj->order = 'asc'; $output = executeQueryArray('document.getDocumentExtraKeys', $obj); + + // correcting index order + $isFixed = FALSE; + if(is_array($output->data)) + { + $prevIdx = 0; + foreach($output->data as $no => $value) + { + // case first + if($prevIdx == 0 && $value->idx != 1) + { + $args = new stdClass(); + $args->module_srl = $module_srl; + $args->var_idx = $value->idx; + $args->new_idx = 1; + executeQuery('document.updateDocumentExtraKeyIdx', $args); + executeQuery('document.updateDocumentExtraVarIdx', $args); + $prevIdx = 1; + $isFixed = TRUE; + continue; + } + + // case others + if($prevIdx > 0 && $prevIdx + 1 != $value->idx) + { + $args = new stdClass(); + $args->module_srl = $module_srl; + $args->var_idx = $value->idx; + $args->new_idx = $prevIdx + 1; + executeQuery('document.updateDocumentExtraKeyIdx', $args); + executeQuery('document.updateDocumentExtraVarIdx', $args); + $prevIdx += 1; + $isFixed = TRUE; + continue; + } + + $prevIdx = $value->idx; + } + } + + if($isFixed) + { + $output = executeQueryArray('document.getDocumentExtraKeys', $obj); + } + if($oCacheHandler->isSupport()) + { + $oCacheHandler->put($cache_key, $output); + } } $oExtraVar->setExtraVarKeys($output->data); $keys = $oExtraVar->getExtraVars(); if(!$keys) $keys = array(); + $GLOBALS['XE_EXTRA_KEYS'][$module_srl] = $keys; } diff --git a/modules/layout/layout.admin.controller.php b/modules/layout/layout.admin.controller.php index 34c47b613..5465a9526 100644 --- a/modules/layout/layout.admin.controller.php +++ b/modules/layout/layout.admin.controller.php @@ -257,7 +257,7 @@ class layoutAdminController extends layout $cache_file = $oLayoutModel->getUserLayoutCache($args->layout_srl, Context::getLangType()); FileHandler::removeFile($cache_file); //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object:'.$args->layout_srl; @@ -330,7 +330,7 @@ class layoutAdminController extends layout $args->layout_srl = $layout_srl; $output = executeQuery("layout.deleteLayout", $args); //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object:'.$layout_srl; diff --git a/modules/layout/layout.model.php b/modules/layout/layout.model.php index 4b9e0ac8b..97480e4b5 100644 --- a/modules/layout/layout.model.php +++ b/modules/layout/layout.model.php @@ -259,7 +259,7 @@ class layoutModel extends layout function getLayout($layout_srl) { // cache controll - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object:'.$layout_srl; diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index 6e0a9bad9..ddc28ca43 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -1233,7 +1233,7 @@ class memberAdminController extends member function _deleteMemberGroupCache($site_srl = 0) { //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object', null, true); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object_groups:'.$site_srl; diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 2d28a414e..a1f0aeb7f 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -1455,7 +1455,7 @@ class memberController extends member $output = executeQuery('member.addMemberToGroup',$args); $output2 = ModuleHandler::triggerCall('member.addMemberToGroup', 'after', $args); - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object_member_groups:'.$member_srl.'_'.$site_srl; @@ -1501,7 +1501,7 @@ class memberController extends member if(!$output->toBool()) return $output; } - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object_member_groups:'.$member_srl.'_'.$site_srl; @@ -2117,15 +2117,17 @@ class memberController extends member } $oDB->commit(); - // Save Session - if(!$this->memberInfo) $this->memberInfo = $oMemberModel->getMemberInfoByMemberSrl($args->member_srl); + //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$args->member_srl; + $cache_key = 'object:member_info:'.$args->member_srl; $oCacheHandler->delete($cache_key); } + + // Save Session + if(!$this->memberInfo) $this->memberInfo = $oMemberModel->getMemberInfoByMemberSrl($args->member_srl); $logged_info = Context::get('logged_info'); $output->add('member_srl', $args->member_srl); @@ -2139,7 +2141,7 @@ class memberController extends member { $output = executeQuery('member.updateChangePasswordDate', $args); //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { $cache_key = 'object:'.$args->member_srl; diff --git a/modules/member/member.model.php b/modules/member/member.model.php index 8995a2cd7..b87c3a99f 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -284,10 +284,10 @@ class memberModel extends member //columnList size zero... get full member info if(!$GLOBALS['__member_info__'][$member_srl] || count($columnList) == 0) { - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$member_srl; + $cache_key = 'object:member_info:'.$member_srl; $GLOBALS['__member_info__'][$member_srl] = $oCacheHandler->get($cache_key); } @@ -442,7 +442,7 @@ class memberModel extends member function getMemberGroups($member_srl, $site_srl = 0, $force_reload = false) { // cache controll - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object_member_groups:'.$member_srl.'_'.$site_srl; @@ -538,7 +538,7 @@ class memberModel extends member $site_srl = 0; } - $oCacheHandler = &CacheHandler::getInstance('object', null, true); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object_groups:'.$site_srl; diff --git a/modules/module/module.controller.php b/modules/module/module.controller.php index 16424d6b0..d6468b79e 100644 --- a/modules/module/module.controller.php +++ b/modules/module/module.controller.php @@ -61,7 +61,7 @@ class moduleController extends module $output = executeQuery('module.insertTrigger', $args); //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object', NULL, TRUE); + $oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE); if($oCacheHandler->isSupport()) { $oCacheHandler->invalidateGroupKey('triggers'); @@ -91,7 +91,7 @@ class moduleController extends module $output = executeQuery('module.deleteTrigger', $args); //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object', NULL, TRUE); + $oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE); if($oCacheHandler->isSupport()) { $oCacheHandler->invalidateGroupKey('triggers'); @@ -187,7 +187,7 @@ class moduleController extends module $output = executeQuery('module.insertModuleConfig', $args); //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object', NULL, TRUE); + $oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE); if($oCacheHandler->isSupport()) { $cache_key = 'object:module_config:module_'.$module.'_site_srl_'.$site_srl; @@ -211,7 +211,7 @@ class moduleController extends module if(!$output->toBool()) return $output; //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object', NULL, TRUE); + $oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE); if($oCacheHandler->isSupport()) { $cache_key = 'object_module_part_config:'.$module.'_'.$module_srl; @@ -288,7 +288,7 @@ class moduleController extends module $module_info = $oModuleModel->getModuleInfoByModuleSrl($args->index_module_srl); $mid = $module_info->mid; - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { if($args->site_srl == 0) @@ -554,7 +554,7 @@ class moduleController extends module foreach($menuOutput->data as $itemInfo) { $itemInfo->url = $args->mid; - + $updateMenuItemOutput = $oMenuAdminController->updateMenuItem($itemInfo); if(!$updateMenuItemOutput->toBool()) { @@ -563,7 +563,7 @@ class moduleController extends module } } } - + // if mid changed, change mid of success_return_url to new mid if($module_info->mid != $args->mid && Context::get('success_return_url')) { @@ -578,7 +578,7 @@ class moduleController extends module $output->add('module_srl',$args->module_srl); //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object_module_info:'.$args->module_srl; @@ -722,7 +722,7 @@ class moduleController extends module // commit $oDB->commit(); //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object_module_info:'.$args->module_srl; @@ -971,7 +971,7 @@ class moduleController extends module } //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $oCacheHandler->delete($cache_key); @@ -1008,7 +1008,7 @@ class moduleController extends module $args->module_srl = $module_srl; return executeQuery('module.deleteModuleExtraVars', $args); //remove from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { $cache_key = 'object:module_extra_vars_'.$module_srl; @@ -1191,7 +1191,7 @@ class moduleController extends module // Check uploaded file if(!checkUploadedFile($tmp)) return false; - + if(!@move_uploaded_file($tmp, $save_filename)) { return false; @@ -1228,7 +1228,7 @@ class moduleController extends module // Check uploaded file if(!checkUploadedFile($tmp)) return false; - + // upload if(!@move_uploaded_file($tmp, $save_filename)) { diff --git a/modules/module/module.model.php b/modules/module/module.model.php index 43784fd33..c4ad7b9f1 100644 --- a/modules/module/module.model.php +++ b/modules/module/module.model.php @@ -113,7 +113,7 @@ class moduleModel extends module } } - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); // If domain is set, look for subsite if($domain !== '') { @@ -123,7 +123,7 @@ class moduleModel extends module $args = new stdClass(); $args->domain = $domain; $output = executeQuery('module.getSiteInfoByDomain', $args); - if($oCacheHandler->isSupport() && $output->data) $oCacheHandler->put('domain_' . $domain, $output); + if($oCacheHandler->isSupport()) $oCacheHandler->put('domain_' . $domain, $output); } if($output->toBool() && $output->data && $vid) { @@ -135,7 +135,7 @@ class moduleModel extends module // If no virtual website was found, get default website if($domain === '') { - if($oCacheHandler->isSupport()) $output = $oCacheHandler->get('default_site'); + if($oCacheHandler->isSupport()) $output = $oCacheHandler->get('default_site'); if(!$output) { $args = new stdClass(); @@ -194,7 +194,7 @@ class moduleModel extends module $args = new stdClass(); $args->mid = $mid; $args->site_srl = (int)$site_srl; - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object:'.$mid.'_'.$site_srl; @@ -288,7 +288,7 @@ class moduleModel extends module $moduleInfo->designSettings->skin->mobileIsDefault = $moduleInfo->is_mskin_fix == 'N' ? 1 : 0; $moduleInfo->designSettings->skin->mobile = $skinInfoMobile->title; - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object:'.$mid.'_'.$site_srl; @@ -333,7 +333,7 @@ class moduleModel extends module // Get data $args = new stdClass(); $args->module_srl = $module_srl; - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object_module_info:'.$module_srl; @@ -526,7 +526,7 @@ class moduleModel extends module function getTriggers($trigger_name, $called_position) { // cache controll - $oCacheHandler = &CacheHandler::getInstance('object', NULL, TRUE); + $oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE); if($oCacheHandler->isSupport()) { $object_key = 'object:'.$trigger_name.'_'.$called_position; @@ -1247,7 +1247,7 @@ class moduleModel extends module function getModuleConfig($module, $site_srl = 0) { // cache controll - $oCacheHandler = &CacheHandler::getInstance('object', null, true); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object:module_config:module_'.$module.'_site_srl_'.$site_srl; @@ -1262,11 +1262,11 @@ class moduleModel extends module $args->site_srl = $site_srl; $output = executeQuery('module.getModuleConfig', $args); $config = unserialize($output->data->config); + if(!$config) $config = new stdClass; //insert in cache if($oCacheHandler->isSupport()) { - if($config) - $oCacheHandler->put($cache_key,$config); + $oCacheHandler->put($cache_key,$config); } $GLOBALS['__ModuleConfig__'][$site_srl][$module] = $config; } @@ -1283,7 +1283,7 @@ class moduleModel extends module function getModulePartConfig($module, $module_srl) { // cache controll - $oCacheHandler = &CacheHandler::getInstance('object', null, true); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object_module_part_config:'.$module.'_'.$module_srl; @@ -1298,10 +1298,11 @@ class moduleModel extends module $args->module_srl = $module_srl; $output = executeQuery('module.getModulePartConfig', $args); $config = unserialize($output->data->config); + if(!$config) $config = new stdClass; //insert in cache if($oCacheHandler->isSupport()) { - if($config) $oCacheHandler->put($cache_key,$config); + $oCacheHandler->put($cache_key, $config); } $GLOBALS['__ModulePartConfig__'][$module][$module_srl] = $config; } @@ -1595,7 +1596,7 @@ class moduleModel extends module { if(is_array($module_srl)) $module_srl = implode(',',$module_srl); // cache controll - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object:module_extra_vars_'.$module_srl; @@ -1718,7 +1719,7 @@ class moduleModel extends module } // cache controll - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $output = $oCacheHandler->get($cache_key); @@ -1765,7 +1766,7 @@ class moduleModel extends module { if(!$module_info->module_srl) return; // cache controll - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { $cache_key = 'object_module_mobile_skin_vars:'.$module_info->module_srl; diff --git a/modules/point/point.controller.php b/modules/point/point.controller.php index 12597a656..e97a9490b 100644 --- a/modules/point/point.controller.php +++ b/modules/point/point.controller.php @@ -641,7 +641,7 @@ class pointController extends point $cache_filename = sprintf('%s%d.cache.txt', $cache_path, $member_srl); FileHandler::writeFile($cache_filename, $point); - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { $cache_key = 'object:'.$member_srl; diff --git a/modules/session/session.controller.php b/modules/session/session.controller.php index ff3d0846a..e6118020d 100644 --- a/modules/session/session.controller.php +++ b/modules/session/session.controller.php @@ -27,7 +27,7 @@ class sessionController extends session function write($session_key, $val) { if(!$session_key || !$this->session_started) return; - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { $cache_key = 'object:'.$session_key; @@ -116,7 +116,7 @@ class sessionController extends session { if(!$session_key || !$this->session_started) return; //remove session from cache - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { $cache_key = 'object:'.$session_key; diff --git a/modules/session/session.model.php b/modules/session/session.model.php index aa245899a..e4d33e761 100644 --- a/modules/session/session.model.php +++ b/modules/session/session.model.php @@ -25,7 +25,7 @@ class sessionModel extends session $output = new Object(); - $oCacheHandler = &CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { $cache_key = 'object:'.$session_key; From 80f10ee9e779c5e28659351a2fae03564d533e7f Mon Sep 17 00:00:00 2001 From: bnu Date: Sun, 5 Jan 2014 00:28:19 +0900 Subject: [PATCH 5/8] =?UTF-8?q?#242=20cache=20key=EA=B0=80=20=EC=97=86?= =?UTF-8?q?=EC=9D=84=20=EB=95=8C=20=ED=8F=B4=EB=8D=94=20permission=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=20=EB=AC=B8=EC=A0=9C=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?=EB=B0=8F=20cache=20groupkey=20=EC=A0=95=EB=A6=AC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/cache/CacheHandler.class.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/classes/cache/CacheHandler.class.php b/classes/cache/CacheHandler.class.php index 2a4519cf7..baa96ca72 100644 --- a/classes/cache/CacheHandler.class.php +++ b/classes/cache/CacheHandler.class.php @@ -169,6 +169,8 @@ class CacheHandler extends Handler */ function put($key, $obj, $valid_time = 0) { + if(!$key) return false; + $key = $this->getCacheKey($key); if(!$this->handler) { @@ -249,7 +251,7 @@ class CacheHandler extends Handler $this->handler->put('key_group_versions', $this->keyGroupVersions, 0); } - return $this->keyGroupVersions[$keyGroupName] . ':' . $keyGroupName . ':' . $key; + return 'cache_group_' . $this->keyGroupVersions[$keyGroupName] . ':' . $keyGroupName . ':' . $key; } /** From b29cf1fb679abf72ff0ffa5cc3b8aaeaadd315b5 Mon Sep 17 00:00:00 2001 From: bnu Date: Sun, 5 Jan 2014 02:01:04 +0900 Subject: [PATCH 6/8] =?UTF-8?q?#242=20document=20item=EC=9D=98=20object=20?= =?UTF-8?q?cache=20=EC=A0=95=EB=A6=AC.=20-=20=EC=9D=BC=EB=B6=80=20?= =?UTF-8?q?=EA=B8=B0=EB=A1=9D=EC=84=B1=20=EB=8D=B0=EC=9D=B4=ED=84=B0?= =?UTF-8?q?=EB=A5=BC=20=EC=A0=9C=EC=99=B8=ED=95=98=EA=B3=A0=20object=20cac?= =?UTF-8?q?he=EB=A5=BC=20=EC=82=AC=EC=9A=A9=ED=95=98=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=ED=95=A8=EA=B3=BC=20=EC=9D=B4=EC=97=90=20=EB=94=B0=EB=9D=BC=20?= =?UTF-8?q?=ED=95=B4=EB=8B=B9=20=EA=B0=92=EC=9D=B4=20=EB=B3=80=EA=B2=BD?= =?UTF-8?q?=EB=90=A0=20=EB=95=8C=20cache=EB=A5=BC=20=EA=B0=B1=EC=8B=A0?= =?UTF-8?q?=ED=95=98=EC=A7=80=20=EC=95=8A=EB=8F=84=EB=A1=9D=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD.=20=20=20-=20readed=5Fcount,=20comment=5Fcount,=20vot?= =?UTF-8?q?ed=5Fcount,=20blamed=5Fcount,=20trackback=5Fcount?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../document/document.admin.controller.php | 8 +-- modules/document/document.controller.php | 38 ++----------- modules/document/document.item.php | 57 +++++++++++++------ 3 files changed, 45 insertions(+), 58 deletions(-) diff --git a/modules/document/document.admin.controller.php b/modules/document/document.admin.controller.php index a3a72c291..1859dd0cd 100644 --- a/modules/document/document.admin.controller.php +++ b/modules/document/document.admin.controller.php @@ -195,9 +195,7 @@ class documentAdminController extends document { foreach($document_srl_list as $document_srl) { - $cache_key = 'object:'.$document_srl; - $oCacheHandler->delete($cache_key); - $cache_key_item = 'object_document_item:'.$document_srl; + $cache_key_item = 'document_item:'.$document_srl; $oCacheHandler->delete($cache_key_item); } } @@ -453,9 +451,7 @@ class documentAdminController extends document { foreach($document_srl_list as $document_srl) { - $cache_key = 'object:'.$document_srl; - $oCacheHandler->delete($cache_key); - $cache_key_item = 'object_document_item:'.$document_srl; + $cache_key_item = 'document_item:'.$document_srl; $oCacheHandler->delete($cache_key_item); $oCacheHandler->invalidateGroupKey('commentList_' . $document_srl); } diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index 3250d0475..a457b49a7 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -320,13 +320,6 @@ class documentController extends document $this->addGrant($obj->document_srl); $output->add('document_srl',$obj->document_srl); $output->add('category_srl',$obj->category_srl); - //remove from cache - $oCacheHandler = CacheHandler::getInstance('object'); - if($oCacheHandler->isSupport()) - { - $cache_key = 'object:'.$obj->document_srl; - $oCacheHandler->delete($cache_key); - } return $output; } @@ -538,10 +531,8 @@ class documentController extends document $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$obj->document_srl; - $oCacheHandler->delete($cache_key); //remove document item from cache - $cache_key = 'object_document_item:'.$obj->document_srl; + $cache_key = 'document_item:'.$obj->document_srl; $oCacheHandler->delete($cache_key); } @@ -632,9 +623,7 @@ class documentController extends document $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$document_srl; - $oCacheHandler->delete($cache_key); - $cache_key = 'object_document_item:'.$document_srl; + $cache_key = 'document_item:'.$document_srl; $oCacheHandler->delete($cache_key); } @@ -799,6 +788,7 @@ class documentController extends document // Call a trigger when the read count is updated (after) $output = ModuleHandler::triggerCall('document.updateReadedCount', 'after', $oDocument); if(!$output->toBool()) return $output; + // Pass if read count is increaded on the session information if($_SESSION['readed_document'][$document_srl]) return false; @@ -818,18 +808,9 @@ class documentController extends document $args = new stdClass; $args->document_srl = $document_srl; $output = executeQuery('document.updateReadedCount', $args); + // Register session $_SESSION['readed_document'][$document_srl] = true; - //remove from cache - $oCacheHandler = CacheHandler::getInstance('object'); - if($oCacheHandler->isSupport()) - { - $cache_key = 'object:'.$document_srl; - $oCacheHandler->delete($cache_key); - //remove document item from cache - $cache_key = 'object_document_item:'.$document_srl; - $oCacheHandler->delete($cache_key); - } return TRUE; } @@ -1214,17 +1195,6 @@ class documentController extends document $args->last_updater = $last_updater; } - //remove from cache - $oCacheHandler = CacheHandler::getInstance('object'); - if($oCacheHandler->isSupport()) - { - $cache_key = 'object:'.$document_srl; - $oCacheHandler->delete($cache_key); - //remove document item from cache - $cache_key = 'object_document_item:'.$document_srl; - $oCacheHandler->delete($cache_key); - } - return executeQuery('document.updateCommentCount', $args); } diff --git a/modules/document/document.item.php b/modules/document/document.item.php index 5cfa4492b..c854af04e 100644 --- a/modules/document/document.item.php +++ b/modules/document/document.item.php @@ -78,24 +78,48 @@ class documentItem extends Object // cache controll $oCacheHandler = CacheHandler::getInstance('object'); - if($oCacheHandler->isSupport() && !count($this->columnList)) + if($oCacheHandler->isSupport()) { - $cache_key = 'object_document_item:'.$this->document_srl; - $output = $oCacheHandler->get($cache_key); + $cache_key = 'document_item:' . $this->document_srl; + $document_item = $oCacheHandler->get($cache_key); + if($document_item) + { + $document_item = (object)$document_item->getVariables(); + $this->columnList = array('readed_count', 'voted_count', 'blamed_count', 'comment_count', 'trackback_count'); + } + else + { + $this->columnList = array(); + } } - if(!$output) + + $args = new stdClass(); + $args->document_srl = $this->document_srl; + $output = executeQuery('document.getDocument', $args, $this->columnList); + + if(!$document_item) { - $args = new stdClass(); - $args->document_srl = $this->document_srl; - $output = executeQuery('document.getDocument', $args, $this->columnList); - //insert in cache - if($output->data->document_srl && $oCacheHandler->isSupport()) - $oCacheHandler->put($cache_key,$output); + $document_item = $output->data; + } + else + { + $document_item->readed_count = $output->data->readed_count; + $document_item->voted_count = $output->data->voted_count; + $document_item->blamed_count = $output->data->blamed_count; + $document_item->comment_count = $output->data->comment_count; + $document_item->trackback_count = $output->data->trackback_count; + } + + $this->setAttribute($document_item, $load_extra_vars); + + //insert in cache + if($this->document_srl && $oCacheHandler->isSupport()) + { + $oCacheHandler->put($cache_key, $this); } - $this->setAttribute($output->data,$load_extra_vars); } - function setAttribute($attribute,$load_extra_vars=true) + function setAttribute($attribute, $load_extra_vars=true) { if(!$attribute->document_srl) { @@ -105,15 +129,12 @@ class documentItem extends Object $this->document_srl = $attribute->document_srl; $this->lang_code = $attribute->lang_code; $this->adds($attribute); + // Tags if($this->get('tags')) { - $tags = explode(',',$this->get('tags')); - $tag_count = count($tags); - for($i=0;$i<$tag_count;$i++) - { - if(trim($tags[$i])) $tag_list[] = trim($tags[$i]); - } + $tag_list = explode(',', $this->get('tags')); + $tag_list = array_map('trim', $tag_list); $this->add('tag_list', $tag_list); } From 06a9e9fdac00f4b4dba5470a1a49ea8b4e358ad8 Mon Sep 17 00:00:00 2001 From: bnu Date: Sun, 5 Jan 2014 02:30:17 +0900 Subject: [PATCH 7/8] =?UTF-8?q?#242=20file=20cache=EB=A5=BC=20PHP=20?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/cache/CacheFile.class.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/classes/cache/CacheFile.class.php b/classes/cache/CacheFile.class.php index ee90dd4c8..e97a14bc5 100644 --- a/classes/cache/CacheFile.class.php +++ b/classes/cache/CacheFile.class.php @@ -49,7 +49,7 @@ class CacheFile extends CacheBase */ function getCacheFileName($key) { - return $this->cache_dir . str_replace(':', '/', $key); + return $this->cache_dir . str_replace(':', '/', $key) . '.php'; } /** @@ -73,8 +73,11 @@ class CacheFile extends CacheBase function put($key, $obj, $valid_time = 0) { $cache_file = $this->getCacheFileName($key); - $text = serialize($obj); - FileHandler::writeFile($cache_file, $text); + $content = array(); + $content[] = 'getCacheFileName($key); - $content = FileHandler::readFile($cache_file); + $cache_file = FileHandler::exists($this->getCacheFileName($key)); + + if($cache_file) $content = include($cache_file); + if(!$content) { return false; } - return unserialize($content); + return unserialize(base64_decode($content)); } /** From 55c76dcd781691fed020e1730d0b508870bed021 Mon Sep 17 00:00:00 2001 From: bnu Date: Mon, 6 Jan 2014 16:48:54 +0900 Subject: [PATCH 8/8] =?UTF-8?q?#242=20object=20cache=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/cache/CacheHandler.class.php | 1 + config/func.inc.php | 13 + modules/comment/comment.model.php | 35 +- modules/counter/counter.model.php | 6 +- modules/document/document.class.php | 2 - modules/document/document.controller.php | 6 + modules/document/document.model.php | 17 +- modules/layout/layout.admin.controller.php | 12 +- modules/layout/layout.class.php | 9 + modules/layout/layout.model.php | 16 +- modules/member/member.admin.controller.php | 15 +- modules/member/member.controller.php | 30 +- modules/member/member.model.php | 68 ++-- modules/module/module.class.php | 11 + modules/module/module.controller.php | 126 +++++-- modules/module/module.model.php | 372 ++++++++++++++------- modules/point/point.admin.controller.php | 6 + modules/point/point.controller.php | 9 +- modules/session/session.controller.php | 10 +- modules/session/session.model.php | 2 +- 20 files changed, 513 insertions(+), 253 deletions(-) diff --git a/classes/cache/CacheHandler.class.php b/classes/cache/CacheHandler.class.php index baa96ca72..7e5417d85 100644 --- a/classes/cache/CacheHandler.class.php +++ b/classes/cache/CacheHandler.class.php @@ -136,6 +136,7 @@ class CacheHandler extends Handler */ function getCacheKey($key) { + $key = str_replace('/', ':', $key); return __XE_VERSION__ . ':' . $key; } diff --git a/config/func.inc.php b/config/func.inc.php index 4ccbe39e3..a03485562 100644 --- a/config/func.inc.php +++ b/config/func.inc.php @@ -859,6 +859,19 @@ function delObjectVars($target_obj, $del_obj) return $return_obj; } +function getDestroyXeVars(&$vars) +{ + $del_vars = array('error_return_url', 'success_return_url', 'ruleset', 'xe_validator_id'); + + foreach($del_vars as $var) + { + if(is_array($vars)) unset($vars[$var]); + else if(is_object($vars)) unset($vars->$var); + } + + return $vars; +} + /** * Change error_handing to debugPrint on php5 higher * diff --git a/modules/comment/comment.model.php b/modules/comment/comment.model.php index bcea2001e..4c772ed39 100644 --- a/modules/comment/comment.model.php +++ b/modules/comment/comment.model.php @@ -376,37 +376,22 @@ class commentModel extends comment $args->list_count = $obj->list_count; - // cache controll - $oCacheHandler = CacheHandler::getInstance('object'); - if($oCacheHandler->isSupport()) + if(strpos($args->module_srl, ",") === false) { - $object_key = 'object_newest_comment_list:' . $obj->module_srl; - $cache_key = $oCacheHandler->getGroupKey('newestCommentsList', $object_key); - $output = $oCacheHandler->get($cache_key); - } - if(!$output) - { - if(strpos($args->module_srl, ",") === false) + if($args->module_srl) { - if($args->module_srl) + // check if module is using comment validation system + $oCommentController = getController("comment"); + $is_using_validation = $oCommentController->isModuleUsingPublishValidation($obj->module_srl); + if($is_using_validation) { - // check if module is using comment validation system - $oCommentController = getController("comment"); - $is_using_validation = $oCommentController->isModuleUsingPublishValidation($obj->module_srl); - if($is_using_validation) - { - $args->status = 1; - } + $args->status = 1; } } - - $output = executeQuery('comment.getNewestCommentList', $args, $columnList); - - if($oCacheHandler->isSupport()) - { - $oCacheHandler->put($cache_key, $output); - } } + + $output = executeQuery('comment.getNewestCommentList', $args, $columnList); + if(!$output->toBool()) { return $output; diff --git a/modules/counter/counter.model.php b/modules/counter/counter.model.php index f60aea505..28610f7bd 100644 --- a/modules/counter/counter.model.php +++ b/modules/counter/counter.model.php @@ -35,7 +35,7 @@ class counterModel extends counter $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { - $object_key = 'object:' . $site_srl . '_' . str_replace('.', '-', $args->ipaddress); + $object_key = 'counter:' . $site_srl . '_' . str_replace(array('.', ':'), '-', $args->ipaddress); $cache_key = $oCacheHandler->getGroupKey('counterIpLogged_' . $args->regdate, $object_key); if($oCacheHandler->isValid($cache_key)) { @@ -68,7 +68,7 @@ class counterModel extends counter $oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE); if($oCacheHandler->isSupport()) { - $cache_key = 'object:insertedTodayStatus:' . $site_srl . '_' . $args->regdate; + $cache_key = 'counter:insertedTodayStatus:' . $site_srl . '_' . $args->regdate; if($oCacheHandler->isValid($cache_key)) { return $oCacheHandler->get($cache_key); @@ -90,7 +90,7 @@ class counterModel extends counter { $oCacheHandler->put($cache_key, TRUE); $_old_date = date('Ymd', strtotime('-1 day')); - $oCacheHandler->delete('object:insertedTodayStatus:' . $site_srl . '_' . $_old_date); + $oCacheHandler->delete('counter:insertedTodayStatus:' . $site_srl . '_' . $_old_date); } return $result; diff --git a/modules/document/document.class.php b/modules/document/document.class.php index d16d1ccc2..1eba9935e 100644 --- a/modules/document/document.class.php +++ b/modules/document/document.class.php @@ -280,8 +280,6 @@ class document extends ModuleObject if($oDB->isColumnExists('documents', 'allow_comment') || $oDB->isColumnExists('documents', 'lock_comment')) { $oDB->addColumn('documents', 'comment_status', 'varchar', 20, 'ALLOW'); - $columnList = array('module_srl'); - $moduleSrlList = $oModuleModel->getModuleSrlList(null, $columnList); $args->commentStatus = 'DENY'; diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index a457b49a7..d8209a82b 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -904,6 +904,12 @@ class documentController extends document $oDB->commit(); + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $oCacheHandler->invalidateGroupKey('site_and_module'); + } + return new Object(); } diff --git a/modules/document/document.model.php b/modules/document/document.model.php index a423c3e85..037f229ff 100644 --- a/modules/document/document.model.php +++ b/modules/document/document.model.php @@ -366,12 +366,13 @@ class documentModel extends document $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object:module_extra_keys_' . $module_srl; - $output = $oCacheHandler->get($cache_key); + $object_key = 'module_extra_keys:' . $module_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $keys = $oCacheHandler->get($cache_key); } $oExtraVar = &ExtraVar::getInstance($module_srl); - if(!$output) + if(!$keys) { $obj = new stdClass(); $obj->module_srl = $module_srl; @@ -422,15 +423,17 @@ class documentModel extends document { $output = executeQueryArray('document.getDocumentExtraKeys', $obj); } + + $oExtraVar->setExtraVarKeys($output->data); + $keys = $oExtraVar->getExtraVars(); + if(!$keys) $keys = array(); + if($oCacheHandler->isSupport()) { - $oCacheHandler->put($cache_key, $output); + $oCacheHandler->put($cache_key, $keys); } } - $oExtraVar->setExtraVarKeys($output->data); - $keys = $oExtraVar->getExtraVars(); - if(!$keys) $keys = array(); $GLOBALS['XE_EXTRA_KEYS'][$module_srl] = $keys; } diff --git a/modules/layout/layout.admin.controller.php b/modules/layout/layout.admin.controller.php index 5465a9526..b04d0ea45 100644 --- a/modules/layout/layout.admin.controller.php +++ b/modules/layout/layout.admin.controller.php @@ -176,6 +176,12 @@ class layoutAdminController extends layout { $output = executeQuery('layout.updateModuleLayout', $update_args); } + + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $oCacheHandler->invalidateGroupKey('site_and_module'); + } } } } @@ -260,7 +266,8 @@ class layoutAdminController extends layout $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$args->layout_srl; + $object_key = 'layout:' . $args->layout_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); $oCacheHandler->delete($cache_key); } } @@ -333,7 +340,8 @@ class layoutAdminController extends layout $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$layout_srl; + $object_key = 'layout:'.$layout_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); $oCacheHandler->delete($cache_key); } if(!$output->toBool()) return $output; diff --git a/modules/layout/layout.class.php b/modules/layout/layout.class.php index 9a8d75c34..1c6b06d72 100644 --- a/modules/layout/layout.class.php +++ b/modules/layout/layout.class.php @@ -86,6 +86,8 @@ class layout extends ModuleObject $oDB->addColumn('layouts','layout_type','char',1,'P',true); } + $oCacheHandler = CacheHandler::getInstance('object', null, true); + $args->layout = '.'; $output = executeQueryArray('layout.getLayoutDotList', $args); if($output->data && count($output->data) > 0) @@ -99,6 +101,13 @@ class layout extends ModuleObject $args->layout = implode('|@|', $layout_path); $args->layout_srl = $layout->layout_srl; $output = executeQuery('layout.updateLayout', $args); + + if($oCacheHandler->isSupport()) + { + $object_key = 'layout:' . $args->layout_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $oCacheHandler->delete($cache_key); + } } } } diff --git a/modules/layout/layout.model.php b/modules/layout/layout.model.php index 97480e4b5..60547c6b1 100644 --- a/modules/layout/layout.model.php +++ b/modules/layout/layout.model.php @@ -262,9 +262,11 @@ class layoutModel extends layout $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$layout_srl; + $object_key = 'layout:' . $layout_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); $layout_info = $oCacheHandler->get($cache_key); } + if(!$layout_info) { // Get information from the DB @@ -272,18 +274,12 @@ class layoutModel extends layout $args->layout_srl = $layout_srl; $output = executeQuery('layout.getLayout', $args); if(!$output->data) return; + // Return xml file informaton after listing up the layout and extra_vars $layout_info = $this->getLayoutInfo($layout, $output->data, $output->data->layout_type); - // If deleted layout files, delete layout instance - // if (!$layout_info) { - // $oLayoutController = getAdminController('layout'); - // $oLayoutController->deleteLayout($layout_srl); - // return; - // } - //insert in cache - if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key,$layout_info); + if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key, $layout_info); } return $layout_info; } @@ -294,7 +290,9 @@ class layoutModel extends layout $args->layout_srl = $layout_srl; $output = executeQuery('layout.getLayout', $args, $columnList); if(!$output->toBool()) + { return; + } return $output->data; } diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index ddc28ca43..775b26b8a 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -1063,7 +1063,10 @@ class memberAdminController extends member $args->source_group_srl = $source_group_srl; $args->target_group_srl = $target_group_srl; - return executeQuery('member.changeGroup', $args); + $output = executeQuery('member.changeGroup', $args); + $this->_deleteMemberGroupCache($site_srl); + + return $output; } /** @@ -1075,7 +1078,7 @@ class memberAdminController extends member { if(!$args->site_srl) $args->site_srl = 0; // Check the value of is_default. - if($args->is_default!='Y') + if($args->is_default != 'Y') { $args->is_default = 'N'; } @@ -1088,6 +1091,7 @@ class memberAdminController extends member if(!$args->group_srl) $args->group_srl = getNextSequence(); $output = executeQuery('member.insertGroup', $args); $this->_deleteMemberGroupCache($args->site_srl); + return $output; } @@ -1126,20 +1130,22 @@ class memberAdminController extends member { // Create a member model object $oMemberModel = getModel('member'); + // Check the group_srl (If is_default == 'Y', it cannot be deleted) $columnList = array('group_srl', 'is_default'); $group_info = $oMemberModel->getGroup($group_srl, $columnList); if(!$group_info) return new Object(-1, 'lang->msg_not_founded'); if($group_info->is_default == 'Y') return new Object(-1, 'msg_not_delete_default'); + // Get groups where is_default == 'Y' $columnList = array('site_srl', 'group_srl'); $default_group = $oMemberModel->getDefaultGroup($site_srl, $columnList); $default_group_srl = $default_group->group_srl; + // Change to default_group_srl $this->changeGroup($group_srl, $default_group_srl); - $args = new stdClass; $args->group_srl = $group_srl; $output = executeQuery('member.deleteGroup', $args); @@ -1236,8 +1242,7 @@ class memberAdminController extends member $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object_groups:'.$site_srl; - $oCacheHandler->delete($cache_key); + $oCacheHandler->invalidateGroupKey('member'); } } diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index a1f0aeb7f..bed1dafed 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -1446,7 +1446,6 @@ class memberController extends member $args->member_srl = $member_srl; $args->group_srl = $group_srl; if($site_srl) $args->site_srl = $site_srl; - $oModel =& getModel('member'); $groups = $oModel->getMemberGroups($member_srl, $site_srl, true); if($groups[$group_srl]) return new Object(); @@ -1458,7 +1457,12 @@ class memberController extends member $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object_member_groups:'.$member_srl.'_'.$site_srl; + $object_key = 'member_groups:' . getNumberingPath($args->member_srl) . $args->member_srl . '_'.$args->site_srl; + $cache_key = $oCacheHandler->getGroupKey('member', $object_key); + $oCacheHandler->delete($cache_key); + + $object_key = 'member_info:' . getNumberingPath($args->member_srl) . $args->member_srl; + $cache_key = $oCacheHandler->getGroupKey('member', $object_key); $oCacheHandler->delete($cache_key); } @@ -1499,14 +1503,20 @@ class memberController extends member $obj->regdate = $date[$obj->member_srl]; $output = executeQuery('member.addMemberToGroup', $obj); if(!$output->toBool()) return $output; + + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $object_key = 'member_groups:' . getNumberingPath($args->member_srl) . $args->member_srl . '_' . $args->site_srl; + $cache_key = $oCacheHandler->getGroupKey('member', $object_key); + $oCacheHandler->delete($cache_key); + + $object_key = 'member_info:' . getNumberingPath($args->member_srl) . $args->member_srl; + $cache_key = $oCacheHandler->getGroupKey('member', $object_key); + $oCacheHandler->delete($cache_key); + } } - $oCacheHandler = CacheHandler::getInstance('object', null, true); - if($oCacheHandler->isSupport()) - { - $cache_key = 'object_member_groups:'.$member_srl.'_'.$site_srl; - $oCacheHandler->delete($cache_key); - } return new Object(); } @@ -2122,7 +2132,7 @@ class memberController extends member $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object:member_info:'.$args->member_srl; + $cache_key = 'member:info:'.$args->member_srl; $oCacheHandler->delete($cache_key); } @@ -2144,7 +2154,7 @@ class memberController extends member $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$args->member_srl; + $cache_key = 'member:info:'.$args->member_srl; $oCacheHandler->delete($cache_key); } diff --git a/modules/member/member.model.php b/modules/member/member.model.php index b87c3a99f..17fc76fa5 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -221,7 +221,7 @@ class memberModel extends member else { // Register a default group if the site doesn't have a member group - if(!count($logged_info->group_list)) + if(count($logged_info->group_list) === 0) { $default_group = $this->getDefaultGroup(0); $oMemberController = getController('member'); @@ -287,7 +287,8 @@ class memberModel extends member $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object:member_info:'.$member_srl; + $object_key = 'member_info:' . getNumberingPath($member_srl) . $member_srl; + $cache_key = $oCacheHandler->getGroupKey('member', $object_key); $GLOBALS['__member_info__'][$member_srl] = $oCacheHandler->get($cache_key); } @@ -296,7 +297,11 @@ class memberModel extends member $args = new stdClass(); $args->member_srl = $member_srl; $output = executeQuery('member.getMemberInfoByMemberSrl', $args, $columnList); - if(!$output->data) return; + if(!$output->data) + { + if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key, new stdClass); + return; + } $this->arrangeMemberInfo($output->data, $site_srl); //insert in cache @@ -445,25 +450,26 @@ class memberModel extends member $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object_member_groups:'.$member_srl.'_'.$site_srl; - $output = $oCacheHandler->get($cache_key); + $object_key = 'member_groups:' . getNumberingPath($member_srl) . $member_srl . '_'.$site_srl; + $cache_key = $oCacheHandler->getGroupKey('member', $object_key); + $group_list = $oCacheHandler->get($cache_key); } + static $member_groups = array(); + if(!$member_groups[$member_srl][$site_srl] || $force_reload) { - if(!$output) + if(!$group_list && !is_array($group_list)) { $args = new stdClass(); $args->member_srl = $member_srl; $args->site_srl = $site_srl; - $output = executeQuery('member.getMemberGroups', $args); + $output = executeQueryArray('member.getMemberGroups', $args); + $group_list = $output->data; //insert in cache - if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key,$output); + if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key, $group_list); } - if(!$output->data) return array(); - - $group_list = $output->data; - if(!is_array($group_list)) $group_list = array($group_list); + if(!$group_list) return array(); foreach($group_list as $group) { @@ -498,10 +504,27 @@ class memberModel extends member */ function getDefaultGroup($site_srl = 0, $columnList = array()) { - $args = new stdClass(); - $args->site_srl = $site_srl; - $output = executeQuery('member.getDefaultGroup', $args, $columnList); - return $output->data; + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $object_key = 'default_group_' . $site_srl; + $cache_key = $oCacheHandler->getGroupKey('member', $object_key); + $default_group = $oCacheHandler->get($cache_key); + } + + if(!$default_group) + { + $args = new stdClass(); + $args->site_srl = $site_srl; + $output = executeQuery('member.getDefaultGroup', $args, $columnList); + $default_group = $output->data; + if($oCacheHandler->isSupport()) + { + $oCacheHandler->put($cache_key, $default_group); + } + } + + return $default_group; } /** @@ -541,10 +564,11 @@ class memberModel extends member $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object_groups:'.$site_srl; - $output = $oCacheHandler->get($cache_key); + $object_key = 'member_groups:site_'.$site_srl; + $cache_key = $oCacheHandler->getGroupKey('member', $object_key); + $group_list = $oCacheHandler->get($cache_key); } - if(!$output) + if(!$group_list) { $args = new stdClass(); @@ -552,16 +576,16 @@ class memberModel extends member $args->sort_index = 'list_order'; $args->order_type = 'asc'; $output = executeQueryArray('member.getGroups', $args); + $group_list = $output->data; //insert in cache - if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key,$output); + if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key, $group_list); } - if(!$output->toBool() || !$output->data) + if(!$group_list) { return array(); } - $group_list = $output->data; foreach($group_list as $val) { diff --git a/modules/module/module.class.php b/modules/module/module.class.php index 5dae01156..ec557d994 100644 --- a/modules/module/module.class.php +++ b/modules/module/module.class.php @@ -305,6 +305,12 @@ class module extends ModuleObject $module_info->skin_vars = null; $module_info->admin_id = null; executeQuery('module.updateModule', $module_info); + + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $oCacheHandler->invalidateGroupKey('site_and_module'); + } } } // Various column drop @@ -554,6 +560,11 @@ class module extends ModuleObject $output = executeQuery('module.updateModule', $moduleInfo); if(!$output->toBool()) { + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $oCacheHandler->invalidateGroupKey('site_and_module'); + } return $output; } } diff --git a/modules/module/module.controller.php b/modules/module/module.controller.php index d6468b79e..3f224870c 100644 --- a/modules/module/module.controller.php +++ b/modules/module/module.controller.php @@ -27,6 +27,14 @@ class moduleController extends module $args->act = $act; $output = executeQuery('module.insertActionForward', $args); + + $oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE); + if($oCacheHandler->isSupport()) + { + $cache_key = 'action_forward'; + $oCacheHandler->delete($cache_key); + } + return $output; } @@ -41,6 +49,14 @@ class moduleController extends module $args->act = $act; $output = executeQuery('module.deleteActionForward', $args); + + $oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE); + if($oCacheHandler->isSupport()) + { + $cache_key = 'action_forward'; + $oCacheHandler->delete($cache_key); + } + return $output; } @@ -65,8 +81,6 @@ class moduleController extends module if($oCacheHandler->isSupport()) { $oCacheHandler->invalidateGroupKey('triggers'); - $cache_key = 'object:'.$trigger_name.'_'.$called_position; - $oCacheHandler->delete($cache_key); } // Delete all the files which contain trigger information @@ -95,8 +109,6 @@ class moduleController extends module if($oCacheHandler->isSupport()) { $oCacheHandler->invalidateGroupKey('triggers'); - $cache_key = 'object:'.$trigger_name.'_'.$called_position; - $oCacheHandler->delete($cache_key); } // Remove the trigger cache @@ -190,8 +202,7 @@ class moduleController extends module $oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE); if($oCacheHandler->isSupport()) { - $cache_key = 'object:module_config:module_'.$module.'_site_srl_'.$site_srl; - $oCacheHandler->delete($cache_key); + $oCacheHandler->invalidateGroupKey('site_and_module'); } return $output; } @@ -210,15 +221,15 @@ class moduleController extends module $output = executeQuery('module.deleteModulePartConfig', $args); if(!$output->toBool()) return $output; + $output = executeQuery('module.insertModulePartConfig', $args); + //remove from cache $oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE); if($oCacheHandler->isSupport()) { - $cache_key = 'object_module_part_config:'.$module.'_'.$module_srl; - $oCacheHandler->delete($cache_key); + $oCacheHandler->invalidateGroupKey('site_and_module'); } - $output = executeQuery('module.insertModulePartConfig', $args); return $output; } @@ -291,14 +302,9 @@ class moduleController extends module $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - if($args->site_srl == 0) - { - $cache_key = 'object_default_mid:_'; - $oCacheHandler->delete($cache_key); - } - $cache_key = 'object_default_mid:'.$vid.'_'.$mid; - $oCacheHandler->delete($cache_key); + $oCacheHandler->invalidateGroupKey('site_and_module'); } + return $output; } @@ -473,6 +479,12 @@ class moduleController extends module // commit $oDB->commit(); + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $oCacheHandler->invalidateGroupKey('site_and_module'); + } + $output->add('module_srl',$args->module_srl); return $output; } @@ -581,13 +593,9 @@ class moduleController extends module $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object_module_info:'.$args->module_srl; - $oCacheHandler->delete($cache_key); - $cache_key = 'object:'.$args->mid.'_'.$args->site_srl; - $oCacheHandler->delete($cache_key); - $cache_key = 'object:module_extra_vars_'.$args->module_srl; - $oCacheHandler->delete($cache_key); + $oCacheHandler->invalidateGroupKey('site_and_module'); } + return $output; } @@ -600,7 +608,17 @@ class moduleController extends module $args->module_srl = $module_srl; $args->site_srl = $site_srl; $args->layout_srl = $layout_srl; - return executeQuery('module.updateModuleSite', $args); + $output = executeQuery('module.updateModuleSite', $args); + if(!$output->toBool()) return $output; + + //remove from cache + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $oCacheHandler->invalidateGroupKey('site_and_module'); + } + + return $output; } /** @@ -721,14 +739,12 @@ class moduleController extends module // commit $oDB->commit(); + //remove from cache $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object_module_info:'.$args->module_srl; - $oCacheHandler->delete($cache_key); - $cache_key = 'object:module_extra_vars_'.$args->module_srl; - $oCacheHandler->delete($cache_key); + $oCacheHandler->invalidateGroupKey('site_and_module'); } return $output; } @@ -750,6 +766,12 @@ class moduleController extends module $output = executeQuery('module.clearDefaultModule'); if(!$output->toBool()) return $output; + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $oCacheHandler->invalidateGroupKey('site_and_module'); + } + return $output; } @@ -758,7 +780,15 @@ class moduleController extends module */ function updateModuleMenu($args) { - return executeQuery('module.updateModuleMenu', $args); + $output = executeQuery('module.updateModuleMenu', $args); + + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $oCacheHandler->invalidateGroupKey('site_and_module'); + } + + return $output; } /** @@ -772,6 +802,13 @@ class moduleController extends module $args->layout_srl = $layout_srl; $args->menu_srls = implode(',',$menu_srl_list); $output = executeQuery('module.updateModuleLayout', $args); + + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $oCacheHandler->invalidateGroupKey('site_and_module'); + } + return $output; } @@ -896,6 +933,7 @@ class moduleController extends module return $output; } + getDestroyXeVars($obj); if(!$obj || !count($obj)) return new Object(); $args = new stdClass; @@ -929,6 +967,7 @@ class moduleController extends module } $oDB->commit; + return new Object(); } @@ -961,17 +1000,18 @@ class moduleController extends module if($mode === 'P') { - $cache_key = 'object_module_skin_vars:'.$module_srl; + $object_key = 'module_skin_vars:'.$module_srl; $query = 'module.deleteModuleSkinVars'; } else { - $cache_key = 'object_module_mobile_skin_vars:'.$module_srl; + $object_key = 'module_mobile_skin_vars:'.$module_srl; $query = 'module.deleteModuleMobileSkinVars'; } //remove from cache $oCacheHandler = CacheHandler::getInstance('object', null, true); + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); if($oCacheHandler->isSupport()) { $oCacheHandler->delete($cache_key); @@ -986,6 +1026,7 @@ class moduleController extends module function insertModuleExtraVars($module_srl, $obj) { $this->deleteModuleExtraVars($module_srl); + getDestroyXeVars($obj); if(!$obj || !count($obj)) return; foreach($obj as $key => $val) @@ -997,6 +1038,14 @@ class moduleController extends module if(!$args->name || !$args->value) continue; $output = executeQuery('module.insertModuleExtraVars', $args); } + + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $object_key = 'module_extra_vars:'.$module_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $oCacheHandler->delete($cache_key); + } } /** @@ -1006,14 +1055,18 @@ class moduleController extends module { $args = new stdClass(); $args->module_srl = $module_srl; - return executeQuery('module.deleteModuleExtraVars', $args); + $output = executeQuery('module.deleteModuleExtraVars', $args); + //remove from cache - $oCacheHandler = CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object:module_extra_vars_'.$module_srl; + $object_key = 'module_extra_vars:'.$module_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); $oCacheHandler->delete($cache_key); } + + return $output; } /** @@ -1317,6 +1370,13 @@ class moduleController extends module $args = new stdClass; $args->site_srls = $site_srls; $output = executeQuery('module.updateModuleInSites', $args); + + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $oCacheHandler->invalidateGroupKey('site_and_module'); + } + return $output; } } diff --git a/modules/module/module.model.php b/modules/module/module.model.php index c4ad7b9f1..700126a72 100644 --- a/modules/module/module.model.php +++ b/modules/module/module.model.php @@ -117,26 +117,40 @@ class moduleModel extends module // If domain is set, look for subsite if($domain !== '') { - if($oCacheHandler->isSupport()) $output = $oCacheHandler->get('domain_' . $domain); - if(!$output) + if($oCacheHandler->isSupport()) + { + $object_key = 'site_info:' . $domain; + $domain_cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $site_info = $oCacheHandler->get($domain_cache_key); + } + + if(!isset($site_info)) { $args = new stdClass(); $args->domain = $domain; $output = executeQuery('module.getSiteInfoByDomain', $args); - if($oCacheHandler->isSupport()) $oCacheHandler->put('domain_' . $domain, $output); + $site_info = $output->data; + if($oCacheHandler->isSupport()) $oCacheHandler->put($domain_cache_key, $site_info); } - if($output->toBool() && $output->data && $vid) + if($site_info && $vid) { - Context::set('vid', $output->data->domain, true); - if(strtolower($mid)==strtolower($output->data->domain)) Context::set('mid',$output->data->mid,true); + Context::set('vid', $site_info->domain, true); + if(strtolower($mid)==strtolower($site_info->domain)) Context::set('mid', $site_info->mid,true); } - if(!$output || !$output->data) { $domain = ''; unset($output); } + if(!$site_info || !$site_info->domain) { $domain = ''; unset($site_info); } } + // If no virtual website was found, get default website if($domain === '') { - if($oCacheHandler->isSupport()) $output = $oCacheHandler->get('default_site'); - if(!$output) + if($oCacheHandler->isSupport()) + { + $object_key = 'default_site'; + $default_site_cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $module_info = $oCacheHandler->get($default_site_cache_key); + } + + if(!$module_info) { $args = new stdClass(); $args->site_srl = 0; @@ -148,6 +162,7 @@ class moduleModel extends module $oDB = &DB::getInstance(); if(!$oDB->isTableExists('sites')) $oDB->createTableByXmlFile(_XE_PATH_.'modules/module/schemas/sites.xml'); if(!$oDB->isTableExists('sites')) return; + // Get mid, language $mid_output = $oDB->executeQuery('module.getDefaultMidInfo', $args); $db_info = Context::getDBInfo(); @@ -172,10 +187,11 @@ class moduleModel extends module } $output = executeQuery('module.getSiteInfo', $args); } - if($oCacheHandler->isSupport()) $oCacheHandler->put('default_site',$output); + $module_info = $output->data; + if($oCacheHandler->isSupport()) $oCacheHandler->put($default_site_cache_key, $module_info); } } - $module_info = $output->data; + if(!$module_info->module_srl) return $module_info; if(is_array($module_info) && $module_info->data[0]) $module_info = $module_info[0]; return $this->addModuleExtraVars($module_info); @@ -197,27 +213,31 @@ class moduleModel extends module $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$mid.'_'.$site_srl; - $module_srl = $oCacheHandler->get($cache_key); + $object_key = 'module_srl:'.$mid.'_'.$site_srl; + $module_srl_cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $module_srl = $oCacheHandler->get($module_srl_cache_key); if($module_srl) { - $cache_key = 'object_module_info:'.$module_srl; - $output = $oCacheHandler->get($cache_key); - } - } - if(!$output) - { - $output = executeQuery('module.getMidInfo', $args); - if($oCacheHandler->isSupport()) - { - $cache_key = 'object:'.$mid.'_'.$site_srl; - $oCacheHandler->put($cache_key,$output->data->module_srl); - $cache_key = 'object_module_info:'.$output->data->module_srl; - $oCacheHandler->put($cache_key,$output); + $object_key = 'module_info:' . $module_srl; + $module_info_cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $module_info = $oCacheHandler->get($module_info_cache_key); + } + } + + if(!$module_info && !is_array($module_info)) + { + $output = executeQuery('module.getMidInfo', $args); + $module_info = $output->data; + if($oCacheHandler->isSupport()) + { + $oCacheHandler->put($module_srl_cache_key, $module_info->module_srl); + + $object_key = 'module_info:' . $module_info->module_srl; + $module_info_cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $oCacheHandler->put($module_info_cache_key, $module_info); } } - $module_info = $output->data; $this->applyDefaultSkin($module_info); if(!$module_info->module_srl && $module_info->data[0]) $module_info = $module_info->data[0]; return $this->addModuleExtraVars($module_info); @@ -291,20 +311,23 @@ class moduleModel extends module $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$mid.'_'.$site_srl; - $module_srl = $oCacheHandler->get($cache_key); + $object_key = 'module_srl:'.$mid.'_'.$site_srl; + $module_srl_cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $module_srl = $oCacheHandler->get($module_srl_cache_key); if($module_srl) { - $cache_key = 'object_module_info:'.$module_srl; - $coutput = $oCacheHandler->get($cache_key); + $object_key = 'module_info:' . $module_srl; + $module_info_cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $coutput = $oCacheHandler->get($module_info_cache_key); } if(!$coutput) { - $cache_key = 'object:'.$mid.'_'.$site_srl; - $oCacheHandler->put($cache_key, $output->data->module_srl); - $cache_key = 'object_module_info:'.$output->data->module_srl; - $oCacheHandler->put($cache_key, $moduleInfo); + $oCacheHandler->put($module_srl_cache_key, $output->data->module_srl); + + $object_key = 'module_info:' . $output->data->module_srl; + $module_info_cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $oCacheHandler->put($module_info_cache_key, $moduleInfo); } else { @@ -336,20 +359,25 @@ class moduleModel extends module $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object_module_info:'.$module_srl; - $output = $oCacheHandler->get($cache_key); + $object_key = 'module_info:' . $module_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $mid_info = $oCacheHandler->get($cache_key); } - if(!$output) + + if(!$mid_info && !is_array($mid_info)) { - $output = executeQuery('module.getMidInfo', $args ); - if(!$output->data) return; - $this->applyDefaultSkin($output->data); - if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key,$output); + $output = executeQuery('module.getMidInfo', $args); + if(!$output->toBool()) return; + + $mid_info = $output->data; + $this->applyDefaultSkin($mid_info); + if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key, $mid_info); } - if(count($columnList)) + + if($mid_info && count($columnList)) { $module_info = new stdClass(); - foreach($output->data as $key => $item) + foreach($mid_info as $key => $item) { if(in_array($key, $columnList)) { @@ -357,7 +385,8 @@ class moduleModel extends module } } } - else $module_info = $output->data; + else $module_info = $mid_info; + return $this->addModuleExtraVars($module_info); } @@ -450,10 +479,33 @@ class moduleModel extends module */ function getMidList($args = null, $columnList = array()) { - $output = executeQuery('module.getMidList', $args, $columnList); - if(!$output->toBool()) return $output; + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + if(count($args) === 1 && isset($args->site_srl)) + { + $object_key = 'module:mid_list_' . $args->site_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $list = $oCacheHandler->get($cache_key); + } + } - $list = $output->data; + if(!$list) + { + if($oCacheHandler->isSupport() && count($args) === 1 && isset($args->site_srl)) + { + $columnList = array(); + } + + $output = executeQuery('module.getMidList', $args, $columnList); + if(!$output->toBool()) return $output; + $list = $output->data; + + if($oCacheHandler->isSupport() && count($args) === 1 && isset($args->site_srl)) + { + $oCacheHandler->put($cache_key, $list); + } + } if(!$list) return; if(!is_array($list)) $list = array($list); @@ -510,14 +562,38 @@ class moduleModel extends module /** * @brief Get forward value by the value of act */ - function getActionForward($act, $module = "") + function getActionForward($act, $module = '') { - $args = new stdClass(); - $args->act = $act; - $args->module = ($module)?$module:null; - if(strlen ($args->module) > 0) $output = executeQuery ('module.getActionForwardWithModule', $args); - else $output = executeQuery('module.getActionForward',$args); - return $output->data; + // cache controll + $oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE); + if($oCacheHandler->isSupport()) + { + $cache_key = 'action_forward'; + $action_forward = $oCacheHandler->get($cache_key); + } + + if(!$action_forward) + { + $args = new stdClass(); + $args->act = $act; + $args->module = ($module) ? $module : null; + if(strlen($args->module) > 0) + { + $output = executeQuery('module.getActionForwardWithModule', $args); + } + else + { + $output = executeQuery('module.getActionForward',$args); + } + $action_forward = $output->data; + debugPrint($action_forward); + if($oCacheHandler->isSupport()) + { + $oCacheHandler->put($cache_key, $action_forward); + } + } + + return $action_forward; } /** @@ -529,25 +605,26 @@ class moduleModel extends module $oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE); if($oCacheHandler->isSupport()) { - $object_key = 'object:'.$trigger_name.'_'.$called_position; + $object_key = $trigger_name.'_'.$called_position; $cache_key = $oCacheHandler->getGroupKey('triggers', $object_key); - - $output = $oCacheHandler->get($cache_key); + $triggers = $oCacheHandler->get($cache_key); } - if(!$output) + if(!isset($triggers)) { $args = new stdClass(); $args->trigger_name = $trigger_name; $args->called_position = $called_position; $output = executeQueryArray('module.getTriggers',$args); + $triggers = $output->data; - if($output->toBool() && $oCacheHandler->isSupport()) { - $oCacheHandler->put($cache_key, $output); + if($output->toBool() && $oCacheHandler->isSupport()) + { + $oCacheHandler->put($cache_key, $triggers); } } - return $output->data; + return $triggers; } /** @@ -641,7 +718,7 @@ class moduleModel extends module $xml_obj = $tmp_xml_obj->module; if(!$xml_obj) return; - + // Module Information $module_info = new stdClass(); $author_obj = new stdClass(); @@ -1250,7 +1327,8 @@ class moduleModel extends module $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object:module_config:module_'.$module.'_site_srl_'.$site_srl; + $object_key = 'module_config:' . $module . '_' . $site_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); $config = $oCacheHandler->get($cache_key); } if(!$config) @@ -1266,7 +1344,7 @@ class moduleModel extends module //insert in cache if($oCacheHandler->isSupport()) { - $oCacheHandler->put($cache_key,$config); + $oCacheHandler->put($cache_key, $config); } $GLOBALS['__ModuleConfig__'][$site_srl][$module] = $config; } @@ -1286,7 +1364,8 @@ class moduleModel extends module $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object_module_part_config:'.$module.'_'.$module_srl; + $object_key = 'module_part_config:'.$module.'_'.$module_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); $config = $oCacheHandler->get($cache_key); } if(!$config) @@ -1592,43 +1671,63 @@ class moduleModel extends module * @brief Get extra vars of the module * Extra information, not in the modules table */ - function getModuleExtraVars($module_srl) + function getModuleExtraVars($list_module_srl) { - if(is_array($module_srl)) $module_srl = implode(',',$module_srl); + $extra_vars = array(); + $get_module_srls = array(); + if(!is_array($list_module_srl)) $list_module_srl = array($list_module_srl); + // cache controll $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object:module_extra_vars_'.$module_srl; - $vars = $oCacheHandler->get($cache_key); + foreach($list_module_srl as $module_srl) + { + $object_key = 'module_extra_vars:'.$module_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $vars = $oCacheHandler->get($cache_key); + + if($vars) + { + $extra_vars[$module_srl] = $vars; + } + else + { + $get_module_srls[] = $module_srl; + } + } } - if(!$vars) + + if(count($get_module_srls)) { $args = new stdClass(); - $args->module_srl = $module_srl; - $output = executeQueryArray('module.getModuleExtraVars',$args); - if(!$output->toBool() || !$output->data) + $args->module_srl = implode(',', $get_module_srls); + $output = executeQueryArray('module.getModuleExtraVars', $args); + if(!$output->toBool()) { - if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key,'empty_extra_vars'); return; } - $vars = array(); + foreach($output->data as $key => $val) { if(in_array($val->name, array('mid','module')) || $val->value == 'Array') continue; - if(!isset($vars[$val->module_srl])) + + if(!isset($extra_vars[$val->module_srl])) { - $vars[$val->module_srl] = new stdClass(); + $extra_vars[$val->module_srl] = new stdClass(); + } + $extra_vars[$val->module_srl]->{$val->name} = $val->value; + + if($oCacheHandler->isSupport()) + { + $object_key = 'module_extra_vars:'.$val->module_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $oCacheHandler->put($cache_key, $extra_vars[$val->module_srl]); } - $vars[$val->module_srl]->{$val->name} = $val->value; } - if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key,$vars); } - else if($vars == 'empty_extra_vars') - { - return; - } - return $vars; + + return $extra_vars; } /** @@ -1636,13 +1735,30 @@ class moduleModel extends module */ function getModuleSkinVars($module_srl) { - $args = new stdClass(); - $args->module_srl = $module_srl; - $output = executeQueryArray('module.getModuleSkinVars',$args); - if(!$output->toBool() || !$output->data) return; + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $object_key = 'module_skin_vars:'.$module_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $skin_vars = $oCacheHandler->get($cache_key); + } + + if(!$skin_vars) + { + $args = new stdClass(); + $args->module_srl = $module_srl; + $output = executeQueryArray('module.getModuleSkinVars',$args); + if(!$output->toBool()) return; + + $skin_vars = array(); + foreach($output->data as $vars) + { + $skin_vars[$vars->name] = $vars; + } + + if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key, $skin_vars); + } - $skin_vars = array(); - foreach($output->data as $val) $skin_vars[$val->name] = $val; return $skin_vars; } @@ -1707,37 +1823,22 @@ class moduleModel extends module { if(!$module_info->module_srl) return; + $oCacheHandler = CacheHandler::getInstance('object', null, true); if(Mobile::isFromMobilePhone()) { - $cache_key = 'object_module_mobile_skin_vars:' . $module_info->module_srl; - $query = 'module.getModuleMobileSkinVars'; + $skin_vars = $this->getModuleMobileSkinVars($module_info->module_srl); } else { - $cache_key = 'object_module_skin_vars:' . $module_info->module_srl; - $query = 'module.getModuleSkinVars'; + $skin_vars = $this->getModuleSkinVars($module_info->module_srl); } - // cache controll - $oCacheHandler = CacheHandler::getInstance('object', null, true); - if($oCacheHandler->isSupport()) - { - $output = $oCacheHandler->get($cache_key); - } - if(!$output) - { - $args = new stdClass(); - $args->module_srl = $module_info->module_srl; - $output = executeQueryArray($query,$args); - //insert in cache - if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key,$output); - } - if(!$output->toBool() || !$output->data) return; + if(!$skin_vars) return; - foreach($output->data as $val) + foreach($skin_vars as $name => $val) { - if(isset($module_info->{$val->name})) continue; - $module_info->{$val->name} = $val->value; + if(isset($module_info->{$name})) continue; + $module_info->{$name} = $val->value; } } @@ -1748,13 +1849,30 @@ class moduleModel extends module */ function getModuleMobileSkinVars($module_srl) { - $args = new stdClass(); - $args->module_srl = $module_srl; - $output = executeQueryArray('module.getModuleMobileSkinVars',$args); - if(!$output->toBool() || !$output->data) return; + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $object_key = 'module_mobile_skin_vars:'.$module_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $skin_vars = $oCacheHandler->get($cache_key); + } + + if(!$skin_vars) + { + $args = new stdClass(); + $args->module_srl = $module_srl; + $output = executeQueryArray('module.getModuleMobileSkinVars',$args); + if(!$output->toBool() || !$output->data) return; + + $skin_vars = array(); + foreach($output->data as $vars) + { + $skin_vars[$vars->name] = $vars; + } + + if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key, $skin_vars); + } - $skin_vars = array(); - foreach($output->data as $val) $skin_vars[$val->name] = $val; return $skin_vars; } @@ -1766,21 +1884,25 @@ class moduleModel extends module { if(!$module_info->module_srl) return; // cache controll - $oCacheHandler = CacheHandler::getInstance('object'); + $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object_module_mobile_skin_vars:'.$module_info->module_srl; - $output = $oCacheHandler->get($cache_key); + $object_key = 'module_mobile_skin_vars:'.$module_info->module_srl; + $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); + $skin_vars = $oCacheHandler->get($cache_key); } - if(!$output) + if(!$skin_vars) { $args = new stdClass; $args->module_srl = $module_info->module_srl; $output = executeQueryArray('module.getModuleMobileSkinVars',$args); + if(!$output->toBool()) return; + $skin_vars = $output->data; + //insert in cache - if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key,$output); + if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key, $skin_vars); } - if(!$output->toBool() || !$output->data) return; + if(!$skin_vars) return; foreach($output->data as $val) { diff --git a/modules/point/point.admin.controller.php b/modules/point/point.admin.controller.php index 240dc378c..7391c9b3f 100644 --- a/modules/point/point.admin.controller.php +++ b/modules/point/point.admin.controller.php @@ -361,6 +361,12 @@ class pointAdminController extends point executeQuery('module.deleteModulePartConfig', $args); } + $oCacheHandler = CacheHandler::getInstance('object', null, true); + if($oCacheHandler->isSupport()) + { + $oCacheHandler->invalidateGroupKey('site_and_module'); + } + $this->setMessage('success_updated'); } diff --git a/modules/point/point.controller.php b/modules/point/point.controller.php index e97a9490b..c23e9ae09 100644 --- a/modules/point/point.controller.php +++ b/modules/point/point.controller.php @@ -644,12 +644,13 @@ class pointController extends point $oCacheHandler = CacheHandler::getInstance('object', null, true); if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$member_srl; - $GLOBALS['__member_info__'][$member_srl] = null; + $object_key = 'member_groups:' . getNumberingPath($member_srl) . $member_srl . '_0'; + $cache_key = $oCacheHandler->getGroupKey('member', $object_key); $oCacheHandler->delete($cache_key); - $gcache_key = 'object_member_groups:'.$member_srl.'_0'; - $oCacheHandler->delete($gcache_key); + $object_key = 'member_info:' . getNumberingPath($member_srl) . $member_srl; + $cache_key = $oCacheHandler->getGroupKey('member', $object_key); + $oCacheHandler->delete($cache_key); } return $output; diff --git a/modules/session/session.controller.php b/modules/session/session.controller.php index e6118020d..1a5bd6e14 100644 --- a/modules/session/session.controller.php +++ b/modules/session/session.controller.php @@ -30,7 +30,7 @@ class sessionController extends session $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$session_key; + $cache_key = 'session:'.$session_key; $cache_vars = $oCacheHandler->get($cache_key); } @@ -80,7 +80,7 @@ class sessionController extends session //put session into cache if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$session_key; + $cache_key = 'session:'.$session_key; $oCacheHandler->put($cache_key,$args,$this->lifetime); } //put session into db @@ -91,7 +91,7 @@ class sessionController extends session //put session into cache if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$session_key; + $cache_key = 'session:'.$session_key; $oCacheHandler->put($cache_key,$args,$this->lifetime); } } @@ -101,7 +101,7 @@ class sessionController extends session //put session into cache if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$session_key; + $cache_key = 'session:'.$session_key; $oCacheHandler->put($cache_key,$args,$this->lifetime); } //put session into db @@ -119,7 +119,7 @@ class sessionController extends session $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$session_key; + $cache_key = 'session:'.$session_key; $oCacheHandler->delete($cache_key); } //remove session from db diff --git a/modules/session/session.model.php b/modules/session/session.model.php index e4d33e761..ee5a2936a 100644 --- a/modules/session/session.model.php +++ b/modules/session/session.model.php @@ -28,7 +28,7 @@ class sessionModel extends session $oCacheHandler = CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) { - $cache_key = 'object:'.$session_key; + $cache_key = 'session:'.$session_key; $output->data = $oCacheHandler->get($cache_key); }