diff --git a/modules/member/conf/module.xml b/modules/member/conf/module.xml index 3a828bc44..39bb3bd74 100644 --- a/modules/member/conf/module.xml +++ b/modules/member/conf/module.xml @@ -33,6 +33,7 @@ + @@ -82,6 +83,7 @@ + diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index 1920e245c..57e55bceb 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -202,6 +202,27 @@ $this->setMessage($msg_code); } + /** + * @brief 선택된 회원들을 일괄 삭제 + */ + function procMemberAdminDeleteMembers() { + $member_srl = Context::get('member_srl'); + if(!$member_srl) return new Object(-1,'msg_invalid_request'); + $member_srls = explode(',',$member_srl); + $oMemberController = &getController('member'); + foreach($member_srls as $member) + { + $output = $oMemberController->deleteMember($member); + if(!$output->toBool()) + { + $this->setMessage('failed_deleted'); + return $output; + } + } + + $this->setMessage('success_deleted'); + } + /** * @brief 선택된 회원들의 그룹을 일괄 변경 **/ diff --git a/modules/member/member.admin.view.php b/modules/member/member.admin.view.php index 453d23cc4..bf03a1cd9 100644 --- a/modules/member/member.admin.view.php +++ b/modules/member/member.admin.view.php @@ -155,7 +155,7 @@ * @brief 회원 삭제 화면 출력 **/ function dispMemberAdminDeleteForm() { - if(!Context::get('member_srl')) return $this->dispContent(); + if(!Context::get('member_srl')) return $this->dispMemberAdminList(); $this->setTemplateFile('delete_form'); } @@ -238,5 +238,17 @@ $this->setTemplateFile('manage_member_group'); } + /** + * @brief 회원 일괄 삭제 + **/ + function dispMemberAdminDeleteMembers() { + // 선택된 회원 목록을 구함 + $args->member_srl = trim(Context::get('member_srls')); + $output = executeQueryArray('member.getMembers', $args); + Context::set('member_list', $output->data); + + $this->setLayoutFile('popup_layout'); + $this->setTemplateFile('delete_members'); + } } ?> diff --git a/modules/member/tpl/delete_members.html b/modules/member/tpl/delete_members.html new file mode 100644 index 000000000..8b3e26c2a --- /dev/null +++ b/modules/member/tpl/delete_members.html @@ -0,0 +1,37 @@ + + + +
+

{$lang->cmd_delete} ({$lang->target} : {count($member_list)})

+
+ +
+ + +
+ + + + + + + + + + + + + +
{$lang->user_id}{$lang->nick_name}{$lang->signup_date}
{$val->user_id}
{$val->nick_name}
{zdate($val->regdate, "Y-m-d H:i")}
+
+ +
+
+ + + + {$lang->cmd_close} +
+
+ +
diff --git a/modules/member/tpl/filter/delete_members.xml b/modules/member/tpl/filter/delete_members.xml new file mode 100644 index 000000000..7b8f69a67 --- /dev/null +++ b/modules/member/tpl/filter/delete_members.xml @@ -0,0 +1,8 @@ + +
+ + + + + + diff --git a/modules/member/tpl/js/member_admin.js b/modules/member/tpl/js/member_admin.js index ca2824af7..d21c133c6 100644 --- a/modules/member/tpl/js/member_admin.js +++ b/modules/member/tpl/js/member_admin.js @@ -308,3 +308,31 @@ function completeUpdateMemberGroup(ret_obj) { alert(ret_obj['message']); window.close(); } + + +/* 일괄 삭제 */ +function doDeleteMembers() { + var fo_obj = xGetElementById("member_fo"); + var member_srl = new Array(); + + if(typeof(fo_obj.cart.length)=='undefined') { + if(fo_obj.cart.checked) member_srl[member_srl.length] = fo_obj.cart.value; + } else { + var length = fo_obj.cart.length; + for(var i=0;i