----------------------------------------------------------------------
해당글은 XE공홈에서 퍼온글입니다. 작성자 - sejin7940
----------------------------------------------------------------------
수정방법은 아래에 기록해둡니다.
XE 1.5 와 XE 1.7 이 조금 다릅니다. 1번은 버전에 따라 수정법이 다르고, 2번.3번 사항은 동일합니다.
혹시나의 상황을 대비해, DB는 꼭 백업을 해두고 진행하세요 ^^
1. modules/member/tpl/member_list.html 에서
(1) XE 1.5 기반에서 수정방법
130번째줄 부근의
<span class="btn"><button type="submit" name="type" value="delete">{$lang->cmd_delete}</button></span>
밑에다가 추가
<span class="btn"><button type="submit" name="type" value="spam">스팸처리</button></span>
(2) XE 1.7 기반에서 수정방법
1)
<a href="#listManager" data-value="delete" class="modalAnchor _member x_btn">{$lang->delete}</a>
밑에다가 추가 (2군데 있음. 26번째줄과 105번째줄 부근)
<a href="#listManager" data-value="spam" class="modalAnchor _member x_btn">스팸처리</a>
2)
166번째 줄 부근의
<button type="submit" name="type" value="modify|delete" class="x_btn x_btn-inverse">{$lang->confirm}</button>
를 아래걸로 교체
<button type="submit" name="type" value="modify|delete|spam" class="x_btn x_btn-inverse">{$lang->confirm}</button>
이후에 기술할 2. 3. 은 XE 1.5 와 XE 1.7 모두 동일함
2. modules/member/member.admin.controller.php 에서
function procMemberAdminSelectedMemberManage() 함수 내부에
case 'delete':{ 위에다가 추가
case 'spam':{ // sejin7940 스팸회원 삭제 위해$output = $this->sejin7940_spamMember($member_srl);if(!$output->toBool()) {$oDB->rollback();return $output;}break;}
3. modules/member/member.admin.controller.php 에서
제일 끝에 함수 하나 추가 (제일 끝이란 끝부분의 } ?> 위를 말합니다)
// sejin7940 - 스팸회원 삭제/ 관련 글/ 관련 댓글 자동 삭제 및 IP 스팸등록 기능function sejin7940_spamMember($member_srl) {// 스팸 유저가 쓴 모든 글 자동 삭제$oDocumentModel = &getModel('document');$oDocumentController = &getController('document');$obj->member_srl = $member_srl;$obj->list_count = '99999999999';$columnList = array('document_srl','ipaddress');$document_list = $oDocumentModel->getDocumentList($obj,false,true,$columnList);foreach($document_list->data as $key_document => $val_document) {// 회원 IP 스팸에 등록$args_spam->ipaddress = $val_document->get('ipaddress');if($args_spam->ipaddress && ($ipaddress_bk != $args_spam->ipaddress )) {$output_spam = executeQuery('spamfilter.isDeniedIP', $args_spam);if(!$output_spam->data->count) {$ipaddress_bk = $args_spam->ipaddress;executeQuery('spamfilter.insertDeniedIP', $args_spam);}}// 글 삭제$oDocumentController->deleteDocument($val_document->document_srl);}// 스팸 유저가 쓴 모든 댓글 자동 삭제$oCommentModel = &getModel('comment');$obj->search_target = 'member_srl';$obj->search_keyword = $member_srl;$comment_list = $oCommentModel->getTotalCommentList($obj);$oCommentController = &getController('comment');foreach($comment_list->data as $key_comment => $val_comment) {// 회원 IP 스팸에 등록$args_spam->ipaddress = $val_comment->get('ipaddress');if($args_spam->ipaddress && ($ipaddress_bk != $args_spam->ipaddress )) {$output_spam = executeQuery('spamfilter.isDeniedIP', $args_spam);if(!$output_spam->data->count) {$ipaddress_bk = $args_spam->ipaddress;executeQuery('spamfilter.insertDeniedIP', $args_spam);}}$oCommentController->deleteComment($val_comment->comment_srl);}// 회원정보 삭제$oMemberController = &getController('member');$oMemberController->memberInfo = null;$oMemberController = &getController('member');$output = $oMemberController->deleteMember($obj->member_srl);if(!$output->toBool()) return $output;return $output;}
※ 로그인 하시면 원본파일을 볼 수 있습니다. ※
코멘트 0