성인글 옵션생성 원본 수정 필요없음 정보
게시판 성인글 옵션생성 원본 수정 필요없음
첨부파일
본문
이 스킨은 원본 수정없이
스킨만으로
성인글 지정 옵션이 자동으로 생기며
글보기시 성인글인경우
회원이 아니면 일차로 튕구고
회원이라도 만 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?>>공지 <? } ?>
<? 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>
<? } ?>
<? } ?>
<? if ($is_secret) { ?>
<? if ($is_admin || $is_secret==1) { ?>
<input type=checkbox value="secret" name="secret" <?=$secret_checked?>><span class=w_title>비밀글</span>
<? } else { ?>
<input type=hidden value="secret" name="secret">
<? } ?>
<? } ?>
<? if ($is_mail) { ?><input type=checkbox value="mail" name="mail" <?=$recv_email_checked?>>답변메일받기 <? } ?>
<input type=checkbox value="adult" name="adult" <?=$adult_checked?>>성인용 </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;
}
?>
스킨만으로
성인글 지정 옵션이 자동으로 생기며
글보기시 성인글인경우
회원이 아니면 일차로 튕구고
회원이라도 만 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?>>공지 <? } ?>
<? 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>
<? } ?>
<? } ?>
<? if ($is_secret) { ?>
<? if ($is_admin || $is_secret==1) { ?>
<input type=checkbox value="secret" name="secret" <?=$secret_checked?>><span class=w_title>비밀글</span>
<? } else { ?>
<input type=hidden value="secret" name="secret">
<? } ?>
<? } ?>
<? if ($is_mail) { ?><input type=checkbox value="mail" name="mail" <?=$recv_email_checked?>>답변메일받기 <? } ?>
<input type=checkbox value="adult" name="adult" <?=$adult_checked?>>성인용 </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;
}
?>
추천
6
6
댓글 전체
감사합니다.
멋진 기능의 스킨을 만들어 주셨군요.
멋진 기능의 스킨을 만들어 주셨군요.

한번 설치해보세요. 쓸만할거에요.
업데이트에 영향 받지 않아요
스킨도 거의 수정한게 없기 때문에
다른 스킨에 넣기도 좋아요
업데이트에 영향 받지 않아요
스킨도 거의 수정한게 없기 때문에
다른 스킨에 넣기도 좋아요
저 또한 가능한 한 스킨에서 해결하려는 편이라
더더욱 눈이 가는 자료입니다.
그러나 차후 배포버전에서 지원할 옵션의 선택은,
힘들지 않을까 생각됩니다.
이전에는 업그레이드버전에서 검토될 내용을 작성하는 공간이 있었고,
두목님(kagla) 나름대로 검토 및 적용을 하셨던 것 같은데...
현재는 그러한 공간을 막아놨으니 말입니다.
더더욱 눈이 가는 자료입니다.
그러나 차후 배포버전에서 지원할 옵션의 선택은,
힘들지 않을까 생각됩니다.
이전에는 업그레이드버전에서 검토될 내용을 작성하는 공간이 있었고,
두목님(kagla) 나름대로 검토 및 적용을 하셨던 것 같은데...
현재는 그러한 공간을 막아놨으니 말입니다.

그렇게 어렵지 않은 부분입니다.
이글을 본다면 충분히 고려하실 겁니다.
board.php에 비밀글 체크하는 부분 밑에 들어가면 딱인데......
이글을 본다면 충분히 고려하실 겁니다.
board.php에 비밀글 체크하는 부분 밑에 들어가면 딱인데......

관리자님께서 다음 버전에서는
adult 옵션을 넣어주시면 좀 더 많이 수월하겟죠
adult 옵션을 넣어주시면 좀 더 많이 수월하겟죠

수고 많으셨습니다... 감사합니다...^^

수고는요 잠깐 끄적여 봣습니다.
요샌 일이 잘 안되네요
대목전이라 그런가.......
요샌 일이 잘 안되네요
대목전이라 그런가.......
잘쓸께요~. 감사합니다. ^^

네 감사합니다
감사합니다.^^
저만 심난하가 했더니 사부님께서도 심난하신가 봅니다.
열공해서 갤러리에 적용해보겠습니다.ㅎㅎ
저만 심난하가 했더니 사부님께서도 심난하신가 봅니다.
열공해서 갤러리에 적용해보겠습니다.ㅎㅎ

