일전에 회원권한에 따라서 최근게시물의 게시판 제목과 글제목에 걸릴 링크를 제어할 수 있는 방법을 궁리하다가 알아낸 방법인데 알고 봤더니 여기 있는 팁이더라구요.
그래도 저랑은 해결방법이 달라서 한 번 올려봅니다. 최근게시물 스킨을 두개 만드는 방법이 아니니 만큼 더 쉬울 수도 있고 권한을 제어 하기더 쉽습니다.
제 방법은 게시판 관리자가 게시판의 권한을 설정한 값에 따라 반영되는 것입니다.
우선 zeroboard폴더의 outlogin.php파일을 엽니다.
그리고 대략 183라인의 print_bbs 함수가 시작되는 부분을 찾아서 다음과 같이 수정합니다.
function print_bbs($skinname, $title, $id, $num=5, $textlen=30, $datetype="Y/m/d") {
global $_zb_path, $_zb_url, $connect, $t_board, $admin_table, $member;
바뀐 부분은 $member변수만 넣어 준것 뿐입니다. 이는 회원의 각종 권한을 읽어오기 위해서 필요하겠죠.
그 다음 본격적으로 239라인의
$main = str_replace("[subject]","<a href='".$_zb_url.$target."&no=$data[no]'>".$subject."</a>",$main);
이 부분을 다음과 같이 수정합니다.
if($member[level] > $setup[grant_view]){//게시판의 보기 권한과 회원의 권한을 체크
$main = str_replace("[subject]",$subject,$main);//권한없으면 기냥 글만 출력
}else{//있으면
$main = str_replace("[subject]","<a href='".$_zb_url.$target."&no=$data[no]'>".$subject."</a>",$main);//링크 걸어주고
}
그리고 한 곳 이 더 남았습니다. 244라인의
$list = str_replace("[title]","<a href='".$_zb_url."zboard.php?id=".$id."'>".$title."</a>",$list);
이 부분을 다음과 같이 수정합니다.
if($member[level] > $setup[grant_list]){//목록보기 권한을 체크
$list = str_replace("[title]",$title,$list);//없으면 기냥 글말 출력
}else{//있으면
$list = str_replace("[title]","<a href='".$_zb_url."zboard.php?id=".$id."'>".$title."</a>",$list);//링크 걸어주고...
}
최근게시물 추룰할 때에는 그냥 평상시 하시던 대로 하시면 됩니다. 관리자가 게시판관리화면에서 설정한 값을 그대로 가져와서 쓰기 때문에 실시간 반영 가능합니다!
출처 : http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=1&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=%20회원권한에%20따라%20&select_arrange=headnum&desc=asc&no=6424