특정 카테고리는 관리자만 등록할수 있게할수 있나요? > 그누4 질문답변

그누4 질문답변

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

특정 카테고리는 관리자만 등록할수 있게할수 있나요? 정보

특정 카테고리는 관리자만 등록할수 있게할수 있나요?

본문

A~Z까지의 카테고리가 있는데 일반 회원은 C를 제외한 카테고리에 글작성이 가능하구요..
관리자만 C카테고리에 글을 작성할수 있게 하려면 어떻게해야할까요?

예를들어서 일반회원이 로그인하면 카테고리 리스트에 C가 빠져서 출력이 되구요.
관리자일경우 전부 출력이 되면 될꺼 같은데요...^^

꼭~~ 알려주세용..^^

댓글 전체

common.lib.php 에 다음과 같은 함수에 의하여
게시판 글쓰기 카테고리를 $category_option 변수로 넘겨주는 형태입니다.


//-------------common.lib.php
// 분류 옵션을 얻음
// 4.00 에서는 카테고리 테이블을 없애고 보드테이블에 있는 내용으로 대체
function get_category_option($bo_table='')
{
    global $g4, $board;

    /*
    $sql = " select bo_category_list from $g4[board_table] where bo_table = '$bo_table' ";
    $row = sql_fetch($sql);
    $arr = explode("|", $row[bo_category_list]); // 구분자가 , 로 되어 있음
    */
    $arr = explode("|", $board[bo_category_list]); // 구분자가 , 로 되어 있음
    $str = "";
    for ($i=0; $i<count($arr); $i++)
        if (trim($arr[$i]))

            //조건절을 이용하여 아래 내용을 바꿉니다.
            $str .= "<option value='$arr[$i]'>$arr[$i]</option>\n";
          //바꿀곳 끝
    return $str;
}


//-------------write.php
$is_category = false; //초기화
if ($board[bo_use_category]) { //카테고리를 사용한다면
    $ca_name = $write[ca_name]; //카테고리값을 가져와서
    $category_option = get_category_option($bo_table); // select 박스의 옵션값 형태로 얻는다 common.lib.php 참고
    $is_category = true; //카테고리 사용으로 처리
}

방법 : is_admin 이 true이면 관리자라는 뜻입니다. 조건절을 이용하여 get_category_option 함수를 수정합니다.

if($is_admin) {//관리자면 출력
    $str .= "<option value='$arr[$i]'>$arr[$i]</option>\n";
}else {//관리자가 아니면
    if($arr[$i] == "특정카테고리") {//막고자 하는 카테고리이겠죠 일단은 주석처리를 해서 테스트를 해봅시다.
        $str .= "<!--<option value='$arr[$i]'>$arr[$i]</option>-->\n";
    }else {//관리자도 아니고, 막고자 하는 카테고리가 아닌것만 출력
        $str .= "<option value='$arr[$i]'>$arr[$i]</option>\n";
    }
}

이렇게 하면 되는데.. 문제는 모든 게시판에 적용이 된다는 것이구요 특정게시판만 적용할꺼라면 조금더 조건을 추가해야겠죠 특정게시판의 판별은 $bo_table을 가지고 하면 됩니다.

도움이 되셨다면 추천 부탁드립니다.
답변감사드립니다.

//바꿀곳 끝

이곳에
if($is_admin) {//관리자면 출력
    $str .= "<option value='$arr[$i]'>$arr[$i]</option>\n";
}else {//관리자가 아니면
    if($arr[$i] == "특정카테고리") {//막고자 하는 카테고리이겠죠 일단은 주석처리를 해서 테스트를 해봅시다.
        $str .= "<!--<option value='$arr[$i]'>$arr[$i]</option>-->\n";
    }else {//관리자도 아니고, 막고자 하는 카테고리가 아닌것만 출력
        $str .= "<option value='$arr[$i]'>$arr[$i]</option>\n";
    }
}
위 소스를 넣어라는 말씀이신지요...
그래도 않되더라구요..ㅠㅜ

무튼 답변 해주신거 대단히 감사드립니다.
소스 잘 만지작 만지작해서 해볼께요....잘 되어야 할텐데~
^^
 $str .= "<option value='$arr[$i]'>$arr[$i]</option>\n";


이부분을 삭제하고




if($is_admin) {//관리자면 출력
    $str .= "<option value='$arr[$i]'>$arr[$i]</option>\n";
}else {//관리자가 아니면
    if($arr[$i] == "특정카테고리") {//막고자 하는 카테고리이겠죠 일단은 주석처리를 해서 테스트를 해봅시다.
        $str .= "<!--<option value='$arr[$i]'>$arr[$i]</option>-->\n";
    }else {//관리자도 아니고, 막고자 하는 카테고리가 아닌것만 출력
        $str .= "<option value='$arr[$i]'>$arr[$i]</option>\n";
    }
}

위소스를 넣어라는 말씀인거죠? 한참 헤맷습니다...
그런데 관리자, 일반인 모두 특정카테고리가 출력이 않되더라구요..
관리자일때문 나와야하는데 말이죠...ㅠㅜ
전체 18 |RSS
그누4 질문답변 내용 검색

회원로그인

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