국내 최고 XE 개발 sejin7940 - XE 배포자료
각 자료에 대한 상세한 기능 설명들은 'XE기능개발내역' 메뉴에서 확인가능합니다
이 게시판은 배포된 자료에 대한 버그문의 용도입니다.
다만, 개인적인 사정으로 문의글에 대해 답변을 달지 못하거나 굉장히 늦게 답변 들리 수도 있음을 양해부탁드립니다

XE 공홈에 배포하는 모든 무료자료는 sejin7940 에게 유지보수 의무가 없으며, 질문에 대한 답변 의무도 없음을 명확히합니다.
반드시 수정이나 기능보완하고픈 사항이 있는 경우에는, 제작문의 쪽에 글을 남겨주세요!

관리자페이지 선택한 회원관리에,  스팸처리 기능 추가하는 방법

 

 

1. modules/member/tpl/member_list.html 에서

(1) XE 1.5 기반에서 수정방법

<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) {
     $output_spam = executeQuery('spamfilter.isDeniedIP', $args_spam);
     if(!$output_spam->data->count) {
      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) {
     $output_spam = executeQuery('spamfilter.isDeniedIP', $args_spam);
     if(!$output_spam->data->count) {
      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;
  }

 


 

전체 1건
XE Login