게시판전체를 글쓴사람과 관리자만볼수있도록
본문
답변 5
게시판 설정에 무조건 비밀글 하시면 되는거 아닌가요? 다른 기능이 더 필요하신건가요?
bbs/list.php 파일에서 수정하시면 되는데
설명하기는 조금 힘드네요..
곧 답변을 드리겠습니다..
그누보드4 기준 /bbs/list.php 파일에서 // wr_id 값이 있으면 글읽기 위치를 찾은 후
빨간색 부분 추가..
// wr_id 값이 있으면 글읽기
if ($wr_id)
{
// 자신의 글이거나 관리자라면 통과
if (($write['mb_id'] && $write['mb_id'] == $member['mb_id']) || $is_admin) {
;
} else {
alert('본인이 작성한 글만 열람 가능합니다.', "./board.php?bo_table=$bo_table");
}
...
...
...
그럼 그냥 스킨에서 이렇게하세요
view.skin.php 파일에서 빨간색 부분 추가
<section id="bo_v_atc">
<h2 id="bo_v_atc_title">본문</h2>
<?php if (($view['mb_id'] == $member['mb_id']) || $is_admin) { ?>
<?php
// 파일 출력
$v_img_count = count($view['file']);
if($v_img_count) {
echo "<div id=\"bo_v_img\">\n";
for ($i=0; $i<=count($view['file']); $i++) {
if ($view['file'][$i]['view']) {
//echo $view['file'][$i]['view'];
echo get_view_thumbnail($view['file'][$i]['view']);
}
}
echo "</div>\n";
}
?>
<!-- 본문 내용 시작 { -->
<div id="bo_v_con"><?php echo get_view_thumbnail($view['content']); ?></div>
<?php//echo $view['rich_content']; // 과 같은 코드를 사용할 경우 ?>
<!-- } 본문 내용 끝 -->
<?php } else { ?>
본인이 작성한 글만 열람 가능합니다.
<?php } ?>
1:1 문의 게시판 스킨을 참고하시면 됩니다.
nine님의 1:1 문의 게시판 소스를 참고했습니다.
참고
list.skin.php 상단에 아래 코드를 추가하시고
// 공지가져오기
$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;
//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;
}
그누보드 구조를 아는 회원은 wr_id의 값을 바꿔서 뷰페이지를 열람할수 있으므로 뷰도 바꿔줘야합니다.
view.skin.php
if (!(($member[mb_id] && ($member[mb_id] == $write[mb_id])) || $member[mb_level] >= 9 || $is_admin)) // 글쓴회원, 레벨9이상, 관리자가 아니라면
alert("신청자 본인만 글 열람이 가능합니다.");
?>