최근게시물에 열람권한 적용하기 (소스수정)

최근게시물에 열람권한 적용하기 (소스수정)

QA

최근게시물에 열람권한 적용하기 (소스수정)

본문

게시판 리스트 스킨 (list.skin.php) 에 아래 소스를 적용해서, wr_10 == '전부공개' 인 경우가 아니면 

5레벨 이상의 정회원만 열람 가능하도록 적용을 했습니다.

                    <?php 
                
                    if($list[$i]['wr_10']=='전부공개'){                         
                           echo "<a href='".$list[$i]['href']."'>";
                           echo $list[$i]['icon_reply'] ;

                            if (isset($list[$i]['icon_secret'])){ echo rtrim($list[$i]['icon_secret']);}
                                   echo $list[$i]['subject'] ;
                          echo "</a>";
                     }else{
                             if ($member['mb_level'] > 4) {
                           echo "<a href='".$list[$i]['href']."'>";
                           echo $list[$i]['icon_reply'] ;

                            if (isset($list[$i]['icon_secret'])){ echo rtrim($list[$i]['icon_secret']);}
                                   echo "<span style='color:#ccc;'>[m] </span>";
                                   echo $list[$i]['subject'] ;
                          echo "</a>";
                             }else{
                                echo "<span style='color:#ccc;'>[m] </span>";
                                echo $list[$i]['subject'] ;
                             }
                     }                     
                     ?>

 

이 부분을 최근게시물에도 적용하려면 어떻게 수정해야 할까요?

위에 list.skin.php 에 적용된 소스를 활용하여 해당게시물의 wr_10이 전부공개인 경우에만

모두가 볼 수 있고, 그 외에는 정회원 (5등급) 이상인 회원만 볼 수 있는 최근게시물로 적용하고 싶습니다.

 

아래 소스가 현재 사용중인 최근게시물의 리스트 부분 입니다.

    <ul>
    <?php for ($i=0; $i<count($list); $i++) {  ?>
        <li class="l_sub">
            <?php
            if ($list[$i]['is_notice']) {
                $notice_class = "class='notice_class' ";
                $txt = "<i class='fa fa-volume-up' aria-hidden='true'></i> ";
            } else {
                $notice_class = "";
                $txt = "";
            }

            echo "<a href='{$list[$i]['href']}' {$notice_class}>";
            echo $txt;
            echo $list[$i]['subject'];
            echo "</a>";

            if ($list[$i]['comment_cnt'])
                echo "<span style='font-size:10px;color:red;'>(".$list[$i]['comment_cnt']." )</span>";

            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'];
             ?>
        </li>
    <?php }  ?>

    <?php if (count($list) == 0) { //게시물이 없을 때  ?>
        <li>게시물이 없습니다.</li>
    <?php }  ?>
    </ul>

 

도움 및 조언 부탁 드립니다.

감사합니다.

이 질문에 댓글 쓰기 :

답변 3



<ul>
<?php for ($i=0; $i<count($list); $i++) {  
    // 'wr_10'이 전부공개인지 확인
    $is_public = ($list[$i]['wr_10'] == '전부공개');
    // 현재 사용자의 회원 등급 확인
    $user_level = $member['mb_level'];
    // 게시물 표시 조건
    $can_view = $is_public || (!$is_public && $user_level >= 5);

    if ($can_view) {
?>
    <li class="l_sub">
        <?php
        if ($list[$i]['is_notice']) {
            $notice_class = "class='notice_class' ";
            $txt = "<i class='fa fa-volume-up' aria-hidden='true'></i> ";
        } else {
            $notice_class = "";
            $txt = "";
        }

        echo "<a href='{$list[$i]['href']}' {$notice_class}>";
        echo $txt;
        echo $list[$i]['subject'];
        echo "</a>";

        if ($list[$i]['comment_cnt'])
            echo "<span style='font-size:10px;color:red;'>(".$list[$i]['comment_cnt']." )</span>";

        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'];
         ?>
    </li>
<?php 
    } 
}  ?>

<?php if (count($list) == 0) { //게시물이 없을 때  ?>
    <li>게시물이 없습니다.</li>
<?php }  ?>
</ul>


<ul>
<?php for ($i=0; $i<count($list); $i++) {  ?>
    <li class="l_sub">
        <?php
        if ($list[$i]['is_notice']) {
            $notice_class = "class='notice_class' ";
            $txt = "<i class='fa fa-volume-up' aria-hidden='true'></i> ";
        } else {
            $notice_class = "";
            $txt = "";
        }
        // wr_10 필드 값 확인
        $wr_10 = isset($list[$i]['wr_10']) ? $list[$i]['wr_10'] : '';
        if ($wr_10 == '전부공개' || $member['mb_level'] > 4) {
            echo "<a href='{$list[$i]['href']}' {$notice_class}>";
            echo $txt;
            if ($wr_10 != '전부공개' && $member['mb_level'] > 4) {
                echo "<span style='color:#ccc;'>[m] </span>";
            }
            echo $list[$i]['subject'];
            echo "</a>";
            if ($list[$i]['comment_cnt'])
                echo "<span style='font-size:10px;color:red;'>(".$list[$i]['comment_cnt']." )</span>";
            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'];
        } else {
            echo "<span style='color:#ccc;'>[m] </span>";
            echo $list[$i]['subject'];
        }
        ?>
    </li>
<?php }  ?>
<?php if (count($list) == 0) { //게시물이 없을 때  ?>
    <li>게시물이 없습니다.</li>
<?php }  ?>
</ul>
답변을 작성하시기 전에 로그인 해주세요.
전체 227
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT