diff --git a/modules/member/lang/ko.lang.php b/modules/member/lang/ko.lang.php index 2169d9395..b2000f201 100644 --- a/modules/member/lang/ko.lang.php +++ b/modules/member/lang/ko.lang.php @@ -47,6 +47,7 @@ $lang->friend_group = '친구 그룹'; $lang->default_friend_group = '그룹 미지정'; $lang->member_info = '회원 정보'; + $lang->current_password = '현재 비밀번호'; $lang->search_target_list = array( 'user_id' => '아이디', diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 10dd3884f..2359b3166 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -477,13 +477,27 @@ if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); // 필수 정보들을 미리 추출 - $args->password = trim(Context::get('password')); + $current_password = trim(Context::get('current_password')); + $password = trim(Context::get('password')); - // 로그인 정보 + // 로그인한 유저의 정보를 가져옴 $logged_info = Context::get('logged_info'); - $args->member_srl = $logged_info->member_srl; + $member_srl = $logged_info->member_srl; + + // member model 객체 생성 + $oMemberModel = &getModel('member'); + + // member_srl 에 따른 정보 가져옴 + $member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl); + + // 현재 비밀번호가 맞는지 확인 + if(!$current_password || ($member_info->password != md5($current_password) && $this->mysql_pre4_hash_password($current_password) != $member_info->password)) { + return new Object(-1, 'invalid_password'); + } // member_srl의 값에 따라 insert/update + $args->member_srl = $member_srl; + $args->password = $password; $output = $this->updateMemberPassword($args); if(!$output->toBool()) return $output; diff --git a/modules/member/skins/default/filter/modify_password.xml b/modules/member/skins/default/filter/modify_password.xml index bd7c574b1..242a7f9cc 100644 --- a/modules/member/skins/default/filter/modify_password.xml +++ b/modules/member/skins/default/filter/modify_password.xml @@ -1,9 +1,11 @@
+ + diff --git a/modules/member/skins/default/modify_password.html b/modules/member/skins/default/modify_password.html index c54fd255f..7f46e8990 100644 --- a/modules/member/skins/default/modify_password.html +++ b/modules/member/skins/default/modify_password.html @@ -20,6 +20,12 @@ {$member_info->user_id} + + {$lang->current_password} + + + + {$lang->password1}