특정게시물을 특정 아이디인 사람만 볼 수 있게 지정하는 스킨에서~ 채택완료
특정게시물을 특정 아이디인 사람만 볼 수 있게 지정하는 스킨을 만들어서 사용하려고 합니다.
글 작성시 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개
답변 감사합니다.
그런데 질문 드린 것은 글읽기 권한으로 막는 게 아니라
목록에서 보이지 않게 하는 방법을 찾고 있는 것인데, 혹시 한번더 답변해주실 수 있을까요?
답변에 대한 댓글 2개
어제는 빠르게 해결을 해야해서 미채택완료로 하고, 질문을 다시 올려서 처리했네요.
알려주신 소스도 잘 살펴보겠습니다.
댓글을 작성하려면 로그인이 필요합니다.
if(!$is_admin && $list[$i]['wr_1'] != $member['mb_id']){continue;}
이부분때문에 리스트도 전부 삭제되는거같은데요. 저 부분을 빼고
<a href="<?php echo $list[$i]['href'] ?>">
이부분에
</p>
<p><?php</p>
<p>if(!$is_admin && $list[$i]['wr_1'] != $member['mb_id']){ ?></p>
<p> <a href="javascript:" onclick="alert('글을 볼수있는 권한이 없습니다.')" >
<?php</p>
<p>} else { ?></p>
<p> <a href="<?php echo $list[$i]['href'] ?>"></p>
<p><?php</p>
<p>}</p>
<p>?></p>
<p>
이렇게 바꿔보세요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
게시글리스트에서 해당글의 wr_1에 지정된 id가 해당 글리스트만 출력하고 싶으시다는거 였나요..?
원래 쓰시던 소스로 돌렸을때 무엇이 문제인지 조금 명확히 질문좀 다시부탁드릴게요 ㅠ 저는 위에 질문에서
"지정된 아이디의 회원은 자신의 아이디가 지정된 글과 다른 글이 목록에서 모두 보이게 하려면
어떻게 수정해야 할까요?"
이부분을 보고 답변드린거였어요