From c52ed374b079a8a817022d816c9e0c4bfee874e6 Mon Sep 17 00:00:00 2001 From: zero Date: Wed, 20 May 2009 01:49:34 +0000 Subject: [PATCH] =?UTF-8?q?php4=EC=97=90=EC=84=9C=20=EB=AC=B8=EC=84=9C?= =?UTF-8?q?=EB=AA=A8=EB=93=88=EC=9D=98=20=EB=8B=A4=EA=B5=AD=EC=96=B4=20?= =?UTF-8?q?=EC=A7=80=EC=9B=90=20=EB=B6=80=EB=B6=84=20=EC=98=A4=EB=A5=98=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://xe-core.googlecode.com/svn/sandbox@6341 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/document/document.item.php | 3 +- modules/document/document.model.php | 61 ++++++++++++++--------------- 2 files changed, 31 insertions(+), 33 deletions(-) diff --git a/modules/document/document.item.php b/modules/document/document.item.php index 701fbc828..959f6b331 100644 --- a/modules/document/document.item.php +++ b/modules/document/document.item.php @@ -50,8 +50,9 @@ } $oDocumentModel = &getModel('document'); - $GLOBALS['XE_DOCUMENT_LIST'][$this->document_srl] = &$this; + $GLOBALS['XE_DOCUMENT_LIST'][$this->document_srl] = $this; if($load_extra_vars) $oDocumentModel->setToAllDocumentExtraVars(); + $this = $GLOBALS['XE_DOCUMENT_LIST'][$this->document_srl]; } function isExists() { diff --git a/modules/document/document.model.php b/modules/document/document.model.php index ad5f43392..375597434 100644 --- a/modules/document/document.model.php +++ b/modules/document/document.model.php @@ -51,45 +51,42 @@ } } + $user_lang_code = Context::getLangType(); for($i=0,$c=count($document_srls);$i<$c;$i++) { $document_srl = $document_srls[$i]; - $oDocument = $GLOBALS['XE_DOCUMENT_LIST'][$document_srl]; - $this->_setExtraVars($oDocument, $extra_vars[$document_srl]); - } - } + unset($vars); - function _setExtraVars($oDocument, $vars) { - if(!$oDocument || !is_object($oDocument) || !$oDocument->isExists()) return; - $module_srl = $oDocument->get('module_srl'); - $extra_keys = $this->getExtraKeys($module_srl); - $document_srl = $oDocument->document_srl; + if(!$GLOBALS['XE_DOCUMENT_LIST'][$document_srl] || !is_object($GLOBALS['XE_DOCUMENT_LIST'][$document_srl]) || !$GLOBALS['XE_DOCUMENT_LIST'][$document_srl]->isExists()) continue; - $user_lang_code = Context::getLangType(); - $document_lang_code = $oDocument->get('lang_code'); + $module_srl = $GLOBALS['XE_DOCUMENT_LIST'][$document_srl]->get('module_srl'); + $extra_keys = $this->getExtraKeys($module_srl); + $vars = $extra_vars[$document_srl]; + $document_lang_code = $GLOBALS['XE_DOCUMENT_LIST'][$document_srl]->get('lang_code'); - // 확장변수 처리 - if(count($extra_keys)) { - foreach($extra_keys as $idx => $key) { - $val = $vars[$idx]; - if($val[$user_lang_code]) $v = $val[$user_lang_code]; - else if($val[$document_lang_code]) $v = $val[$document_lang_code]; - else if($val[0]) $v = $val[0]; - else $v = null; - $extra_keys[$idx]->value = $v; + // 확장변수 처리 + if(count($extra_keys)) { + foreach($extra_keys as $idx => $key) { + $val = $vars[$idx]; + if($val[$user_lang_code]) $v = $val[$user_lang_code]; + else if($val[$document_lang_code]) $v = $val[$document_lang_code]; + else if($val[0]) $v = $val[0]; + else $v = null; + $extra_keys[$idx]->value = $v; + } } + + unset($extra_vars); + $extra_vars = new ExtraVar($module_srl); + $extra_vars->setExtraVarKeys($extra_keys); + + // 제목 처리 + if($vars[-1][$user_lang_code]) $GLOBALS['XE_DOCUMENT_LIST'][$document_srl]->add('title',$vars[-1][$user_lang_code]); + + // 내용 처리 + if($vars[-2][$user_lang_code]) $GLOBALS['XE_DOCUMENT_LIST'][$document_srl]->add('content',$vars[-2][$user_lang_code]); + + $GLOBALS['XE_EXTRA_VARS'][$document_srl] = $extra_vars->getExtraVars(); } - - $extra_vars = new ExtraVar($module_srl); - $extra_vars->setExtraVarKeys($extra_keys); - - // 제목 처리 - if($vars[-1][$user_lang_code]) $oDocument->add('title',$vars[-1][$user_lang_code]); - - // 내용 처리 - if($vars[-2][$user_lang_code]) $oDocument->add('content',$vars[-2][$user_lang_code]); - - $GLOBALS['XE_EXTRA_VARS'][$document_srl] = $extra_vars->getExtraVars(); - $GLOBALS['XE_DOCUMENT_LIST'][$document_srl] = $oDocument; } /**