mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-07 02:31:40 +09:00
확장변수 + 다국어 기능 수정
- 글등록시 언어가 기본 언어이고 수정시 다른 언어로 수정하면 각 언어별 데이터가 보관 잘 되도록 개선 - 확장변수 값이 없는 게시글을 수정시 변수 폼이 제대로 나타나도록 수정 - 퍼포먼스 증대 git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5947 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
9e80cf561e
commit
17513d6b62
5 changed files with 108 additions and 117 deletions
|
|
@ -4,19 +4,17 @@
|
|||
* @author zero (zero@nzeo.com)
|
||||
* @brief 게시글, 회원등에서 사용하는 확장변수를 핸들링하는 클래스
|
||||
*
|
||||
* php4대비 class static 변수가 안됨으로 $GLOBALS['XE_EXTRAVARS']를 이용해서 같은 효과 냄
|
||||
**/
|
||||
class ExtraVar {
|
||||
|
||||
var $module_srl = null;
|
||||
var $keys = null;
|
||||
|
||||
/**
|
||||
* @brief constructor
|
||||
**/
|
||||
function &getInstance($module_srl) {
|
||||
static $oInstance = array();
|
||||
if(!$oInstance[$module_srl]) $oInstance[$module_srl] = new ExtraVar($module_srl);
|
||||
return $oInstance[$module_srl];
|
||||
return new ExtraVar($module_srl);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -26,29 +24,15 @@
|
|||
$this->module_srl = $module_srl;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 불필요한 등록을 피하기 위해서 특정 module_srl에 확장변수가 등록되었는지 확인
|
||||
**/
|
||||
function isSettedExtraVars() {
|
||||
return isset($GLOBALS['XE_EXTRAVARS'][$this->module_srl]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 확장변수 키를 등록
|
||||
* php4를 대비해 class static 멤버변수 대신 $GLOBAL 변수 사용
|
||||
* @param module_srl, idx, name, type, default, desc, is_required, search, value
|
||||
**/
|
||||
function setExtraVarKeys($extra_keys) {
|
||||
if(!$this->isSettedExtraVars()) {
|
||||
if(!$extra_keys || !count($extra_keys)) $GLOBALS['XE_EXTRAVARS'][$this->module_srl] = array();
|
||||
else {
|
||||
if(!is_array($GLOBALS['XE_EXTRAVARS'][$this->module_srl])) $GLOBALS['XE_EXTRAVARS'][$this->module_srl] = array();
|
||||
foreach($extra_keys as $key => $val) {
|
||||
$obj = null;
|
||||
$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_EXTRAVARS'][$this->module_srl][$val->idx] = $obj;
|
||||
}
|
||||
}
|
||||
foreach($extra_keys as $key => $val) {
|
||||
$obj = null;
|
||||
$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);
|
||||
$this->keys[$val->idx] = $obj;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -56,8 +40,7 @@
|
|||
* @brief 확장변수 객체 배열 return
|
||||
**/
|
||||
function getExtraVars() {
|
||||
if(!$this->isSettedExtraVars()) return array();
|
||||
return $GLOBALS['XE_EXTRAVARS'][$this->module_srl];
|
||||
return $this->keys;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue