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

This commit is contained in:
zero 2007-04-02 06:09:40 +00:00
parent cbdbfddb54
commit e30a1d8b0e
11 changed files with 103 additions and 9 deletions

View file

@ -3,6 +3,7 @@
<actions>
<action name="dispMemberInfo" type="view" standalone="true" />
<action name="dispMemberSignUpForm" type="view" standalone="true" />
<action name="dispMemberModifyInfo" type="view" standalone="true" />
<action name="dispMemberLoginForm" type="view" standalone="true" />
<action name="dispMemberLogout" type="view" standalone="true" />
@ -21,6 +22,7 @@
<action name="procMemberLogin" type="controller" standalone="true" />
<action name="procMemberLogout" type="controller" standalone="true" />
<action name="procMemberInsert" type="controller" standalone="true" />
<action name="procMemberInsertImageName" type="controller" standalone="true" />
<action name="procMemberInsertImageMark" type="controller" standalone="true" />
<action name="procMemberDeleteImageName" type="controller" standalone="true" />

View file

@ -61,6 +61,7 @@
$lang->msg_exists_email_address = '이미 존재하는 메일주소입니다. 다른 메일주소를 입력해주세요';
$lang->msg_exists_nick_name = '이미 존재하는 닉네임입니다. 다른 닉네임을 입력해주세요';
$lang->msg_signup_disabled = '회원 가입을 하실 수 없습니다';
$lang->msg_already_logged = '이미 회원 가입을 하신 상태입니다';
$lang->msg_not_uploaded_image_name = '이미지 이름을 등록할 수가 없습니다';
$lang->msg_not_uploaded_image_mark = '이미지 마크를 등록할 수가 없습니다';

View file

@ -15,6 +15,7 @@
$oModuleController = &getController('module');
$oModuleController->insertActionForward('member', 'view', 'dispMemberInfo');
$oModuleController->insertActionForward('member', 'view', 'dispMemberSignUpForm');
$oModuleController->insertActionForward('member', 'view', 'dispMemberModifyInfo');
$oModuleController->insertActionForward('member', 'view', 'dispMemberLoginForm');
$oModuleController->insertActionForward('member', 'view', 'dispMemberLogout');
$oModuleController->insertActionForward('member', 'view', 'dispMemberAdminList');
@ -29,6 +30,7 @@
$oModuleController->insertActionForward('member', 'model', 'getmemberMenu');
$oModuleController->insertActionForward('member', 'controller', 'procMemberLogin');
$oModuleController->insertActionForward('member', 'controller', 'procMemberLogout');
$oModuleController->insertActionForward('member', 'controller', 'procMemberInsert');
$oModuleController->insertActionForward('member', 'controller', 'procMemberInsertImageName');
$oModuleController->insertActionForward('member', 'controller', 'procMemberInsertImageMark');
$oModuleController->insertActionForward('member', 'controller', 'procMemberDeleteImageName');

View file

@ -75,7 +75,7 @@
**/
function procMemberAdminInsert() {
// 필수 정보들을 미리 추출
$args = Context::gets('member_srl','user_id','user_name','nick_name','email_address','password','allow_mailing','denied','is_admin','signature','profile_image','image_nick','image_mark','description','group_srl_list');
$args = Context::gets('member_srl','user_id','user_name','nick_name','email_address','password','allow_mailing','denied','is_admin','description','group_srl_list');
// 넘어온 모든 변수중에서 몇가지 불필요한 것들 삭제
$all_args = Context::getRequestVars();
@ -281,6 +281,53 @@
$this->setMessage($msg_code);
}
/**
* @brief 회원 가입 or 정보 수정
**/
function procMemberInsert() {
// 필수 정보들을 미리 추출
$args = Context::gets('member_srl','user_id','user_name','nick_name','email_address','password','allow_mailing','signature');
// 넘어온 모든 변수중에서 몇가지 불필요한 것들 삭제
$all_args = Context::getRequestVars();
unset($all_args->module);
unset($all_args->act);
unset($all_args->is_admin);
unset($all_args->description);
unset($all_args->group_srl_list);
// 모든 request argument에서 필수 정보만 제외 한 후 추가 데이터로 입력
$extra_vars = delObjectVars($all_args, $args);
$args->extra_vars = serialize($extra_vars);
// member_srl이 넘어오면 원 회원이 있는지 확인
if($args->member_srl) {
// 멤버 모델 객체 생성
$oMemberModel = &getModel('member');
// 회원 정보 구하기
$member_info = $oMemberModel->getMemberInfoByMemberSrl($args->member_srl);
// 만약 원래 회원이 없으면 새로 입력하기 위한 처리
if($member_info->member_srl != $args->member_srl) unset($args->member_srl);
}
// member_srl의 값에 따라 insert/update
if(!$args->member_srl) {
$output = $this->insertMember($args);
$msg_code = 'success_registed';
} else {
$output = $this->updateMember($args);
$msg_code = 'success_updated';
}
if(!$output->toBool()) return $output;
$this->add('member_srl', $args->member_srl);
$this->setMessage($msg_code);
}
/**
* @brief 이미지 이름을 추가
**/

