관리자 승인 후 게시글 보이기 > 그누보드5 팁자료실

그누보드5 팁자료실

관리자 승인 후 게시글 보이기 정보

관리자 승인 후 게시글 보이기

본문

https://sir.kr/qa/461431 답변글 겸 겸사 겸사...

 

1. view.skin.php 의 적당위치에 아래의 코드를 줍니다.


<?php
$admin_check_display = (!$is_admin && $view['wr_1'] != "yes") ? " style=display:none" : "";
if ($wr_1) {
    $wr_1 = $_POST['wr_1'];
    sql_query("update $write_table set wr_1 = '$wr_1' where wr_id = '$wr_id'");
}
echo "<script>if (sessionStorage.reLoad) sessionStorage.clear(), location.href = '".$_SERVER['REQUEST_URI']."';</script>";
if ($is_admin) {
    $yes_check = ($view['wr_1'] == "yes" ? " checked" : "")." onclick=sessionStorage.reLoad=1;submit()";
    $no_check = ($view['wr_1'] == "no" ? " checked" : "")." onclick=sessionStorage.reLoad=1;submit()";
    echo "<form method=post><input type=radio name=wr_1 value=yes".$yes_check." required>YES<input style=margin-left:5px type=radio name=wr_1 value=no".$no_check." required>NO</form>";
}
?>

 

----------

 


<div id="bo_v_con"><?php echo get_view_thumbnail($view['content']); ?></div>

 

2. 위의 부분을 찾아서 아래의 코드로 바꿉니다. 본문입니다.

 


<?php $admin_check_content = ($is_admin || $view['wr_1'] == "yes") ? get_view_thumbnail($view['content']) : "관리자의 승인이 필요합니다."; ?>
<div id="bo_v_con"><?php echo $admin_check_content; ?></div>

 

----------

 

3. 첨부이미지, 첨부파일, 첨부링크 부분도 바꿔줍니다.


echo "<div id=\"bo_v_img\">\n"; 를
echo "<div id=bo_v_img".$admin_check_display.">"; 로
 
<section id="bo_v_file"> 를
<section id="bo_v_file"<?php echo $admin_check_display; ?>> 로
 
<section id="bo_v_link"> 를
<section id="bo_v_link"<?php echo $admin_check_display; ?>> 로

 

----------

 

4. 아래처럼 본인이 1번코드를 준 위치에 라디오버튼이 생겨납니다.

승인을 해 주려면 YES 아니라면 NO 를 선택합니다.

물론 관리자에게만 보입니다.

 

31832361_1653499559.2862.jpg

 

----------

 

5. 사용 여분필드는 1번으로 하였으니

다른 번호로 바꾸고 싶으면 그 부분을 찾아서 모두 바꾸세요.

아작스나 외부문서 없이 본문에서 라디오버튼을 선택하는 순간

다이렉트로 여분필드가 업뎃되면서 그 자리에서 새로고침이 됩니다.

pc의 basic 스킨을 사용하였습니다.

다른 스킨이나 모바일 적용은 동일한 방식으로 해 주면 됩니다.

리스트나 최신글의 적용은 wr_1 == "yes" 일 때만 승인, "no" 또는 아닐때는 미승인이니

재주껏 이프문이나 3항문으로 코드를 적용해 주세요.

추천
14

댓글 18개

예 감사합니다.
게시글과 아래 댓글에서 첨부이미지, 첨부파일, 첨부링크를
관리자 미승인시에는 숨기는 로직을 추가했습니다.
오오~ 때마침 필요했던 소스인데 감사히 잘 사용하겠습니다! ^-^
추천 꾸욱~ 눌러드렸어요오~
라디오버튼으로 간단히 처리하는 아이디어가 정말 유용하네요 ^^
그럼 비타주리 님께서도 맛점 드시고 좋은 오후 되세요 :)
지금 생각해보니 첨부이미지, 첨부파일, 첨부링크 부분도
관리자 미승인시 숨겨야 하는 코드가 빠졌네요.
위의 php 코드 가장 상단에 한줄 코드를 추가하구요.


