그누보드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']) {
수정해 주시면 될 겁니다.
그러나 위 두부분은 그누보드 전체에 걸쳐서 영향을끼치는 구문으로 다른 모든 게시판도 영향을 받아 꼬일 수 있습니다. 이부분은 참고해주세요
!-->!-->
제가 테스트 해 보지않고 이런 부분을 수정하면 되겠다고 대충 생각해서 적은 내용입니다.
밑에 아침안개님이 적으신 내용중에 비밀번호 오류와 관련된 부분이 있네요. 아침안개님이 적으신 글도 참고해서 수정해 주시면 될 것 같습니다.