회원차단 플러그인 질문입니다
본문
해당 플러그인을 사용하고 있는데
사용해 보니까 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
저도 테스팅을 안해봐서 잘 실행 될지는 모르겠지만 중요한건 기존에 차단리스트를 불러오는 로직을 반대로 하시면 됩니다 !-->!-->
답변을 작성하시기 전에 로그인 해주세요.