특정레벨이상 회원에게 글수정 권한 주기 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

특정레벨이상 회원에게 글수정 권한 주기 정보

특정레벨이상 회원에게 글수정 권한 주기

본문

"특정레벨이상 회원들에게 게시판수정권한"을 주고 싶습니다.
질문게시판이나 팁게시판을 뒤져봐도 관련게시물이 없는것 같습니다.
 
아래 "특정레벨이상 회원에게 비밀글에도 글읽기 권한"을 주는 팁을 참조하려고 했으나
 
여의치 않네요.
 
 
그누보드 관리자설정 페이지에서 글읽기나 업로드권한 등등 다른것들은 레벨별로 권한을 부여하는게 있는데 유독 글수정권한을 레벨별로 부여하는 항목이 없는것은 참 아쉽네요. ㅡㅡ

댓글 전체

수정권한 레벨이 8이상이라고 가정하면...

bbs/view.php
// 수정, 삭제 링크
$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 = "javascript:del('./delete.php?bo_table=$bo_table&wr_id=$wr_id&page=$page".$qstr."');";
}

에서 아래부분 수정.
if (($member[mb_id] && ($member[mb_id] == $write[mb_id])) || $is_admin  || $member[mb_level] >= 8) {


bbs/write.php
if (!$is_admin) {
    if (!($member[mb_id] && $member[mb_id] == $write[mb_id]))
        if (sql_password($wr_password) != $write[wr_password])
            alert("패스워드가 틀립니다.");
}

에서, 아래부분 수정.
        if (sql_password($wr_password) != $write[wr_password] && $member[mb_level] < 8)

view.php에서 보시면 아시겠지만, 삭제권한도 같이 적용되니,
삭제권한을 별도로 하시려면 적절히 수정해주셔야 합니다. ^^;
오사마 빈라덴이 울고갈 그런 답변이었습니다. 바로 적용해 보았구요. 잘 됩니다.

그런데, 한가지!

자기보다 높은레벨의 회원이 작성한 글도 수정 및 삭제가 되는군요. 이 부분이 약간 아쉽네요. ^^;;

아뭏든 감사합니다. 오사마님.
요렇게하면 되지 않을까요...? ^^;
아래 코드의 경우는 레벨을 해당 게시판설정에서 여분필드1(bo_1)에 입력하도록 수정해보았습니다.
아무래도 필요에 따라 허용레벨을 바꾸어야 할 경우가 발생할지 모르니...

[bbs/view.php]

// 수정, 삭제 링크
$update_href = $delete_href = "";

$wr_member = get_member($write[mb_id]); // 글쓴이 정보
$update_level = $board[bo_1]; // 허용레벨은 게시판설정 여분필드1에 기입

$check_level = ($member[mb_level] >= $update_level && $member[mb_level] > $wr_member[mb_level]);

// 로그인중이고 자신의 글이라면 또는 관리자라면 패스워드를 묻지 않고 바로 수정, 삭제 가능
if ( ($member[mb_id] && ($member[mb_id] == $write[mb_id])) || $is_admin || $check_level ) {
    $update_href = "./write.php?w=u&bo_table=$bo_table&wr_id=$wr_id&page=$page" . $qstr;
    $delete_href = "javascript:del('./delete.php?bo_table=$bo_table&wr_id=$wr_id&page=$page".$qstr."');";
}


[bbs/write.php]

$wr_member = get_member($write[mb_id]); // 글쓴이 정보
$update_level = $board[bo_1]; // 허용레벨은 게시판설정 여분필드1에 기입

$check_level = ($member[mb_level] >= $update_level && $member[mb_level] > $wr_member[mb_level]);

if (!$is_admin) {
    if (!($member[mb_id] && $member[mb_id] == $write[mb_id]))
        if (sql_password($wr_password) != $write[wr_password] && !$check_level)
            alert("패스워드가 틀립니다.");
}
전체 4 |RSS

회원로그인

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