특정게시물을 특정 아이디인 사람만 볼 수 있게 지정하는 스킨에서~
본문
특정게시물을 특정 아이디인 사람만 볼 수 있게 지정하는 스킨을 만들어서 사용하려고 합니다.
글 작성시 wr_1 에 아이디를 넣으면 해당 게시물은 그 아이디의 회원만 목록에서 보이게 했습니다.
그런데, 문제는 특정게시물에 아이디가 지정된 회원은 아이디로 지정된 게시물 외의 목록은 보이지가 않네요.
wr_1에 아이디를 지정해서 글을 작성하면
지정된 아이디의 회원은 자신의 아이디가 지정된 글과 다른 글이 목록에서 모두 보이게 하려면
어떻게 수정해야 할까요?
아래는 리스트 부분중 아이디로 걸러내는 부분의 소스 입니다.
# list.skin.php 소스
...... 생략 .......
<?php
for ($i=0; $i<count($list); $i++) {
if(!$is_admin && $list[$i]['wr_1'] != $member['mb_id']){
continue;}
?>
<tr class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?>">
<td class="td_num">
<?php
if ($list[$i]['is_notice']) // 공지사항
echo '<strong>공지</strong>';
else if ($wr_id == $list[$i]['wr_id'])
echo "<span class=\"bo_current\">열람중</span>";
else
echo $list[$i]['num'];
?>
</td>
<?php if ($is_checkbox) { ?>
<td class="td_chk">
<label for="chk_wr_id_<?php echo $i ?>" class="sound_only"><?php echo $list[$i]['subject'] ?></label>
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>">
</td>
<?php } ?>
<td class="td_subject">
<?php
echo $list[$i]['icon_reply'];
if ($is_category && $list[$i]['ca_name']) {
?>
<a href="<?php echo $list[$i]['ca_name_href'] ?>" class="bo_cate_link"><?php echo $list[$i]['ca_name'] ?></a>
<?php } ?>
<a href="<?php echo $list[$i]['href'] ?>">
<?php echo $list[$i]['subject'] ?>
<?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><?php echo $list[$i]['comment_cnt']; ?><span class="sound_only">개</span><?php } ?>
</a>
<?php
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
if (isset($list[$i]['icon_new'])) echo $list[$i]['icon_new'];
if (isset($list[$i]['icon_hot'])) echo $list[$i]['icon_hot'];
if (isset($list[$i]['icon_file'])) echo $list[$i]['icon_file'];
if (isset($list[$i]['icon_link'])) echo $list[$i]['icon_link'];
if (isset($list[$i]['icon_secret'])) echo $list[$i]['icon_secret'];
?>
</td>
<td class="td_name sv_use"><?php echo $list[$i]['name'] ?></td>
<td class="td_date"><?php echo $list[$i]['datetime2'] ?></td>
<td class="td_num"><?php echo $list[$i]['wr_hit'] ?></td>
<?php if ($is_good) { ?><td class="td_num"><?php echo $list[$i]['wr_good'] ?></td><?php } ?>
<?php if ($is_nogood) { ?><td class="td_num"><?php echo $list[$i]['wr_nogood'] ?></td><?php } ?>
</tr>
<?php } ?>
<?php if (count($list) == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table">게시물이 없습니다.</td></tr>'; } ?>
</tbody>
</table>
</div>
답변 2
if(!$is_admin && $list[$i]['wr_1'] != $member['mb_id']){continue;}
이부분때문에 리스트도 전부 삭제되는거같은데요. 저 부분을 빼고
<a href="<?php echo $list[$i]['href'] ?>">
이부분에
<?php
if(!$is_admin && $list[$i]['wr_1'] != $member['mb_id']){ ?>
<a href="javascript:" onclick="alert('글을 볼수있는 권한이 없습니다.')" >
<?php
} else { ?>
<a href="<?php echo $list[$i]['href'] ?>">
<?php
}
?>
이렇게 바꿔보세요
!-->
답변 감사합니다.
그런데 질문 드린 것은 글읽기 권한으로 막는 게 아니라
목록에서 보이지 않게 하는 방법을 찾고 있는 것인데, 혹시 한번더 답변해주실 수 있을까요?