테스트 사이트 - 개발 중인 베타 버전입니다

latest.num.lib.php 에서 공지, 답변글 출력 제외시키기.

· 15년 전 · 4307

첨으로 팁아닌 팁을 올려보는 것 같네요..

매번 여러분들에게 도움을 받다가
필요에 의해서 찾아보았는데 없어서 짜집기 한 뒤에 함께 공유하고자 합니다.
혹시 제가 못찾고 중복이라면.. 죄송합니다 (__)

나조아님의 "최근글 답변글, 공지글 제외하기" 에서 큰 도움을 받아
latest.num.lib.php 에서도 답변글, 공지글을 제외시켜보고자 합니다.

나조아님 원본글
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=5611&sca=&sfl=wr_subject&stx=%C3%D6%B1%D9%B1%DB&sop=and

첨부된 파일을 lib 폴더에 덮어쓰기 하셔도 되구요..
혹시 이미 latest.num.lib.php 파일을 손보셨다면
아래 코드를 참고하셔서 이용하세요.

<?
if (!defined('_GNUBOARD_')) exit;

// 최신글 추출
function latest_num($skin_dir="", $bo_table, $rows=10, $subject_len="", $brch="", $la_num="", $options="", $f_rows="")
{
    global $g4;

    if ($skin_dir)
        $latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
    else
        $latest_skin_path = "$g4[path]/skin/latest/basic";

    $list = array();

    $sql = " select * from $g4[board_table] where bo_table = '$bo_table'";
    $board = sql_fetch($sql);

    $tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름

    if ($brch == "H") {

        $brch = "wr_hit desc";

    }

    else if ($brch == "C") {

        $brch ="wr_comment desc";

    }

    else if ($brch == "R") {

        $brch = "rand()";

    }

    else if ($brch == "G") {

        $brch = "wr_good desc";

    }

    else if ($brch == "N") {

        $brch = "wr_nogood desc";

    }

    else if ($brch == "RE") {

        $brch = "wr_num asc, wr_reply";

    }

    else if ($brch == "B") {

        $brch = "wr_num";

    } else {

        $brch = "wr_num";

    }

    // 최근 값 뽑음
    $sql0 = " select wr_num from $tmp_write_table where wr_is_comment = '0' order by wr_id desc limit 0, 1 ";
    $check = sql_fetch($sql0);

// 답변글 출력제외
$subqry1 = "&& wr_reply = ''";

// 공지사항 출력제외
    $arr_notice = split("\n", trim($board[bo_notice]));
    for ($k=0; $k<count($arr_notice); $k++)
    {
$subqry2_1 = " && wr_id!='$arr_notice[$k]'";
$subqry2 = "$subqry2 $subqry2_1";
    } 

    // 값
    $sql_num = $check[wr_num] + $la_num;
 if(!$la_num){
 $sql = " select wr_id, wr_subject, wr_content, wr_name, wr_hit, wr_datetime from $tmp_write_table where wr_is_comment = '0' $subqry1 $subqry2 order by $brch limit $f_rows, $rows ";
 }else{
    $sql = " select wr_id, wr_subject, wr_content, wr_name, wr_hit, wr_datetime from $tmp_write_table where wr_is_comment = '0' and wr_num <= '$sql_num' order by $brch limit $f_rows, $rows ";
 }
    $result = sql_query($sql);
    for ($i=0; $row = sql_fetch_array($result); $i++)
        $list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);
   
    ob_start();
    include "$latest_skin_path/latest.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}
?>

노란색 형관펜 부분이 추가된 부분이구요..

if(!$la_num){.........
}else{
$sql =.......  <<< 부분에는 들어가지 않습니다  * 주의하세요

고수님들이 보기엔 짜맞추기 수준이라 부끄럽습니다.

즐거운 그누생활되세요~

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시판 목록

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.
글쓰기