$admin_check_display = (!$is_admin && $view['wr_1'] != "yes") ? " style=display:none" : "";
if ($wr_1) {
.
.


echo "<div id=\"bo_v_img\">\n"; 를
echo "<div id=bo_v_img".$admin_check_display.">"; 로

<section id="bo_v_file"> 를
<section id="bo_v_file"<?php echo $admin_check_display; ?>> 로

<section id="bo_v_link"> 를
<section id="bo_v_link"<?php echo $admin_check_display; ?>> 로

세군데를 고쳐야 더 완벽할 것 같습니다.^^
바쁘신 와중에 친절한 A/S 감사드립니다!! ^-^
모두 적용하도록 하겠습니다 :)


감사합니다. 선추천하고 나중에 코드를 적용해봅니다.
게시판을 관리하는데 매우 유용하게 사용할 수 있을 것 같습니다.
view.skin에서만 구현하는 것이 놀라울 따름입니다.
저만 그런지는 모르겠는데
<?php
$admin_check_display = (!$is_admin && $view['wr_1'] != "yes") ? " style=display:none" : "";
if ($wr_1) {
    $wr_1 = $_POST['wr_1'];
    sql_query("update $write_table set wr_1 = '$wr_1' where wr_id = '$wr_id'");
}
echo "<script>if (sessionStorage.reLoad) sessionStorage.clear(), location.href = '".$_SERVER['REQUEST_URI']."';</script>";
if ($is_admin) {
    $yes_check = ($view['wr_1'] == "yes" ? " checked" : "")." onclick=sessionStorage.reLoad=1;submit()";
    $no_check = ($view['wr_1'] == "no" ? " checked" : "")." onclick=sessionStorage.reLoad=1;submit()";
    echo "<form method=post><input type=radio name=wr_1 value=yes".$yes_check." required>YES<input style=margin-left:5px type=radio name=wr_1 value=no".$no_check." required>NO</form>";
}
?>
위의 코드를 이미지를 출력하는 코드
        <?php
        // 파일 출력
        $v_img_count = count($view['file']);
        if($v_img_count) {
            echo "<div id=bo_v_img".$admin_check_display.">";//원문 "<div id=\"bo_v_img\">\n";

            foreach($view['file'] as $view_file) {
                echo get_file_thumbnail($view_file);
            }

            echo "</div>\n";
        }
        ?>
아래에 넣어니까 본문, 링크, 첨부파일(이미지제외)이 승인전에는 표시안되고 승인후에 표시가되는데 이미지가 계속 나타고 있습니다.
그래서 이 코드를 이미지 출력코드위에 넣어주니까 승인전에는 이미지도 나타나지 않는것을 볼 수있었습니다.

<!--      관리자 승인 후 게시글 보이기 시작 -->
<?php
$admin_check_display = (!$is_admin && $view['wr_1'] != "yes") ? " style=display:none" : "";
if ($wr_1) {
    $wr_1 = $_POST['wr_1'];
    sql_query("update $write_table set wr_1 = '$wr_1' where wr_id = '$wr_id'");
}
echo "<script>if (sessionStorage.reLoad) sessionStorage.clear(), location.href = '".$_SERVER['REQUEST_URI']."';</script>";
if ($is_admin) {
    $yes_check = ($view['wr_1'] == "yes" ? " checked" : "")." onclick=sessionStorage.reLoad=1;submit()";
    $no_check = ($view['wr_1'] == "no" ? " checked" : "")." onclick=sessionStorage.reLoad=1;submit()";
    echo "<form method=post><input type=radio name=wr_1 value=yes".$yes_check." required>YES<input style=margin-left:5px type=radio name=wr_1 value=no".$no_check." required>NO</form>";
}
?>
<!--      관리자 승인 후 게시글 보이기 시작 -->

     
        <?php
        // 파일 출력
        $v_img_count = count($view['file']);
        if($v_img_count) {
            echo "<div id=bo_v_img".$admin_check_display.">";//원문 "<div id=\"bo_v_img\">\n";

            foreach($view['file'] as $view_file) {
                echo get_file_thumbnail($view_file);
            }

            echo "</div>\n";
        }
        ?>
전체 2,411 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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