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개 / 댓글 2개
/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);
이렇게 하시면 됩니다
답변에 대한 댓글 1개
제가 테스트 해 보지않고 이런 부분을 수정하면 되겠다고 대충 생각해서 적은 내용입니다.
밑에 아침안개님이 적으신 내용중에 비밀번호 오류와 관련된 부분이 있네요. 아침안개님이 적으신 글도 참고해서 수정해 주시면 될 것 같습니다.
스킨이 아니라 /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']) {
수정해 주시면 될 겁니다.
그러나 위 두부분은 그누보드 전체에 걸쳐서 영향을끼치는 구문으로 다른 모든 게시판도 영향을 받아 꼬일 수 있습니다. 이부분은 참고해주세요
답변에 대한 댓글 1개
주신소스로 테스트 해봣는데
(비밀번호가 틀립니다.) 하면서 수정이 안되는데
추가로 수정해야될 부분이 있나요?
답변을 작성하려면 로그인이 필요합니다.
하라는데로 하니 됩니다 ! ^&^
감사합니다!! 많이 배우게 되네요.