회원차단 플러그인 질문입니다

회원차단 플러그인 질문입니다

QA

회원차단 플러그인 질문입니다

본문

https://sir.kr/g5_plugin/1401

 

해당 플러그인을 사용하고 있는데 

사용해 보니까 A회원이 B회원을 차단할 경우 

A회원이 B회원의 게시물을 보지 못 하는 방식이더라구요.

 

이걸 A회원이 B회원을 차단할 경우 

B회원은 A회원을 게시물도 볼 수 없게 수정하려면

어떻게 하면 될까요...

이 질문에 댓글 쓰기 :

답변 1

A회원 : 차단을 한 회원
B회원 : 차단을 당한 회원

DB구조를 보니까 A회원이 로그인 한 상태에서 B회원을 차단 했을때 DB에
mb_id는 A회원의 mb_id
block_id는 B회원의 mb_id 인것으로 보이는데요..

/extend/user.block.id.php에서 $tmp_block 이 A회원이 차단한 회원(B회원)의 목록을 가져오는것 같습니다.

그럼 반대로 

/extend/user.block.id.php에서 내가 차단한 회원이 아니라 내가 차단 당한 쿼리를 작성해보면


$back_block = sql_fetch(" SELECT * FROM $g5_id_block WHERE block_id = '$me_member' ");

그리고 /bbs/list.php에서 


// .../bbs/list.php
// 차단 회원 list 감추기
if($tmp_block['block_id'])
{
    $sql_search_block = '';
    $blocks = explode(',', $tmp_block['block_id']);
    for ($k=0, $blockc=count($blocks); $k<$blockc; $k++)
         $sql_search_block .= " and mb_id <> '$blocks[$k]' ";
}
// 추가
if($back_block['mb_id'])
{
    $sql_search_back_block = '';
    $blocks = explode(',', $tmp_block['block_id']);
    for ($k=0, $blockc=count($blocks); $k<$blockc; $k++)
         $sql_search_back_block .= " and block_id <> '$blocks[$k]' ";
}
// ... 생략
// $sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} {$sql_search_block} ";
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} {$sql_search_block} {$sql_search_back_block}";
// ... 생략
if ($sca || $stx) {
  // $sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_search_block} {$sql_order} limit {$from_record}, $page_rows ";
 
  $sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_search_block} {$sql_search_back_block} {$sql_order} limit {$from_record}, $page_rows ";
} else {
  // $sql = " select * from {$write_table} where wr_is_comment = 0 {$sql_search_block}";
 
  $sql = " select * from {$write_table} where wr_is_comment = 0 {$sql_search_block} {$sql_search_back_block}";
}
 
// .../bbs/list.php


저도 테스팅을 안해봐서 잘 실행 될지는 모르겠지만 중요한건 기존에 차단리스트를 불러오는 로직을 반대로 하시면 됩니다

답변감사합니다! 말씀대로 진행해보니 2가지 문제점이 보이네요 ㅠ

1. 차단 당한 사람은 차단 한 사람의 게시물 뿐만 아니라 공지를 제외한 모두의 게시글이 보이지 않습니다ㅠ
2. 차단 시 차단 목록에 등록이 되질 않습니다 ㅠ

뭐가 문제일까요

일단 저도 테스트를 진행해본게 아니라서 자세히는 알수 없습니다만.. 위에서 제가 추가한 쿼리쪽을 직접 찍어보시는게 좋을거같고... 등록부분은 딱히 건드린 부분이 없습니다

답변을 작성하시기 전에 로그인 해주세요.
전체 25
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT