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

This commit is contained in:
zero 2007-06-13 05:17:24 +00:00
parent cee4bc3a89
commit 5db32a375d
2 changed files with 45 additions and 25 deletions

View file

@ -248,7 +248,7 @@
if(!$source_comment) return $this->dispBlogMessage('msg_invalid_request'); if(!$source_comment) return $this->dispBlogMessage('msg_invalid_request');
// 필요한 정보들 세팅 // 필요한 정보들 세팅
Context::set('document_srl',$document_srl); Context::set('document_srl',$source_comment->document_srl);
Context::set('parent_srl',$parent_srl); Context::set('parent_srl',$parent_srl);
Context::set('comment_srl',NULL); Context::set('comment_srl',NULL);
Context::set('source_comment',$source_comment); Context::set('source_comment',$source_comment);

View file

@ -475,7 +475,7 @@
} }
/** /**
* @brief 회원 가입 or 정보 수정 * @brief 회원 가입
**/ **/
function procMemberInsert() { function procMemberInsert() {
$oModuleModel = &getModel('module'); $oModuleModel = &getModel('module');
@ -516,7 +516,7 @@
} }
/** /**
* @brief 회원 가입 or 정보 수정 * @brief 회원 정보 수정
**/ **/
function procMemberModifyInfo() { function procMemberModifyInfo() {
if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); if(!Context::get('is_logged')) return $this->stop('msg_not_logged');
@ -551,6 +551,8 @@
$signature = Context::get('signature'); $signature = Context::get('signature');
$this->putSignature($args->member_srl, $signature); $this->putSignature($args->member_srl, $signature);
$this->setSessionInfo($args);
// 결과 리턴 // 결과 리턴
$this->add('member_srl', $args->member_srl); $this->add('member_srl', $args->member_srl);
$this->setMessage('success_updated'); $this->setMessage('success_updated');
@ -776,35 +778,49 @@
// denied_date가 현 시간보다 적으면 알림 // denied_date가 현 시간보다 적으면 알림
if($member_info->limit_date && $member_info->limit_date >= date("YmdHis")) return new Object(-1,sprintf(Context::getLang('msg_user_limited'),zdate($member_info->limit_date,"Y-m-d H:i"))); if($member_info->limit_date && $member_info->limit_date >= date("YmdHis")) return new Object(-1,sprintf(Context::getLang('msg_user_limited'),zdate($member_info->limit_date,"Y-m-d H:i")));
// 로그인 처리
$_SESSION['is_logged'] = true;
$_SESSION['ipaddress'] = $_SERVER['REMOTE_ADDR'];
unset($member_info->password);
// 사용자 그룹 설정
$group_srl_list = array_keys($member_info->group_list);
// 관리자 그룹일 경우 관리자로 지정
$admin_group = $oMemberModel->getAdminGroup();
if($admin_group->group_srl && in_array($admin_group->group_srl, $group_srl_list)) $member_info->is_admin = 'Y';
// 세션에 로그인 사용자 정보 저장
$_SESSION['member_srl'] = $member_info->member_srl;
$_SESSION['logged_info'] = $member_info;
$_SESSION['group_srls'] = $group_srl_list;
$_SESSION['is_admin'] = $member_info->is_admin=='Y'?true:false;
Context::set('is_logged', true);
Context::set('logged_info', $member_info);
// 사용자 정보의 최근 로그인 시간을 기록 // 사용자 정보의 최근 로그인 시간을 기록
$args->member_srl = $member_info->member_srl; $args->member_srl = $member_info->member_srl;
$output = executeQuery('member.updateLastLogin', $args); $output = executeQuery('member.updateLastLogin', $args);
$this->setSessionInfo($member_info);
return $output; return $output;
} }
/**
* @brief 세션 정보 갱싱 또는 생성
**/
function setSessionInfo($member_info) {
if(!$member_info->member_srl) return;
// 로그인 처리
$_SESSION['is_logged'] = true;
$_SESSION['ipaddress'] = $_SERVER['REMOTE_ADDR'];
$_SESSION['member_srl'] = $member_info->member_srl;
$_SESSION['is_admin'] = false;
unset($member_info->password);
// 사용자 그룹 설정
if($member_info->group_list) {
$group_srl_list = array_keys($member_info->group_list);
$_SESSION['group_srls'] = $group_srl_list;
// 관리자 그룹일 경우 관리자로 지정
$oMemberModel = &getModel('member');
$admin_group = $oMemberModel->getAdminGroup();
if($admin_group->group_srl && in_array($admin_group->group_srl, $group_srl_list)) $_SESSION['is_admin'] = true;
}
// 세션에 로그인 사용자 정보 저장
foreach($member_info as $key => $val) {
$_SESSION['logged_info']->{$key} = $val;
}
Context::set('is_logged', true);
Context::set('logged_info', $member_info);
}
/** /**
* @brief member 테이블에 사용자 추가 * @brief member 테이블에 사용자 추가
@ -956,6 +972,10 @@
$oDB->commit(); $oDB->commit();
// 세션에 저장
$member_info = $oMemberModel->getMemberInfoByMemberSrl($args->member_srl);
$_SESSION['logged_info'] = $member_info;
$output->add('member_srl', $args->member_srl); $output->add('member_srl', $args->member_srl);
return $output; return $output;
} }