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

1:1 상담(문의)게시판으로 바꿔보기

/skin/board/스킨명/list.skin.php 위에 삽입
if($bo_table)의 ask는 게시판 테이블 이름에 맞게 바꿔주시면 됩니다.

[code]
// 1:1 문의 게시판(자신이 쓴 글만 리스트에 출력) 시작
if($bo_table == 'ask')
{
// 공지 글 가져오기
$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);
}

// 해당 사용자가 쓴 글의 번호를 얻어 옴.
$bb_query1 = "select * from `{$write_table}` where 1 and mb_id like '{$member[mb_id]}'";

$result1 = sql_query($bb_query1);
$list1A = array();
while ($row = sql_fetch_array($result1))
{
$list1S = $row[wr_num].",".$list1S;
}

// 페이징 처리
$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 문의 게시판(자신이 쓴 글만 리스트에 출력) 끝
[/code]


skin/board/스킨명/view.skin.php 위에 삽입
if($bo_table)의 ask는 게시판 테이블 이름에 맞게 바꿔주시면 됩니다.

[code]
// 1:1 문의 게시판(자신이 쓴 글만 리스트에 출력) 시작
if($bo_table == 'ask')
{
$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;
}
}

// 현재 글이 공지글인 경우 읽을 수 있음
$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 문의 게시판(자신이 쓴 글만 리스트에 출력) 끝
[/code]


<? ?> php 시작과 끝 사이에 삽입해야합니다.

※ 위 코드 외 기존의 코드에서 페이징(paging)이 한번 더 호출되는 코드를 삭제해주셔야합니다.

view.skin.php에서 삽입하는 코드는 문의게시판에 중요한 내용이 없다면 추가하지않아도 됩니다.
게시판 설정의 무조건 비밀글로 설정해두어도 충분합니다.
단지 2차 보안용일뿐..

댓글 작성

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

로그인하기

댓글 4개

잘쓰겠습니당.. 근데 관리자 말고는 번호가 안뜨고 검색이 안되요 ㅠ
그누보드 5에서 적용해도 잘 되네요.. 좋습니다.

게시판 목록

그누4 팁자료실

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