제로보드 관련된 유용한 정보를 공유하는 곳입니다.
글 수 98
22
조회 수 : 5542 신고 : 0
출처 : |
---|
안녕하세요.
제로보드 사용자 홈페이지에서 아바타 또는 게임등을 사용하는 홈페이지에서
글쓰기및 코멘트달기에서 취득한 포인트를 사용하여 아바타구입이나 게임등을 할수가 있습니다.
이럴경우 특정 게시판에서 도배로 인하여 심각한 문제가 발생하더군요.
(특히 어린이를 상대로하는 학급홈 등등)
저희 아바타프로그램 에서는 얼마전부터 플러그인 형식으로 적용하여 사용중입니다만
타 아바타 프로그램 이나 게임사용자 홈에서는 애로사항이 많은 걸로 알고 있으며
관리하기가 상당히 어려움이 있을 겁니다.
이방법은 유메미루님의 팁과
http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=1&sn1=&divpage=1&sn=on&ss=on&sc=off&keyword=유메미루&select_arrange=headnum&desc=asc&no=4322
여러 고수님들이 올려주신 팁을 응용하여 허접하지만 대략 끄적여 봤습니다.
적용은 최고관리자, 그룹관리자, 게시판 관리자는 해당이 없으며 일반회원만 적용 됩니다.
=========================게시판별 도배방지 적용하기====================
DB에 필드 추가하기
zetyx_admin_table 에서
witein , comenin 라는 두개의 필드를 추가 합니다.
필드추가시 설정값은
witein 는 int(10) 디폴트값은 3 정도로 합니다.(초기값)
comenin 는 int(10) 디폴트값은 5 정도로 합니다.(초기값)
이렇게하면 초기값은 게시판별로 하루에 글쓰기3개 코멘트5개 입니다
수정할파일(제로보드 관리자모드 게시판 설정파일 2개 및 제로보드 본체파일 3개)
제로보드/admin/admin_modify_board.php
제로보드/admin/admin_exec_board.php
제로보드/_head.php
제로보드/write_ok.php
제로보드/comment_ok.php
제로보드본체 파일 수정하기
---------------------------------------------------------------------------------------
제로보드/admin/admin_modify_board.php
아래의처럼
<tr height=25 bgcolor=#e0e0e0>
<td align=right style=font-family:Tahoma;font-size:8pt;><b>페이지 표시 수 </td>
<td >
<input type=text name=page_num value='<?echo $data[page_num];?>' size=3 maxlength=3 class=input style=border-color:#b0b0b0>
목록의 아래부분에 표시될 페이지의 갯수 (1~999)
</td>
</tr>
<!-- 하루에 글제한 추가부분 시작-->
<tr height=25 bgcolor=#e0e0e0>
<td align=right style=font-family:Tahoma;font-size:8pt;><b>하루글쓰기 제한수 </td>
<td >
<input type=text name=witein value='<?echo $data[witein];?>' size=3 maxlength=3 class=input style=border-color:#b0b0b0>
회원이 이게시판에 하루에 글쓰기 제한수
</td>
</tr>
<tr height=25 bgcolor=#e0e0e0>
<td align=right style=font-family:Tahoma;font-size:8pt;><b>하루코멘트 제한수 </td>
<td >
<input type=text name=comenin value='<?echo $data[comenin];?>' size=3 maxlength=3 class=input style=border-color:#b0b0b0>
회원이 이게시판에 하루에 코멘트달기 제한수
</td>
</tr>
<!--하루에 글제한 추가끝-->
<!-- 헤더, 푸터 -->
-----------------------------------------------------------------------------------------
제로보드/admin/admin_exec_board.php
witein='$witein', comenin='$comenin', 를 추가합니다.
아래처럼
@mysql_query("update $admin_table set
only_board='$only_board',skinname='$skinname',header='$header',footer='$footer',header_url='$header_url',footer_url='$footer_url',
bg_image='$bg_image',bg_color='$bg_color',table_width='$table_width',memo_num='$memo_num', page_num='$page_num', witein='$witein', comenin='$comenin', cut_length='$cut_length', use_category='$use_category', use_html='$use_html',max_upload_size='$max_upload_size',
use_filter='$use_filter',use_status='$use_status',use_pds='$use_pds',use_homelink='$use_homelink',
title='$title',pds_ext1='$pds_ext1',pds_ext2='$pds_ext2',
use_filelink='$use_filelink',use_cart='$use_cart',use_autolink='$use_autolink',use_showip='$use_showip',
use_comment='$use_comment',use_formmail='$use_formmail',use_showreply='$use_showreply', use_secret='$use_secret', filter='$filter', avoid_tag='$avoid_tag', avoid_ip='$avoid_ip', use_alllist='$use_alllist' where no='$no'") or Error("게시판의 기능설정 변경시 에러가 발생하였습니다");
--------------------------------------------------------------------------------------
제로보드/_head.php
// 게시판의 가로크기 설정
$width=$setup[table_width];
//글쓰기 코멘트제한을 추가시작
$witein=$setup[witein];
$comenin=$setup[comenin];
//글쓰기 코멘트수 제한 추가끝
// 카테고리 읽어오기
-----------------------------------------------------------------------------------
제로보드/write_ok.php
if(isblank($memo)) Error("내용을 입력하셔야 합니다"); //이줄의
바로아래 부분에
//하루에 글쓰기제한 추가시작
if(!$is_admin) {
//$a_board=mysql_fetch_array(mysql_query("select * from avata4_board_use_table where bid='$id'"));
if(($member[no] && $mode != "modify") && $id == "$id"){
$limit = $witein;
$write_limit = $limit - 1;
$today = date("Ymd");
$write_num_today = mysql_num_rows(mysql_query("select no from zetyx_board_$id where from_unixtime(reg_date,'%Y%m%d')='$today' && ismember=$member[no] order by reg_date desc limit $write_limit,1"));
if($write_num_today) Error("죄송합니다.<br>이 게시판은 하루에 글을 $limit 개 까지만 남길 수 있습니다.<br>$member[name] 님은 오늘 이미 $limit 개의 글을 쓰셨습니다.");
}
}
//하루에 글쓰기제한 추가끝
------------------------------------------------------------------------------------
제로보드/comment_ok.php
// 같은 내용이 있는지 검사;;
if(!$is_admin) {
$temp=mysql_fetch_array(mysql_query("select count(*) from $t_comment"."_$id where memo='$memo' and no='$max_no[0]'"));
if($temp[0]>0) Error("같은 내용의 글은 등록할수가 없습니다");
}
//하루에코멘트 제한추가시작
if(!$is_admin) {
//$a_board=mysql_fetch_array(mysql_query("select * from avata4_board_use_table where bid='$id'"));
if(($member[no] && $mode != "modify") && $id == "$id"){
$limit = $comenin;
$write_limit = $limit - 1;
$today = date("Ymd");
$write_num_today = mysql_num_rows(mysql_query("select no from zetyx_board_comment_$id where from_unixtime(reg_date,'%Y%m%d')='$today' && ismember='$member[no]' order by reg_date desc limit $write_limit,1"));
if($write_num_today) Error("죄송합니다.<br>이 게시판은 하루에 코멘트를 $limit 개 까지만 남길 수 있습니다.<br>$member[name] 님은 오늘 이미 $limit 개의 코멘트를 다셨습니다.");
}
}
//하루에 코멘트제한 추가끝
// 쿠키 설정;;
// 기존 세션 처리 (4.0x용 세션 처리로 인하여 주석 처리)
이렇게 하면 제로보드 관리자모드 게시판설정에서 게시판별로 하루에 제한할 글쓰기수와
코멘트수를 지정해 주실수 있게 됩니다.
출처: 제로보드 유용팁란 헐랭이님의 글
관련링크: http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=8&sn1=&divpage=1&sn=off&ss=on&sc=off&select_arrange=headnum&desc=asc&no=5573
소중한 댓글 부탁드립니다.
추천수 10단위당 메달이 1개씩 노출되고, 추천수에 따라 배경색이 변하며, 일정수의 추천수를 받을시 아이콘이 붙게됩니다.
추천수 10단위당 메달이 1개씩 노출되고, 추천수에 따라 배경색이 변하며, 일정수의 추천수를 받을시 아이콘이 붙게됩니다.
추천수에 따른 배경색 보기
본문으로 바로가기
- 추천수 50개이상
- 추천수 30개이상
- 추천수 20개이상
- 추천수 10개이상
- 추천수 3개이상
첫번째 댓글을 남겨주세요!