공지사항 글 제목과 글쓴이 보기권한
관련링크
본문
베이직 게시판에
1.글제목과 글쓴이 보기권한을 넣어 자기가 쓴글 외에는 글제목과 글쓴이를 볼수없게 만들어놨습니다.
물론 관리자는 글제목과 글쓴이를 모두 볼 수 있습니다.(해당게시판은 비밀글 사용은 '무조건'입니다.)
코드는 아래와 같습니다.
----------------------------------------------------------------------------------------------------------------
<!-- 게시판 제목을 보이지 않게 하는 부분 시작 -->
<!-- ?php echo $list[$i]['subject'] ?> 원본 -->
<?php if($member['mb_level'] < '3' and $member[mb_id] != $list[$i]['mb_id']){echo "제목을 볼 권한이 없습니다.";}else{echo $list[$i][wr_subject];}?>
<!-- 게시판 제목을 보이지 않게 하는 부분 끝 -->
- 중간생략 -
<!-- 게시판 게시글 작성자 이름 보이는 부분 시작 -->
<!-- <td class="td_name sv_use">?php echo $list[$i]['name'] ?></td> 원본 -->
<td class="td_name sv_use"><?php if($member['mb_level'] < '3' and $member[mb_id] != $list[$i]['mb_id']){echo "비공개";}else{echo $list[$i][wr_name];}?></td>
<!-- 게시판 게시글 작성자 이름 보이는 부분 끝 -->
----------------------------------------------------------------------------------------------------------------
2. 그런데 공지사항으로 올라간 글제목과 글쓴이도 볼수없게 되어서,
extend/user.config.php파일에서 공지사항을 볼수있는 권한을 강제로 레벨2로 변경했습니다.
코드는 아래와 같습니다.
----------------------------------------------------------------------------------------------------------------
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<?php
// 공지글의 경우 권한설정 배재하기
if($bo_table && $wr_id){
$notice = sql_fetch("select bo_notice from {$g5['board_table']} where bo_table='$bo_table' ");
$notice_arr = array_map('trim', explode(',', $notice['bo_notice']));
$notice_chk = in_array($wr_id, $notice_arr);
// 공지글의 경우 해당게시판 읽기권한을 강제로 1로 변경함.
if($notice_chk == true){
$board['bo_read_level'] = 2;
}
}
?>
----------------------------------------------------------------------------------------------------------------
3. 공지사항을 클릭하면 글을 볼수는 있지만, 제목과 글쓴이가 '제목을 볼 권한이 없습니다.',와 '비공개'로 되어 있어서 클릭을 안할거 같은데요.
공지사항 게시글에 대해서만 글제목과 글쓴이만 원래 제목과 글쓴이가 표시되게 할수는 없는지요.
고수님들의 조언부탁드립니다.
답변 1
extend. 안써도 if문 잘짜면 가능할것 같아요.
if($member['mb_level'] < '2'){ //2레벨 미만이면 어떠한 경우에도 글제목 안보이고 작성자 안보임
$list[$i]['wr_subject'] = "제목을 볼 권한이 없습니다.";
$list[$i]['wr_name'] = "비공개";
}else{ //2레벨 이상이라면
if($list[$i]['is_notice']){ //레벨 이상이고 공지라면 글제목 보이고 아이디 그대로 출력
$list[$i]['wr_subject'] = $list[$i]['wr_subject'];
$list[$i]['wr_name'] = $list[$i]['wr_name'];
}else{ //공지가 아니라면
if($member['mb_level'] < '3' && $member[mb_id] != $list[$i]['mb_id']){ //공지가 아니고 3레벨 이하이고 글작성자가 아니라면
$list[$i]['wr_subject'] = "제목을 볼 권한이 없습니다.";
$list[$i]['wr_name'] = "비공개";
}
}
}
echo $list[$i]['wr_subject'];
echo $list[$i]['wr_name'];