테스트 사이트 - 개발 중인 베타 버전입니다

비추천이 일정횟수 이상일때 블라이드 기능 (2017-11-19 18:03 수정)

· 7년 전 · 4815 · 8

본 강좌의 내용이 최신내용이 아닐수 있습니다

최초 강좌 게시후 업데이트는 게시글 본문 위 링크를 통해서 진행됩니다

가급적 이곳도 업데이트를 하려고 하지만, 꼭 같이 반영되지는 않습니다

본 강좌 적용시 위 링크의 강좌내용과 비교해서 선택적으로 사용하시기 바랍니다

 

 

게시판 설정에서 비추천 기능을 사용할 때만 작동하며
게시판 추가필드  wr_5 에  블라인드 기준이 되는 비추천수를 사용합니다.

블라인드 되면 링크  제거됨 , 관리자일때는 링크 사용 가능


1. 그누보드5 / skin / board / basic / list.skin.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'];

를 다음과 같이 변경

                <?php
                // 신고글 관련 시작
                if ($board['bo_use_nogood']) {
                    $siren = "";
                    if ($board['bo_5_subj'] != "블라인드 비추천수")
                        sql_query("update ".$g5['board_table']." set bo_5_subj='블라인드 비추천수' where bo_table='".$bo_table."'", false); 
                    if ($board['bo_5']=="") {
                        sql_query("update ".$g5['board_table']." set bo_5='5' where bo_table='".$bo_table."'", false); 
                    }
                    
                    //echo $list[$i]['wr_nogood']."<br>";
                    //echo $board['bo_5']."<br>";
                    if ($list[$i]['wr_nogood'] >= $board['bo_5']){ //  신고횟수 지정
                        $siren = "Y";
                    }
                }
                
                if ($siren=="Y") { 
                    if ($is_admin) { echo "<a href='". $list[$i]['href'] ."'>"; }
                    echo "&#128680; <span style='color:#bababa;text-decoration: line-through;'>".$list[$i]['subject']."";
                    if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><?php echo $list[$i]['comment_cnt']; ?><span class="sound_only">개</span><?php }
                    echo $list[$i]['icon_secret'];
                    echo "</span>";
                    if ($is_admin) { echo "</a>"; }
                } else { //신고글 아닐때
                ?>
                <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'];
                
                } // 신고글 관련 끝 
                ?>


2. 그누보드5 / skin / board / basic / view.skin.php

        <?php
        // 파일 출력
        $v_img_count = count($view['file']);
        if($v_img_count) {
            echo "<div id=\"bo_v_img\">\n";
            for ($i=0; $i<=count($view['file']); $i++) {
                if ($view['file'][$i]['view']) {
                    //echo $view['file'][$i]['view'];
                    echo get_view_thumbnail($view['file'][$i]['view']);
                }
            }
            echo "</div>\n";
        }
         ?>
        <!-- 본문 내용 시작 { -->
        <div id="bo_v_con"><?php echo get_view_thumbnail($view['content']); ?></div>
        <?php//echo $view['rich_content']; // {이미지:0} 과 같은 코드를 사용할 경우 ?>
        <!-- } 본문 내용 끝 -->

를 다음의 내용으로 변경

        <?php
        // 신고글 관련 시작
        
        //echo "bo_use_nogood = ". $board['bo_use_nogood']."<br>";
        //echo "wr_nogood = " .$view['wr_nogood']."<br>";
        //echo "bo_5 = ". $board['bo_5']."<br>";
        
        if ($board['bo_use_nogood']) {
            if ($view['wr_nogood'] >= $board['bo_5']){ //  신고횟수 지정
                $siren = "Y";
            }
        }
        
        if ($siren=="Y") { 
        ?>
        
        <script>
        function SirenFunction(idMyDiv){
             var objDiv = document.getElementById(idMyDiv);
             if(objDiv.style.display=="block"){ objDiv.style.display = "none"; }
              else{ objDiv.style.display = "block"; }
        }
        </script>
        
        <style>
            .sir_singo_msg{color:#934545;margin-bottom:30px}
            .sir_singo_msg button {cursor:pointer;font-family:Arial,'돋움',Dotum;border:none;padding:0;background:#fff; outline:0}
            .sir_singo_msg .blind_view{font-size:1.14em;font-weight:bold;color:#ff4343;margin-top:-3px;text-decoration:underline}
            .singo_view { display:none; }
        </style>
        
        <div class="con_inner">
            <div class="sir_singo_msg">
                신고가 접수되어 자동으로 블라인드 된 글입니다.<br>
                원글을 보시려면 <a href="#" onclick="SirenFunction('SirenDiv'); return false;" class="blind_view">여기를</a> 클릭하세요
            </div>
            <div class="singo_view" id="SirenDiv">
                <?php
                // 파일 출력
                $v_img_count = count($view['file']);
                if($v_img_count) {
                    echo "<div id=\"bo_v_img\">\n";
        
                    for ($i=0; $i<=count($view['file']); $i++) {
                        if ($view['file'][$i]['view']) {
                            //echo $view['file'][$i]['view'];
                            echo get_view_thumbnail($view['file'][$i]['view']);
                        }
                    }
        
                    echo "</div>\n";
                }
                ?>
    
                <!-- 본문 내용 시작 { -->
                <div id="bo_v_con"><?php echo get_view_thumbnail($view['content']); ?></div>
                <?php//echo $view['rich_content']; // {이미지:0} 과 같은 코드를 사용할 경우 ?>
                <!-- } 본문 내용 끝 -->
            </div>
         </div>
        <?php 
        } else {  //신고글 아닐때 
        ?>
        <?php
        // 파일 출력
        $v_img_count = count($view['file']);
        if($v_img_count) {
            echo "<div id=\"bo_v_img\">\n";

            for ($i=0; $i<=count($view['file']); $i++) {
                if ($view['file'][$i]['view']) {
                    //echo $view['file'][$i]['view'];
                    echo get_view_thumbnail($view['file'][$i]['view']);
                }
            }

            echo "</div>\n";
        }
         ?>

        <!-- 본문 내용 시작 { -->
        <div id="bo_v_con"><?php echo get_view_thumbnail($view['content']); ?></div>
        <?php//echo $view['rich_content']; // {이미지:0} 과 같은 코드를 사용할 경우 ?>
        <!-- } 본문 내용 끝 -->
        <?php 
        }  // 신고글 관련 끝
        ?>
        <script>
        jQuery(function($) {
            $(".con_inner").on("click", "a", function(e){
        
                if( $(this).hasClass("view_image") ){
                    return;
                }
        
                var target = $(this).attr("target"),
                    href = $(this).attr("href"),
                    regex = /(\S*#\[[^\]]+\])|(\S*#\S+)/gi;
        
                if( target != 'self' && href && !regex.test(href) ){
                    e.preventDefault();
                    window.open( href );
                }
            });
        });
        </script>


참고자료
https://sir.kr/g5_tip/252

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 8개

와~~감사합니다.
아직 미완의 팁이라서...
헐...ㅠㅠ 제목보고 들어왔더니 해피정님...
요즘 스토커된 기분입니다 ㅋㅋㅋ
후후... ^^
7년 전
신고기능
좋아요..잘쓰겠습니다.감사합니다.
6년 전
좋은 팁 감사합니다.
아직 미완성이신가요? 완성되면 알려주세요 ^^ 감사합니다

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168