게시판 리스트에서 비밀글 노출하지 않기 > 그누보드5 팁자료실

그누보드5 팁자료실

게시판 리스트에서 비밀글 노출하지 않기 정보

게시판 리스트에서 비밀글 노출하지 않기

본문

관리자가 게시글 작성시, 비밀글에 체크하면 일반회원에게 비밀글이 리스트에서 노출되지 않습니다.

단, 관리자에게는 보입니다.

 

일반회원 접속시

2040587779_1552470404.9091.png

 

관리자접속시

2040587779_1552470445.5346.png

 

bbs/list.php파일을 수정해 줍니다.

 

1.상단

비밀글을 설정하면 wr_option에 secret이 저장되더라고요. 그래서 관리자와 그 외 멤버를 구분하여 하단에 추가될 구문을 만들고, 목록생성시 목록넘버 때문에 숨겨진 목록 갯수를 구해줘서 빼줍니다.

 

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

$secret = 'secret';
$secretSQL = " and wr_option NOT LIKE '%$secret%'"; 
$getSecretCount = "select COUNT(*) from {$write_table} WHERE wr_option LIKE '%$secret%'";
$secretRow = sql_fetch($getSecretCount);
$secretNumber = $secretRow['COUNT(*)'];

if ($is_admin) {
    $secretSQL = ""; 
    $secretNumber = 0;
}

 

 

2.mysql구문 추가 및 카운트조절

검색시 비밀글 제외를 시키기위하여 수정해줍니다

if ($sca || $stx || $stx === '0') {     //검색이면
    $is_search_bbs = true;   
    $secretNumber = 0; 
    $sql_search = get_sql_search($sca, $sfl, $stx, $sop);

    // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
    $sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
    $row = sql_fetch($sql);
    $min_spt = (int)$row['min_wr_num'];

    if (!$spt) $spt = $min_spt;

    $sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']}){$secretSQL}";

    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    // 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
    $sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
    $row = sql_fetch($sql);
    $total_count = $row['cnt'];
}else {
    $sql_search = "";

    $total_count = $board['bo_count_write']-$secretNumber;
}

 

if ($is_search_bbs) {
    $sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_order} limit {$from_record}, $page_rows ";
} else {
    $sql = " select * from {$write_table} where wr_is_comment = 0 {$secretSQL}";
    if(!empty($notice_array))
        $sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
    $sql .= " {$sql_order} limit {$from_record}, $page_rows ";
}

 

관리자에게만 노출되는 기능이지만, 특정권한이상 회원에게만 노출되는 기능으로 발전 시킬 수 있을 것 같습니다. 저처럼 초보분들께 조금이나마 도움이 되면 좋겠습니다.

 

추천1

댓글 전체

전체 1,372 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

진행중 포인트경매

  1. @멘션 알림 플러그인

    참여6 회 시작19.03.18 09:33 종료19.03.25 09:33

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT