성인글 옵션생성 원본 수정 필요없음 > 스킨

본문 바로가기

사이트 내 전체검색

뒤로가기 스킨

board 성인글 옵션생성 원본 수정 필요없음

본문

글쓴이 :  유창화 (61.♡.219.184)     날짜 : 07-02-07 17:58

이 스킨은 원본 수정없이
스킨만으로
성인글 지정 옵션이 자동으로 생기며
글보기시 성인글인경우
회원이 아니면 일차로 튕구고
회원이라도 만 18세 미만이면 읽을수 없다고 튕굽니다.
물론 회원가입시 생년월일을 받은 경우에만 사용가능합니다.

basic스킨을 간단하게 수정한것이며
올려진 첨부파일은 euc-kr용입니다.

만약 utf-8로 사용하고 싶다면
ust-8용 그누보드에서 베이직 스킨을 열어
아래와 같이 수정합니다.

list.skin.php 젤 상단을
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

//옵션 필드 체크하여 adult 가 없으면 추가
$query = "SHOW FULL FIELDS FROM $write_table LIKE 'wr_option'";
$temp = sql_fetch($query);
if ($temp['Type'] != "set('html1','html2','secret','mail','adult')") {

  $query = "ALTER TABLE $write_table CHANGE `wr_option` `wr_option` SET( 'html1', 'html2', 'secret', 'mail', 'adult' ) NOT NULL ";
  sql_query($query);
}
으로 수정 추가합니다.

중간쯤에 게시물 아이콘 뿌려주는 부분에

        echo " " . $list[$i][icon_file];
        echo " " . $list[$i][icon_link];
        echo " " . $list[$i][icon_hot];
        echo " " . $list[$i][icon_secret];

        if (strstr($list[$i][wr_option], "adult")) {

          echo " <img src='$board_skin_path/img/icon_19.gif' align='absmiddle'>";
        }

추가 수정해줍니다.


다음은 view.head.skin.php를 다음과 같이 넣어주세요
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// 자신만의 코드를 넣어주세요.

// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin)
    ;
else

   
    //성인용이라면
    if (strstr($write[wr_option], "adult")) {

      if (empty($member[mb_id])) {

          alert("성인만 접근가능한 게시물입니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("board.php?bo_table=$bo_table&wr_id=$wr_id"));
      }
      else {

          $temp_mb_birth = substr($member[mb_birth], 0, 4);
          if ($temp_mb_birth) {

            if (date("Y") - $temp_mb_birth < 18) {

              alert("만 18세 이상만 접근 가능한 게시물입니다.");
            }
          }
      }
    }
}

?>


그다음 write.skin.php의 중간쯤에 옵션 보여주는 부분에

<?

$adult_checked = "";
if (strstr($write[wr_option], "adult"))
    $adult_checked = "checked";

?>
<? //if ($is_notice || $is_html || $is_secret || $is_mail) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 옵션</td>
    <td><? if ($is_notice) { ?><input type=checkbox name=notice value="1" <?=$notice_checked?>>공지&nbsp;<? } ?>
        <? if ($is_html) { ?>
            <? if ($is_dhtml_editor) { ?>
            <input type=hidden value="html1" name="html">
            <? } else { ?>
            <input onclick="html_auto_br(this);" type=checkbox value="<?=$html_value?>" name="html" <?=$html_checked?>><span class=w_title>html</span>&nbsp;
            <? } ?>
        <? } ?>
        <? if ($is_secret) { ?>
            <? if ($is_admin || $is_secret==1) { ?>
            <input type=checkbox value="secret" name="secret" <?=$secret_checked?>><span class=w_title>비밀글</span>&nbsp;
            <? } else { ?>
            <input type=hidden value="secret" name="secret">
            <? } ?>
        <? } ?>
        <? if ($is_mail) { ?><input type=checkbox value="mail" name="mail" <?=$recv_email_checked?>>답변메일받기&nbsp;<? } ?>
        <input type=checkbox value="adult" name="adult" <?=$adult_checked?>>성인용&nbsp;</td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? //} ?>

이렇게 추가 수정해줍니다.

그다음 마지막으로 write_update.skin.php에 아래와 같이 넣어줍니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// 자신만의 코드를 넣어주세요.

if (!empty($wr_id) && !empty($write_table)) {

  $sql = " update $write_table
                set  wr_option = '$html,$secret,$mail,$adult'
                where wr_id = '$wr_id' ";
  sql_query($sql);
  echo $sql;
}

?>
추천1

첨부파일

댓글목록 1

세분님의 댓글

세분쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

감사합니다...

이미지 목록

전체 160건 5 페이지
게시물 검색
Copyright (c) 株式会社YHPLUS. All rights reserved.

사이트 정보

株式会社YHPLUS / 대표 : ZERO
〒171-0014 東京都豊島区池袋2-41-5 アーバン154 8F
050-5539-7787
오픈카카오톡 (YHPLUS) :
https://open.kakao.com/o/slfDj15d

PC 버전으로 보기