그누보드5 기본 view.skin.php문의 드립니다.

그누보드5 기본 view.skin.php문의 드립니다.

QA

그누보드5 기본 view.skin.php문의 드립니다.

본문

wiew.skin.php


 <!-- 게시물 상단 버튼 시작 { -->
    <!-- } 게시물 상단 버튼 끝 -->
        <?php
        ob_start();
         ?>
        <?php if ($prev_href || $next_href) { ?>
        <ul class="bo_v_nb">
            <?php if ($prev_href) { ?><li><a href="<?php echo $prev_href ?>" class="btn_b01">이전글</a></li><?php } ?>
            <?php if ($next_href) { ?><li><a href="<?php echo $next_href ?>" class="btn_b01">다음글</a></li><?php } ?>
        </ul>
        <?php } ?>
        <ul class="bo_v_com">
            <?php if ($update_href) { ?><li><a href="<?php echo $update_href ?>" class="btn_b01">수정</a></li><?php } ?>
            <?php if ($delete_href) { ?><li><a href="<?php echo $delete_href ?>" class="btn_b01" onclick="del(this.href); return false;">삭제</a></li><?php } ?>
            <?php if ($copy_href) { ?><li><a href="<?php echo $copy_href ?>" class="btn_admin" onclick="board_move(this.href); return false;">복사</a></li><?php } ?>
            <?php if ($move_href) { ?><li><a href="<?php echo $move_href ?>" class="btn_admin" onclick="board_move(this.href); return false;">이동</a></li><?php } ?>
            <?php if ($search_href) { ?><li><a href="<?php echo $search_href ?>" class="btn_b01">검색</a></li><?php } ?>
            <li><a href="<?php echo $list_href ?>" class="btn_b01">목록</a></li>
            <?php if ($reply_href) { ?><li><a href="<?php echo $reply_href ?>" class="btn_b01">답변</a></li><?php } ?>
            <?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b02">글쓰기</a></li><?php } ?>
        </ul>
        <?php
        $link_buttons = ob_get_contents();
        ob_end_flush();
         ?>
    </div>
    <!-- } 게시물 상단 버튼 끝 -->​

 

버튼 소스 인데요.

 

게시물 수정버튼이 글쓴이와 관리자계정에만 나오는데

게시물 수정을 2레벨 사용자 이상 누구나 할 수 있게 가능 할까요?

소스 수정 파일 위치가 view.skin.php는 맞나요 ;;?;;;?;;;

 

슈퍼 초보가 고수님들에게 자문을 구합니다.


 

 

 

이 질문에 댓글 쓰기 :

답변 3

/bbs/view.php

수정전

// 로그인중이고 자신의 글이라면 또는 관리자라면 비밀번호를 묻지 않고 바로 수정, 삭제 가능
if (($member['mb_id'] && ($member['mb_id'] == $write['mb_id'])) || $is_admin) {

 

수정후

// 로그인중이고 자신의 글이라면 또는 관리자라면 비밀번호를 묻지 않고 바로 수정, 삭제 가능​

if ($member['mb_level'] >= 2) {

 

 

/bbs/write.php

수정전

    if (!$is_admin) {
                if (!($is_member && $member['mb_id'] == $write['mb_id'])) {
            if (sql_password($wr_password) != $write['wr_password']) {
                alert('비밀번호가 틀립니다.');​

 

수정후

    if (!$is_admin) {
                if (!($member[mb_level] >= 2)) {
            if (sql_password($wr_password) != $write['wr_password']) {
                alert('비밀번호가 틀립니다.');​

 

/bbs/write_update.php

수정전

    } else if ($member['mb_id']) {
            if ($member['mb_id'] != $write['mb_id'])
            alert('자신의 글이 아니므로 수정할 수 없습니다.', $return_url);​

 

수정후

    } else if ($member['mb_id']) {
            if (!$member[mb_level] >= 2)
            alert('자신의 글이 아니므로 수정할 수 없습니다.', $return_url);​

 

이렇게 하시면 됩니다 

스킨이 아니라 /bbs/view.php 파일과 write_update파일을 같이 수정해 주셔야 합니다.

 

/bbs/view.php 70라인 


// 수정, 삭제 링크
$update_href = $delete_href = '';
// 로그인중이고 자신의 글이라면 또는 관리자라면 비밀번호를 묻지 않고 바로 수정, 삭제 가능
if (($member['mb_id'] && ($member['mb_id'] == $write['mb_id'])) || $is_admin) {
    $update_href = './write.php?w=u&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
    $delete_href = './delete.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.urldecode($qstr);
    if ($is_admin)
    {
        set_session("ss_delete_token", $token = uniqid(time()));
        $delete_href ='./delete.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&token='.$token.'&page='.$page.urldecode($qstr);
    }
} 

 

/bbs/write_update.php

 103라인
    // 김선용 1.00 : 글쓰기 권한과 수정은 별도로 처리되어야 함
    if($w =='u' && $member['mb_id'] && $wr['mb_id'] == $member['mb_id']) {
        ;
    } else if ($member['mb_level'] < $board['bo_write_level']) {
        alert('글을 쓸 권한이 없습니다.');
    }
    // 외부에서 글을 등록할 수 있는 버그가 존재하므로 공지는 관리자만 등록이 가능해야 함
    if (!$is_admin && $notice) {
        alert('관리자만 공지할 수 있습니다.');
    } 
 

 

위의 두 부분인데요. 첫번째 소스에서

if (($member['mb_id'] && ($member['mb_id'] == $write['mb_id'])) || $is_admin) {

->if (($member['mb_id'] && ($member['mb_level'] >=2) || $is_admin) { 으로 수정

 

두번째 소스에서

if($w =='u' && $member['mb_id'] && $wr['mb_id'] == $member['mb_id']) {

-> if($w =='u' && $member['mb_id']) {

 

수정해 주시면 될 겁니다.

 

그러나 위 두부분은 그누보드 전체에 걸쳐서 영향을끼치는 구문으로 다른 모든 게시판도 영향을 받아 꼬일 수 있습니다. 이부분은 참고해주세요 

 

제가 테스트 해 보지않고 이런 부분을 수정하면 되겠다고 대충 생각해서 적은 내용입니다.

 

밑에 아침안개님이 적으신 내용중에 비밀번호 오류와 관련된 부분이 있네요. 아침안개님이 적으신 글도 참고해서 수정해 주시면 될 것 같습니다. 

답변을 작성하시기 전에 로그인 해주세요.
전체 59,772
QA 내용 검색

회원로그인

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