특정 회원들만 게시판의 내용을 볼 수 있게 여러 아이디를 지정해서 글읽기
본문
특정 회원들만 게시판의 내용을 볼 수 있게 여러 아이디를 지정해서 글읽기를 하고 싶은데,
질문사항 1)
게시판의 읽기 권한을 특정 여러개의 아이디에게 줄 수 있는 방법은 없나요?(권한레벨 설정 말구요)
-----------------------------------------------------------------------------------------------------------
위 궁금증을 해결하기 위해 검색하던 중에
그누 스터디에서 아래와 같은 내용을 찾았습니다.
[특정 회원만 게시판 내용을 볼 수 있게 아이디를 지정해서 글 등록하기 ]
물론 게시판에 적용이 아니라 올리는 글마다 지정을 해야하는 번거로움은 있네요.
질문사항 2)
그누 스터디에서 찾은 것으로 비슷하게 해결을 할 수 있을듯 한데,
문제는 이방법으로는 1개의 아이디만 지정가능한 것 같습니다.
여러개의 아이디를 지정하려면 어떻게 해야할까요?
(초보입니다. 고수님들 도움 부탁드립니다~ )
아래는 그누 스터디에서 찾은 소스 입니다.
---------------------------------------------------------------------------------------------------
게시판에 글을 등록할 때 회원 아이디를 지정해서 해당 회원만 내용을 볼 수 있게 만드는 방법입니다.
게시판 여분 필드 wr_1 번을 사용했습니다.
여분 필드 1번으로 값을 입력받아서 현재 로그인된 회원 아이디 값과 비교하는 단순한 방법입니다.
1. 수정파일 : write.skin.php
적당한 위치에 아래 내용 추가
<?php if($is_admin) { ?>
<div class="write_div">
<label for="wr_1" class="sound_only">아이디지정</label>
<input type="text" name="wr_1" value="<?php echo $wr_1 ?>" id="wr_1" class="frm_input full_input" size="50" placeholder="지정아이디 입력">
</div>
<?php } ?>
2. 수정 파일 : view.skin.php
파일 상단
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
여기 아래에 추가
if (!$is_admin && $view['wr_1'] && $member['mb_id'] != $view['wr_1']) {
alert('권한이 없습니다.');
}
부연 설명
!$is_admin 관리자가 아니고 &&
$view['wr_1'] 해당 필드에 회원 아이디 값이 입력되어 있고 &&
$member['mb_id'] != $view['wr_1'] 입력된 회원 아이디와 현재 로그인한 아이디가 일치하지 않으면..
alert('권한이 없습니다.'); 알림 문구 출력
답변 2
extend/user.config.php에 아래처럼 해주면 되겠습니다
if($bo_table=='free'){
accessID=array('admin','asdfg','a123','kkk3'); //<-- 접속 가능한 아이디
if( !in_array($member[mb_id], accessID)) alert("접속권한 없음", "/");
}
wr_1 여분필드에 회원아이디를 콤마구분으로 입력하게합니다.
ex) test1,test2,test3
이런식으로 입력하여
view.skin.php
페이지의 상단에서 해당 여분필드의 값을 콤마구분으로 짤라서
현재 게시글을 읽으려는 회원이 포함되있다면 읽기가 가능하도록 구현하시면됩니다.