1:1 상담(문의)게시판으로 바꿔보기 > 그누4 팁자료실

그누4 팁자료실

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

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

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

첨부파일

list.skin(2).php (2.2K) 70회 다운로드 2012-09-18 16:43:15
view.skin(2).php (994byte) 8회 다운로드 2012-09-18 16:43:15

본문

/skin/board/스킨명/list.skin.php 위에 삽입
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

댓글 4개

전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT