그누보드 [G4] 일대일 게시판
페이지 정보
본문
일대일 게시판으로 활용하기 위해서 스킨 2개 파일만 수정하면 어는 스킨에나 적용이 가능합니다.
1. 그누보드 / skin / board / 스킨 / list.skin.php
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 1:1 게시판 기능을 위해서 추가된 부분
//$bb_table_name = 'g4_write_'.$board[bo_table];
// 공지가져오기
$noticeNumS = str_replace("\n",",",$board[bo_notice]);
$bb_query2 = "select * from {$write_table} where 1 and find_in_set(wr_id,'{$noticeNumS}') and wr_is_comment != 1 order by wr_num, wr_reply;";
$result2 = sql_query($bb_query2);
$list2A = array();
while ($row = sql_fetch_array($result2)) {
$row = get_list($row, $board, $g4[path].'/skin/board/'.$board[bo_skin], $board[bo_subject_len]);
array_push($list2A, $row);
}
// 해당 사용자가 쓴 글의 번호를 얻어 옴.
if ($member[mb_id]) {
$bb_query1 = "select * from {$write_table} where mb_id = '{$member[mb_id]}'";
} else {
$bb_query1 = "select * from {$write_table} where mb_id = ''";
}
//$bb_query1 = "select * from {$write_table} where 1 and mb_id like '{$member[mb_id]}'";
//echo $bb_query1;
$result1 = sql_query($bb_query1);
$list1A = array();
while ($row = sql_fetch_array($result1)) {
$list1S = $row[wr_num].",".$list1S;
//array_push($list1A, $row[wr_num]);
}
// 페이징 처리
$bb_query_total = "select * from {$write_table} where 1 and find_in_set(wr_num,'{$list1S}') and wr_is_comment != 1 order by wr_num, wr_reply;";
$bb_result_total = sql_query($bb_query_total);
$bb_total_count = mysql_num_rows($bb_result_total);
$bb_total_page = ceil($bb_total_count / $board[bo_page_rows]); // 전체 페이지 계산
if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$bb_from_record = ($page - 1) * $board[bo_page_rows]; // 시작 열을 구함
$bb_url = "./board.php?bo_table={$board[bo_table]}&page=";
$bb_write_pages = get_paging( $board[bo_page_rows], $page, $bb_total_page, $bb_url, $add="");
// 공지글, 해당사용자가 쓴 글과 관련된 게시물 가져오기
$bb_query3 = "select * from {$write_table} where 1 and find_in_set(wr_num,'{$list1S}') and wr_is_comment != 1 order by wr_num, wr_reply limit $bb_from_record, $board[bo_page_rows];";
$result3 = sql_query($bb_query3);
$list3A = array();
while ($row = sql_fetch_array($result3)) {
$row = get_list($row, $board, $g4[path].'/skin/board/'.$board[bo_skin], $board[bo_subject_len]);
array_push($list2A, $row);
}
if (!$is_admin) {
$total_count = $bb_total_count;
$list = $list2A;
$write_pages = $bb_write_pages;
}
// 1:1 게시판 기능을 위해서 추가된 부분 - 여기까지
2. 그누보드 / skin / board / 스킨 / view.skin.php
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 1:1 게시판 기능을 위해서 추가된 부분
$do_read = false; // 읽어도 되는 글인가???
$bb_query2 = "select * from `{$write_table}` where 1 and wr_num like '{$view[wr_num]}' and mb_id like '{$member[mb_id]}';";
$result2 = sql_query($bb_query2);
$replayWriteA = array();
while ($row = sql_fetch_array($result2)) {
if ($view[wr_num] == $row[wr_num] ){
$do_read = true; break;
}
}
// 현재 글이 공지글인 경우 읽을 수 있음. // edit 2006.11.03
$noticeNumS = explode("\n",$board[bo_notice]);
if (in_array($_GET[wr_id] , $noticeNumS ))
$do_read = true;
if ($is_admin || $do_read) {
//관리자이거나.
// 현재 보는 글에 관련된 내가 쓴 원본 글이 있다면 이 글은 봐도 된다.
} else {
echo "<script>alert('내용을 볼 수 있는 권한이 없습니다.');history.back(-1);</script>";
exit;
}
// 1:1 게시판 기능을 위해서 추가된 부분 - 여기까지
참고자료
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=33684
1. 그누보드 / skin / board / 스킨 / list.skin.php
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 1:1 게시판 기능을 위해서 추가된 부분
//$bb_table_name = 'g4_write_'.$board[bo_table];
// 공지가져오기
$noticeNumS = str_replace("\n",",",$board[bo_notice]);
$bb_query2 = "select * from {$write_table} where 1 and find_in_set(wr_id,'{$noticeNumS}') and wr_is_comment != 1 order by wr_num, wr_reply;";
$result2 = sql_query($bb_query2);
$list2A = array();
while ($row = sql_fetch_array($result2)) {
$row = get_list($row, $board, $g4[path].'/skin/board/'.$board[bo_skin], $board[bo_subject_len]);
array_push($list2A, $row);
}
// 해당 사용자가 쓴 글의 번호를 얻어 옴.
if ($member[mb_id]) {
$bb_query1 = "select * from {$write_table} where mb_id = '{$member[mb_id]}'";
} else {
$bb_query1 = "select * from {$write_table} where mb_id = ''";
}
//$bb_query1 = "select * from {$write_table} where 1 and mb_id like '{$member[mb_id]}'";
//echo $bb_query1;
$result1 = sql_query($bb_query1);
$list1A = array();
while ($row = sql_fetch_array($result1)) {
$list1S = $row[wr_num].",".$list1S;
//array_push($list1A, $row[wr_num]);
}
// 페이징 처리
$bb_query_total = "select * from {$write_table} where 1 and find_in_set(wr_num,'{$list1S}') and wr_is_comment != 1 order by wr_num, wr_reply;";
$bb_result_total = sql_query($bb_query_total);
$bb_total_count = mysql_num_rows($bb_result_total);
$bb_total_page = ceil($bb_total_count / $board[bo_page_rows]); // 전체 페이지 계산
if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$bb_from_record = ($page - 1) * $board[bo_page_rows]; // 시작 열을 구함
$bb_url = "./board.php?bo_table={$board[bo_table]}&page=";
$bb_write_pages = get_paging( $board[bo_page_rows], $page, $bb_total_page, $bb_url, $add="");
// 공지글, 해당사용자가 쓴 글과 관련된 게시물 가져오기
$bb_query3 = "select * from {$write_table} where 1 and find_in_set(wr_num,'{$list1S}') and wr_is_comment != 1 order by wr_num, wr_reply limit $bb_from_record, $board[bo_page_rows];";
$result3 = sql_query($bb_query3);
$list3A = array();
while ($row = sql_fetch_array($result3)) {
$row = get_list($row, $board, $g4[path].'/skin/board/'.$board[bo_skin], $board[bo_subject_len]);
array_push($list2A, $row);
}
if (!$is_admin) {
$total_count = $bb_total_count;
$list = $list2A;
$write_pages = $bb_write_pages;
}
// 1:1 게시판 기능을 위해서 추가된 부분 - 여기까지
2. 그누보드 / skin / board / 스킨 / view.skin.php
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 1:1 게시판 기능을 위해서 추가된 부분
$do_read = false; // 읽어도 되는 글인가???
$bb_query2 = "select * from `{$write_table}` where 1 and wr_num like '{$view[wr_num]}' and mb_id like '{$member[mb_id]}';";
$result2 = sql_query($bb_query2);
$replayWriteA = array();
while ($row = sql_fetch_array($result2)) {
if ($view[wr_num] == $row[wr_num] ){
$do_read = true; break;
}
}
// 현재 글이 공지글인 경우 읽을 수 있음. // edit 2006.11.03
$noticeNumS = explode("\n",$board[bo_notice]);
if (in_array($_GET[wr_id] , $noticeNumS ))
$do_read = true;
if ($is_admin || $do_read) {
//관리자이거나.
// 현재 보는 글에 관련된 내가 쓴 원본 글이 있다면 이 글은 봐도 된다.
} else {
echo "<script>alert('내용을 볼 수 있는 권한이 없습니다.');history.back(-1);</script>";
exit;
}
// 1:1 게시판 기능을 위해서 추가된 부분 - 여기까지
참고자료
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=33684
댓글목록
등록된 댓글이 없습니다.