diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index 4d154679d..414def49c 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -1775,6 +1775,7 @@ class DocumentController extends Document $output = executeQuery('document.updateDocumentExtraVar', $obj); } + unset($GLOBALS['XE_EXTRA_KEYS'][$module_srl]); Rhymix\Framework\Cache::delete("site_and_module:module_document_extra_keys:$module_srl"); return $output; } @@ -1831,6 +1832,7 @@ class DocumentController extends Document $oDB->commit(); + unset($GLOBALS['XE_EXTRA_KEYS'][$module_srl]); Rhymix\Framework\Cache::delete("site_and_module:module_document_extra_keys:$module_srl"); return new BaseObject(); } @@ -3708,6 +3710,7 @@ Content; if ($type === 'all' || $type === 'extra_vars') { unset($GLOBALS['XE_EXTRA_VARS'][$document_srl]); + unset($GLOBALS['XE_EXTRA_CHK'][$document_srl]); unset($GLOBALS['RX_DOCUMENT_LANG'][$document_srl]); } } diff --git a/modules/document/document.model.php b/modules/document/document.model.php index ea6cd90c3..9b15bcd97 100644 --- a/modules/document/document.model.php +++ b/modules/document/document.model.php @@ -55,19 +55,16 @@ class DocumentModel extends Document return; } - static $checked = array(); - static $module_extra_keys = array(); - // check documents $document_srls = array(); foreach($_document_list as $document_srl => $oDocument) { - if(isset($checked[$document_srl]) || !($oDocument instanceof documentItem) || !$oDocument->isExists()) + if(isset($GLOBALS['XE_EXTRA_CHK'][$document_srl]) || !($oDocument instanceof documentItem) || !$oDocument->isExists()) { continue; } - $checked[$document_srl] = true; + $GLOBALS['XE_EXTRA_CHK'][$document_srl] = true; $document_srls[] = $document_srl; } @@ -102,16 +99,16 @@ class DocumentModel extends Document if(!isset($GLOBALS['XE_EXTRA_VARS'][$document_srl])) { // get extra keys of the module - if(!isset($module_extra_keys[$module_srl])) + if(!isset($GLOBALS['XE_EXTRA_KEYS'][$module_srl])) { - $module_extra_keys[$module_srl] = self::getExtraKeys($module_srl); + $GLOBALS['XE_EXTRA_KEYS'][$module_srl] = self::getExtraKeys($module_srl); } // set extra variables of the document - if($module_extra_keys[$module_srl]) + if(!empty($GLOBALS['XE_EXTRA_KEYS'][$module_srl])) { $document_extra_vars = array(); - foreach($module_extra_keys[$module_srl] as $idx => $key) + foreach($GLOBALS['XE_EXTRA_KEYS'][$module_srl] as $idx => $key) { $document_extra_vars[$idx] = clone($key);