git-svn-id: http://xe-core.googlecode.com/svn/trunk@192 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-02-27 03:40:52 +00:00
parent f538e69e7e
commit 0a49ee5406
3 changed files with 44 additions and 6 deletions

View file

@ -32,7 +32,7 @@
* \n
* - parameter - param\n
* param = key : key를 이름으로 가지고 value의 값을 가지는 array 생성\n
* value = target : target form element의 값을 가져옴\n
* target = target_name : target form element의 값을 가져옴\n
* concat = str1,str2,target2... : 값들의 string 또는 form element value를 연결\n
* \n
* - response\n
@ -80,13 +80,23 @@
$confirm_msg_code = $xml_obj->filter->attrs->confirm_msg_code;
$module = $xml_obj->filter->attrs->module;
$act = $xml_obj->filter->attrs->act;
$extend_filter = $xml_obj->filter->attrs->extend_filter;
$field_node = $xml_obj->filter->form->node;
$parameter_param = $xml_obj->filter->parameter->param;
$response_tag = $xml_obj->filter->response->tag;
// extend_filter가 있을 경우 해당 method를 호출하여 결과를 받음
if($extend_filter) {
list($module_name, $method) = explode('.',$extend_filter);
if($module_name&&$method) {
$oExtendFilter = &getModel($module_name);
if(method_exists($oExtendFilter, $method)) {
$extend_filter_obj = call_user_method($method, $oExtendFilter, true);
}
}
}
$callback_func = $xml_obj->filter->response->attrs->callback_func;
if(!$callback_func) $callback_func = "filterAlertMessage";

View file

@ -198,17 +198,24 @@
/**
* @brief 회원 가입폼 추가 확장 목록 가져오기
*
* 메소드는 modules/member/tpl.admin/filter/insert.xml extend_filter로 동작을 한다.
* extend_filter로 사용을 하기 위해서는 인자값으로 boolean값을 받도록 규정한다.
* 인자값이 true일 경우 filter 타입에 맞는 형태의 object로 결과를 return하여야 한다.
**/
function getJoinFormList() {
function getJoinFormList($filter_response = false) {
// DB 객체 생성
$oDB = &DB::getInstance();
// list_order 컬럼의 정렬을 위한 인자 세팅
$args->sort_index = "list_order";
$output = $oDB->executeQuery('member.getJoinFormList', $args);
$join_form_list = $output->data;
// 결과 데이터가 없으면 NULL return
$join_form_list = $output->data;
if(!$join_form_list) return NULL;
// default_value의 경우 DB에 array가 serialize되어 입력되므로 unserialize가 필요
if(!is_array($join_form_list)) $join_form_list = array($join_form_list);
$join_form_count = count($join_form_list);
for($i=0;$i<$join_form_count;$i++) {
@ -225,6 +232,13 @@
$list[$member_join_form_srl] = $join_form_list[$i];
}
// filter_response가 true일 경우 object 스타일을 구함
if($filter_response) {
}
// 결과 리턴
return $list;
}

View file

@ -1,10 +1,24 @@
<filter name="insert" module="member" act="procInsert">
<filter name="insert" module="member" act="procInsert" extend_filter="member.getJoinFormList">
<form>
<node target="user_id" required="true" minlength="3" maxlength="20" filter="userid" />
<node target="user_name" required="true" minlength="2" maxlength="20" />
<node target="nick_name" required="true" minlength="2" maxlength="20" />
<node target="email_address" required="true" minlength="1" maxlength="200" filter="email"/>
</form>
<parameter>
<param name="page" target="page" />
<param name="member_srl" target="member_srl" />
<param name="user_id" target="user_id" />
<param name="password" target="password" />
<param name="user_name" target="user_name" />
<param name="nick_name" target="nick_name" />
<param name="email_address" target="email_address" />
<param name="allow_mailing" target="allow_mailing" />
<param name="denied" target="denied" />
<param name="is_admin" target="is_admin" />
<param name="description" target="description" />
<param name="group_srl_list" target="group_srl_list" />
</parameter>
<response callback_func="completeInsert">
<tag name="error" />
<tag name="message" />