1:1 상담(문의)게시판으로 바꿔보기 정보
1:1 상담(문의)게시판으로 바꿔보기첨부파일
본문
/skin/board/스킨명/list.skin.php 위에 삽입
if($bo_table)의 ask는 게시판 테이블 이름에 맞게 바꿔주시면 됩니다.
skin/board/스킨명/view.skin.php 위에 삽입
if($bo_table)의 ask는 게시판 테이블 이름에 맞게 바꿔주시면 됩니다.
<? ?> php 시작과 끝 사이에 삽입해야합니다.
※ 위 코드 외 기존의 코드에서 페이징(paging)이 한번 더 호출되는 코드를 삭제해주셔야합니다.
view.skin.php에서 삽입하는 코드는 문의게시판에 중요한 내용이 없다면 추가하지않아도 됩니다.
게시판 설정의 무조건 비밀글로 설정해두어도 충분합니다.
단지 2차 보안용일뿐..
if($bo_table)의 ask는 게시판 테이블 이름에 맞게 바꿔주시면 됩니다.
// 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 문의 게시판(자신이 쓴 글만 리스트에 출력) 끝
skin/board/스킨명/view.skin.php 위에 삽입
if($bo_table)의 ask는 게시판 테이블 이름에 맞게 바꿔주시면 됩니다.
// 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 문의 게시판(자신이 쓴 글만 리스트에 출력) 끝
<? ?> php 시작과 끝 사이에 삽입해야합니다.
※ 위 코드 외 기존의 코드에서 페이징(paging)이 한번 더 호출되는 코드를 삭제해주셔야합니다.
view.skin.php에서 삽입하는 코드는 문의게시판에 중요한 내용이 없다면 추가하지않아도 됩니다.
게시판 설정의 무조건 비밀글로 설정해두어도 충분합니다.
단지 2차 보안용일뿐..
추천
3
3
댓글 4개
잘쓰겠습니당.. 근데 관리자 말고는 번호가 안뜨고 검색이 안되요 ㅠ
아주 좋소.
잘쓰겠습니다.
그누보드 5에서 적용해도 잘 되네요.. 좋습니다.