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

게시판전체를 글쓴사람과 관리자만볼수있도록 채택완료

qwfqwfqw 8년 전 조회 3,346
게시판전체를 글쓴사람과 관리자만 볼수있도록하고싶어요 어떻게해야되나요
댓글을 작성하려면 로그인이 필요합니다.

답변 5개

Dessi
8년 전

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>

로그인 후 평가할 수 있습니다

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

8년 전

그럼 그냥 스킨에서 이렇게하세요 

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 } ?>

로그인 후 평가할 수 있습니다

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

8년 전

그누보드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개

q
qwfqwfqw
8년 전
작은별님 질문이 있는데요
alert값이 계속나오고있는데
게시글을 모든사람이 읽는데 글쓴내용만 따로 1:1문의처럼 하고싶은데 어떻게해야되나요?
작은별
8년 전
글쓴 내용만 1:1 문의로 한다는 것이 정확히 뭔지 모르겠습니다.
글을 모두 읽을 수 있는데 내용은 1:1로 하는 건 모순이 되는데요
단지 클릭은 되고 안에 내용만 감추는 건가요?
q
qwfqwfqw
8년 전
아아 질문이 잘못됫네요
1:1문의처럼 페이지는 들어가지되 안에 내용을 관리자와 회원만 보도록하고싶은데

작은별님이 위에남겨주신 코드를 한번 적용시켜봤는데 alert 구문이 무한반복되고...
페이지 자체가 글쓴이와 회원이아니면 들어갈수 없도록 되어있습니다 !!

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

그누위즈

bbs/list.php 파일에서 수정하시면 되는데

설명하기는 조금 힘드네요..

곧 답변을 드리겠습니다..

로그인 후 평가할 수 있습니다

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

8년 전

게시판 설정에 무조건 비밀글 하시면 되는거 아닌가요? 다른 기능이 더 필요하신건가요?

로그인 후 평가할 수 있습니다

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

답변을 작성하려면 로그인이 필요합니다.

로그인