꼭 써보겠습니다..카마수트라+19 메뉴만 만들어 둔지가 몇년인지,,ㅎ
나스카님의 찜질방 스킨과 함께,,
감사드립니다.
나스카님의 찜질방 스킨과 함께,,
감사드립니다.

감사합니다..
아이디어가 좋습니다..
아이디어가 좋습니다..

감사합니다.....수고하셨습니다...
감사합니다. 아이디어에 박수를 보내드립니다.
.. 유창화님 죄송합니다.
제가 손이 없군요. ㅜ.ㅡ
제가 손이 없군요. ㅜ.ㅡ

그럼 박족을 보내세요......킁~~~~!
갈퀴때문에...

오우 코멘트 많이 달렷군요.......
기분 좋은데요?
기분 좋은데요?

오 좋은 아이디어네요~!

감사합니다

좋은기능이네요^^. 감사합니다
와우~ 아주 좋은것 같습니다. 매우 유용하게 쓰일거에요^^
멋진 스킨이네요~~ 스킨자체에서 해결해야 되는 부분 굿이에요!!
아참!!
4.901이하 버전때에는 view.skin.php 상단에 아래소스를 추가 시켜야 view화면에서
오류가 나지 않네요!!
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
function cut_hangul_last($hangul)
{
// 한글이 반쪽나면 ?로 표시되는 현상을 막음
$cnt = 0;
for($i=0;$i<strlen($hangul);$i++) {
// 한글만 센다
if (ord($hangul[$i]) >= 0xA0) {
$cnt++;
}
}
// 홀수라면 한글이 반쪽난 상태이므로
if ($cnt%2)
$hangul = substr($hangul, 0, $cnt-1);
return $hangul;
}
?>
그리고 icon_19.gif 첨부파일이 img 폴더란에 없으니 상단에 이미지를
다운받으셔서 icon_19.gif이름으로 변경하셔서 업하셔야 리스트에서 19 이미지가 정상
출력됩니다!! (제가 초보라 초보님들을 위해 설명했어요!! 죄송!!;;)
아참!!
4.901이하 버전때에는 view.skin.php 상단에 아래소스를 추가 시켜야 view화면에서
오류가 나지 않네요!!
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
function cut_hangul_last($hangul)
{
// 한글이 반쪽나면 ?로 표시되는 현상을 막음
$cnt = 0;
for($i=0;$i<strlen($hangul);$i++) {
// 한글만 센다
if (ord($hangul[$i]) >= 0xA0) {
$cnt++;
}
}
// 홀수라면 한글이 반쪽난 상태이므로
if ($cnt%2)
$hangul = substr($hangul, 0, $cnt-1);
return $hangul;
}
?>
그리고 icon_19.gif 첨부파일이 img 폴더란에 없으니 상단에 이미지를
다운받으셔서 icon_19.gif이름으로 변경하셔서 업하셔야 리스트에서 19 이미지가 정상
출력됩니다!! (제가 초보라 초보님들을 위해 설명했어요!! 죄송!!;;)
생년월일은 받지 않고 주민번호를 받고 있어
view.head.skin.php
$temp_mb_birth = substr($member[mb_birth], 0, 4);
if ($temp_mb_birth) {
if (date("Y") - $temp_mb_birth < 18) {
==>
$temp_mb_jumin = substr($member[mb_jumin], 0, 4);
if ($temp_mb_jumin) {
if (date("Y") - $temp_mb_jumin< 18) {
으로 변수를 바꾸어 주었는데 튕기지 않네요!! 어떻게 해야 될까요~
view.head.skin.php
$temp_mb_birth = substr($member[mb_birth], 0, 4);
if ($temp_mb_birth) {
if (date("Y") - $temp_mb_birth < 18) {
==>
$temp_mb_jumin = substr($member[mb_jumin], 0, 4);
if ($temp_mb_jumin) {
if (date("Y") - $temp_mb_jumin< 18) {
으로 변수를 바꾸어 주었는데 튕기지 않네요!! 어떻게 해야 될까요~

주민번호는 암호화되어 저장되기에 복호화되지 않습니다.....ㅠ.ㅠ

주민번호를 받을때
생년월일에 자동적으로 입력이 되도록 기본적으로 되어있을텐데요.....
수정하신 모양이군요.
그럴경우에는
다음과 같은 형태로 변형해도 좋겠지요.
원리는 체크 과정에서
로그인한 회원인데
생년월일 필드가 없다면
경고메세지 후
회원정보로 보내고
회원정보는 생년월일 필드를 넣을수 있도록 수정해줍니다.
물론 이과정에서 생년월일을 허위로 할수도 있으니
주민등록번호도 재입력하게 하여
저장된 데이타와 비교하면 좋겠습니다.
경고 메세지는
개편으로 인하여 성인용 게시물이 생겼습니다.
회원정보 수정으로 가셔서 자신의 생년월일을 입력하여 주십시오.
와 같은 형태로 하면 좋아보입니다.
생년월일에 자동적으로 입력이 되도록 기본적으로 되어있을텐데요.....
수정하신 모양이군요.
그럴경우에는
다음과 같은 형태로 변형해도 좋겠지요.
원리는 체크 과정에서
로그인한 회원인데
생년월일 필드가 없다면
경고메세지 후
회원정보로 보내고
회원정보는 생년월일 필드를 넣을수 있도록 수정해줍니다.
물론 이과정에서 생년월일을 허위로 할수도 있으니
주민등록번호도 재입력하게 하여
저장된 데이타와 비교하면 좋겠습니다.
경고 메세지는
개편으로 인하여 성인용 게시물이 생겼습니다.
회원정보 수정으로 가셔서 자신의 생년월일을 입력하여 주십시오.
와 같은 형태로 하면 좋아보입니다.
이궁~ 이럴수가~ 아오쵸님팁에서는 위처럼 변수만 바꾸어도 된다고 그랬던것 같았는데~
이궁~ 어쩔수 없네요~;ㅣ;;; 천상재회님이 안된다고 하시니 안돼는가 보네요~
이궁~ 어쩔수 없네요~;ㅣ;;; 천상재회님이 안된다고 하시니 안돼는가 보네요~

참고로 위의 수정하신 부분에서 $temp_mb_jumin 을 출력시켜보세요....^^
예 )
<?
include_once("./_common.php");
$aaa = "681203-2234218";
$jumin = sql_password($aaa);
echo $jumin;
$temp_mb_jumin = substr($jumin, 0, 4);
echo " " .$temp_mb_jumin;
?>
예 )
<?
include_once("./_common.php");
$aaa = "681203-2234218";
$jumin = sql_password($aaa);
echo $jumin;
$temp_mb_jumin = substr($jumin, 0, 4);
echo " " .$temp_mb_jumin;
?>

그다음 마지막으로 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;
}
?>
이 소스중 맨 아래줄의 echo $sql; 이거 한줄은 빼야될듯합니다...
글쓰기하고 확인누르면 업데이트됐다는 메시지가 순간적으로 지나가네요...^^
<?
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;
}
?>
이 소스중 맨 아래줄의 echo $sql; 이거 한줄은 빼야될듯합니다...
글쓰기하고 확인누르면 업데이트됐다는 메시지가 순간적으로 지나가네요...^^

아네 그렇습니다.
제가 확인하고 그부분을 미쳐 빼지 못했군요.
감사합니다.
제가 확인하고 그부분을 미쳐 빼지 못했군요.
감사합니다.
멋집니다~~ 감사합니다^^

감사합니다.
팅구고 안팅구고...
멋진스킨 공개해 주셔서 감사합니다.
잘쓰겠습니다.
멋진스킨 공개해 주셔서 감사합니다.
잘쓰겠습니다.

ㅎㅎ 표현이 좀그런가요?
감사합니다.
감사합니다.

매일매일 감사할 따름이네요
고맙습니다
고맙습니다

별말씀을요
유용하겠네요~ 잘 쓰겠습니다.
감사합니다.. ^^
감사합니다.
찾고있던 스킨이네요
잘 사용하겠습니다.
고맙습니다.^^
잘 사용하겠습니다.
고맙습니다.^^
좋은 스킨 감사합니다 ^^
유용하게 쓰겠습니다 ^0^
유용하게 쓰겠습니다 ^0^
유용한 스킨 공유해주셔서 감사합니다^^*
감사히 잘 쓰겟습니다.
필요할때 꼭 쓰일만한 스킨이네요. 감사합니다.
감사히 잘 쓰겟습니다.
감사합니다. ^^
일반글은 누구나 볼수있게하고 성인표시글은 회원만 볼수있게할려면
어떤게해야합니까???
어떤게해야합니까???

요긴하겠네요
유용한 스킨이군요
감사합니다

제것으로 만들어야 되는데 잘될런지 모르겠습니다. 감사합니다.
스크랩하겠습니다.
무조건 체크박스 되있도록 하려면 어떻게 하나요..?

고맙습니다. 잘 쓸께요. ^^