View file

@ -52,7 +52,7 @@
if($mid) {
// 회원 정보 보기
$menu_str = Context::getLang('cmd_view_member_info');
$menu_url = sprintf('./?mid=%s&amp;act=dispSignUpForm&amp;member_srl=%s', $mid, $member_srl);
$menu_url = sprintf('./?mid=%s&amp;act=dispMemberInfo&amp;member_srl=%s', $mid, $member_srl);
$menu_list[] = sprintf('%s,move_url(\'%s\')', $menu_str, $menu_url);
// 아이디로 검색

View file

@ -65,12 +65,47 @@
$this->initNormal();
$oMemberModel = &getModel('member');
$this->member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->member_info));
$member_srl = Context::get('member_srl');
if(!$member_srl && Context::get('is_logged')) {
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
} elseif(!$member_srl) {
return $this->dispMemberSignUpForm();
}
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
unset($member_info->password);
unset($member_info->email_id);
unset($member_info->email_host);
unset($member_info->email_address);
if(!$member_info->member_srl) return $this->dispMemberSignUpForm();
Context::set('member_info', $member_info);
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($member_info));
$this->setTemplateFile('member_info');
}
/**
* @brief 회원 가입 출력
**/
function dispMemberSignUpForm() {
$this->initNormal();
$oMemberModel = &getModel('member');
// 로그인한 회원일 경우 해당 회원의 정보를 받음
if($oMemberModel->isLogged()) return $this->stop('msg_already_logged');
// 회원가입을 중지시켰을 때는 에러 표시
if($this->member_config->enable_join != 'Y') return $this->stop('msg_signup_disabled');
// 템플릿 파일 지정
$this->setTemplateFile('signup_form');
}
/**
* @brief 회원 가입 출력
**/

View file

@ -1,4 +1,4 @@
<filter name="insert" module="member" act="procMemberAdminInsert" extend_filter="member.getJoinFormList" confirm_msg_code="confirm_submit">
<filter name="insert" module="member" act="procMemberInsert" extend_filter="member.getJoinFormList" confirm_msg_code="confirm_submit">
<form>
<node target="user_id" required="true" minlength="3" maxlength="20" filter="userid" />
<node target="password1" required="true" minlength="6" maxlength="20" />

View file

@ -1,5 +1,4 @@
<!--%import("filter/insert.xml")-->
<!--%import("../../tpl/js/admin.js")-->
<!--%import("js/member.js")-->
<div>

View file

@ -51,8 +51,15 @@
</tr>
<!--@end-->
<!--@end-->
<tr>
<th>{$lang->description}</th>
<td>{$member_info->description}</td>
<td colspan="2">
<!--@if($member_info->member_srl == $logged_info->member_srl)-->
<input type="button" value="{$lang->cmd_modify_member_info}" onclick="location.href='{getUrl('act','dispMemberModifyInfo')}';return false;" />
<input type="button" value="{$lang->cmd_modify_member_password}" />
<!--@end-->
<input type="button" value="{$lang->cmd_list}" onclick="location.href='{getUrl('act','')}';return false;" />
</td>
</tr>
</table>