답변 5개
1:1 문의 게시판 스킨을 참고하시면 됩니다.
nine님의 1:1 문의 게시판 소스를 참고했습니다.
https://sir.kr/g4_skin/150821">https://sir.kr/g4_skin/150821
참고
list.skin.php 상단에 아래 코드를 추가하시고
</p><p>// 공지가져오기</p><p>$noticeNumS = str_replace("\n",",",$board[bo_notice]);</p><p>$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;";</p><p>$result2 = sql_query($bb_query2);</p><p>$list2A = array();</p><p>while ($row = sql_fetch_array($result2))</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>$row = get_list($row, $board, $g4[path].'/skin/board/'.$board[bo_skin], $board[bo_subject_len]);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>array_push($list2A, $row);</p><p>}</p><p> </p><p>// 해당 사용자가 쓴 글의 번호를 얻어 옴.</p><p>$bb_query1 = "select * from `{$write_table}` where 1 and mb_id like '{$member[mb_id]}'";</p><p> </p><p>$result1 = sql_query($bb_query1);</p><p>$list1A = array();</p><p>while ($row = sql_fetch_array($result1))</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>$list1S = $row[wr_num].",".$list1S;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>//array_push($list1A, $row[wr_num]);</p><p>}</p><p> </p><p>// 페이징 처리</p><p>$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;";</p><p>$bb_result_total = sql_query($bb_query_total);</p><p>$bb_total_count = mysql_num_rows($bb_result_total);</p><p> </p><p>$bb_total_page = ceil($bb_total_count / $board[bo_page_rows]); // 전체 페이지 계산</p><p>if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)</p><p>$bb_from_record = ($page - 1) * $board[bo_page_rows]; // 시작 열을 구함</p><p> </p><p>$bb_url = "./board.php?bo_table={$board[bo_table]}&page=";</p><p>$bb_write_pages = get_paging( $board[bo_page_rows], $page, $bb_total_page, $bb_url, $add="");</p><p> </p><p>// 공지글, 해당사용자가 쓴 글과 관련된 게시물 가져오기</p><p>$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];";</p><p>$result3 = sql_query($bb_query3);</p><p>$list3A = array();</p><p>while ($row = sql_fetch_array($result3))</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>$row = get_list($row, $board, $g4[path].'/skin/board/'.$board[bo_skin], $board[bo_subject_len]);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>array_push($list2A, $row);</p><p>}</p><p> </p><p>if ( !$is_admin) {</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>$total_count = $bb_total_count;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>$list = $list2A;</p><p> $write_pages = $bb_write_pages;</p><p>}</p><p>
그누보드 구조를 아는 회원은 wr_id의 값을 바꿔서 뷰페이지를 열람할수 있으므로 뷰도 바꿔줘야합니다.
view.skin.php
</p><p>if (!(($member[mb_id] && ($member[mb_id] == $write[mb_id])) || $member[mb_level] >= 9 || $is_admin)) // 글쓴회원, 레벨9이상, 관리자가 아니라면 </p><p>alert("신청자 본인만 글 열람이 가능합니다."); </p><p>?></p><p>
댓글을 작성하려면 로그인이 필요합니다.
그럼 그냥 스킨에서 이렇게하세요
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']; // {이미지:0} 과 같은 코드를 사용할 경우 ?>
<!-- } 본문 내용 끝 -->
<?php } else { ?>
본인이 작성한 글만 열람 가능합니다.
<?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");
}
...
...
...
답변에 대한 댓글 3개
글을 모두 읽을 수 있는데 내용은 1:1로 하는 건 모순이 되는데요
단지 클릭은 되고 안에 내용만 감추는 건가요?
1:1문의처럼 페이지는 들어가지되 안에 내용을 관리자와 회원만 보도록하고싶은데
작은별님이 위에남겨주신 코드를 한번 적용시켜봤는데 alert 구문이 무한반복되고...
페이지 자체가 글쓴이와 회원이아니면 들어갈수 없도록 되어있습니다 !!
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
alert값이 계속나오고있는데
게시글을 모든사람이 읽는데 글쓴내용만 따로 1:1문의처럼 하고싶은데 어떻게해야되나요?