글 보기 및 수정/쓰기시 확장변수 누락 문제

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5939 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ngleader 2009-03-23 10:22:31 +00:00
parent 40d7d24f39
commit 801cc6c811
2 changed files with 32 additions and 26 deletions

View file

@ -42,6 +42,7 @@
// 확장변수 미지정된 문서에 대해서 일단 현재 접속자의 언어코드로 확장변수를 검색
$obj->document_srl = implode(',',$document_srls);
$output = executeQueryArray('document.getDocumentsExtraVars', $obj);
if($output->toBool() && $output->data) {
$setted = array();
@ -52,13 +53,20 @@
if($val->idx == -1) $GLOBALS['XE_DOCUMENT_LIST'][$val->document_srl]->add('title', $val->value);
else if($val->idx == -2) $GLOBALS['XE_DOCUMENT_LIST'][$val->document_srl]->add('content', $val->value);
} elseif($val->idx>0) {
if(!isset($GLOBALS['XE_EXTRA_VARS'][$val->document_srl])){
$module_srl = $GLOBALS['XE_DOCUMENT_LIST'][$val->document_srl]->get('module_srl');
$oExtraItem = $GLOBALS['XE_EXTRAVARS'][$module_srl];
$GLOBALS['XE_EXTRA_VARS'][$val->document_srl] = $oExtraItem;
}
if($lang_code == $val->lang_code) {
$obj = new ExtraItem($val->module_srl, $val->idx, $val->name, $val->type, $val->default, $val->desc, $val->is_required, $val->search, $val->value, $val->eid);
$GLOBALS['XE_EXTRA_VARS'][$val->document_srl][$val->idx] = $obj;
} else if($lang_code == $GLOBALS['XE_DOCUMENT_LIST'][$val->document_srl]->lang_code && !isset($GLOBALS['XE_EXTRA_VARS'][$val->document_srl][$val->idx])) {
} else if($lang_code == $GLOBALS['XE_DOCUMENT_LIST'][$val->document_srl]->lang_code && !$GLOBALS['XE_EXTRA_VARS'][$val->document_srl][$val->idx]->value) {
$obj = new ExtraItem($val->module_srl, $val->idx, $val->name, $val->type, $val->default, $val->desc, $val->is_required, $val->search, $val->value, $val->eid);
$GLOBALS['XE_EXTRA_VARS'][$val->document_srl][$val->idx] = $obj;
} else if(!isset($GLOBALS['XE_EXTRA_VARS'][$val->document_srl][$val->idx])) {
} else if(!$GLOBALS['XE_EXTRA_VARS'][$val->document_srl][$val->idx]->value) {
$obj = new ExtraItem($val->module_srl, $val->idx, $val->name, $val->type, $val->default, $val->desc, $val->is_required, $val->search, $val->value, $val->eid);
$GLOBALS['XE_EXTRA_VARS'][$val->document_srl][$val->idx] = $obj;
}

View file

@ -1,10 +1,11 @@
<query id="getDocumentsExtraVars" action="select">
<tables>
<table name="document_extra_vars" alias="extra_vars" />
<table name="document_extra_keys" alias="extra_keys" type="left join">
<table name="document_extra_keys" alias="extra_keys" />
<table name="document_extra_vars" alias="extra_vars" type="left join">
<conditions>
<condition operation="equal" column="extra_keys.module_srl" default="extra_vars.module_srl" />
<condition operation="equal" column="extra_keys.var_idx" default="extra_vars.var_idx" pipe="and" />
<condition operation="in" column="extra_vars.document_srl" var="document_srl" pipe="and" />
<condition operation="equal" column="extra_keys.eid" default="extra_vars.eid" pipe="and" />
</conditions>
</table>
</tables>
@ -16,15 +17,12 @@
<column name="extra_keys.var_search" alias="search" />
<column name="extra_keys.var_default" alias="default" />
<column name="extra_keys.var_desc" alias="desc" />
<column name="extra_vars.var_idx" alias="idx" />
<column name="extra_keys.var_idx" alias="idx" />
<column name="extra_vars.document_srl" alias="document_srl" />
<column name="extra_vars.lang_code" alias="lang_code" />
<column name="extra_vars.value" alias="value" />
<column name="extra_vars.eid" alias="eid" />
<column name="extra_keys.eid" alias="eid" />
</columns>
<conditions>
<condition operation="in" column="extra_vars.document_srl" var="document_srl" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="extra_keys.var_idx" order="asc" />
</navigation>