티스토리 뷰

최대한 그누보드 코드를 이해하면서 다른부분은 수정 안하면서 구현하려고 해봤습니다. 아직 미숙한지라 틀린부분이나 버그 있으면 알려주시면 감사하겠습니다. 

특정 게시판(보통 공지게시판이겠지요)에 공지로 글을 작성하면 다른 모든 게시판에서도 공지가 보이도록 하는 코드입니다. bbs폴더에 list.php에서 공지처리부분 바로 위에 아래 코드를 복사붙여넣기 해주시기만 하면 됩니다. 

아래코드 삽입시 예를들어 notice게시판에 공지1,2를 올리고 자유게시판에 공지3,4를 올리면 자유게시판으로 갔을때 공지1,2가 제일 위에 보이고 그 아래로 공지3,4가 보이고 그 아래로 일반글이 보이게 됩니다. 

01// 공지 처리(추가)
02$board_notice_name='notice'// 전체 공지를 줄 게시판명 (공지게시판을 따로 두어야함..)
03$board_notice=sql_fetch(" select * from `g5_board` where `bo_table`='$board_notice_name' ");
04if (!$sca && !$stx && $board['bo_table']!=$board_notice_name) {
05    $arr_notice explode(',', trim($board_notice['bo_notice']));
06    $from_notice_idx = ($page - 1) * $page_rows;
07    if($from_notice_idx < 0)
08        $from_notice_idx = 0;
09    $board_notice_count count($arr_notice);
10    $total_count+=$board_notice_count;
11 
12    for ($k=0; $k<$board_notice_count$k++) {
13        if (trim($arr_notice[$k]) == ''continue;
14 
15        $row = sql_fetch(" select * from `g5_write_".$board_notice_name."` where wr_id = '{$arr_notice[$k]}' ");
16 
17        if (!$row['wr_id']) continue;
18 
19        $notice_array[] = 0;
20 
21        if($k $from_notice_idxcontinue;
22 
23        $list[$i] = get_list($row$board_notice$board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);
24        $list[$i]['is_notice'] = true;
25 
26        $i++;
27        $notice_count++;
28 
29        if($notice_count >= $list_page_rows)
30            break;
31    }
32}
33 
34 
35// 공지 처리(원본)
36if (!$sca && !$stx) {
37......(후략)


댓글