사용자의 글 작성수 구하기(하루에 한번만 글작성) 정보
사용자의 글 작성수 구하기(하루에 한번만 글작성)관련링크
첨부파일
본문
//#######################################################
// usage :
// threes_rowcount($bo_table, $member[mb_id], all, 1, 1, 1);
// threes_rowcount($bo_table, $member[mb_id], 0, 1, 1, 1);
// threes_rowcount()의 6개 인수설명
// 1. 게시판 테이블명($bo_table)
// 2. 사용자 ID($member[mb_id])
// 3. 기간설정(all이면 전체, 숫자이면 숫자일전부터 현재까지 조회, 0이면 오늘)
// 4. 1이면 새글(원문)에서 체크, 0이면 체크안함
// 5. 1이면 답글에서 체크, 0이면 체크안함
// 6. 1이면 코멘트에서 체크, 0이면 체크안함
//#######################################################
## 적용예제 (하루에 한번만 글작성)
## 사용자별로 설정기간동안 설정한 이상의 글을 작성하지 못하도록 하고자 할경우
1. lib 파일 설정
3.23 이상 사용자는 threes_rowcount.lib.php를 lib 디렉토리에 넣는다.
3.22 이하 사용자는 threes_rowcount.lib.php의 내용을 lib/developer.lib.php에 붙여넣기 한다.
2. bbs/gbupdate.php에 글 작성수 체크 기능을 부여한다.
다음은 예는 3.26의 소스인데 "// 세션의 시간 검사" 다음에 있는 if문 아래쪽에 넣으시면 됩니다.)
(그누보드 패치시마다 확인하여 gbupdate.php가 변경될때마다 적용해야 합니다.)
// 세션의 시간 검사
if ($w == '' || $w == 'r' || $w == 'c') {
#####################################################
### 이곳에 아래의 3번을 참고하여 내용을 삽입하세요
#####################################################
if ($HTTP_SESSION_VARS["ss_datetime"] >= (time() - $default[de_delay_sec])) {
alert("너무 빠른 시간내에 게시물을 연속해서 올릴 수 없습니다.");
}
# 3.09 추가
session_register("ss_datetime");
$ss_datetime = $HTTP_SESSION_VARS["ss_datetime"] = time();
}
3. 위 2번에서 설명한 bbs/gbupdate.php에 넣을 보기
3-1. board_1 테이블에 사용자가 새글,답글,코멘트에서 글작성이 한번만 가능하도록 할경우
# $bo_table에서 $member[mb_id]에게 글작성수 체크하기
if($bo_table == 'board_1' && !$is_admin) {
$row_count = threes_rowcount($bo_table, $member[mb_id], all, 1, 1, 1);
if($row_count) {
alert("본 게시판은 글작성이 한번만 가능합니다.");
}
}
3-2. board_1, board_2 테이블에 사용자가 하루에 새글을 한번만 작성가능하게 할경우
(답글과, 코멘트는 제한없음)
# $bo_table에서 $member[mb_id]에게 글작성수 체크하기
if(($bo_table == 'board_1' || $bo_table == 'board_2') && !$is_admin) {
$row_count = threes_rowcount($bo_table, $member[mb_id], 0, 1, 0, 0);
if($row_count) {
alert("본 게시판은 새글작성이 하루에 한번만 가능합니다.");
}
}
3-3. board_3 테이블에 사용자가 최근 30일동안에 새글과 답글을 5번 작성가능하게 할경우
(코멘트는 제한없음)
# $bo_table에서 $member[mb_id]에게 글작성수 체크하기
if($bo_table == 'board_3') {
$row_count = threes_rowcount($bo_table, $member[mb_id], 30, 1, 1, 0);
if($row_count > 5) {
alert("본 게시판은 새글과 답변이 30일동안 5번 까지만 가능합니다.");
}
}
3-4. 위의 3-1과 3-3를 같이 적용할경우
3-1번의 내용을 넣고, 3-3의 내용중 if를 else if로 변경한다.
# $bo_table에서 $member[mb_id]에게 글작성수 체크하기
if($bo_table == 'board_1' && !$is_admin) {
$row_count = threes_rowcount($bo_table, $member[mb_id], all, 1, 1, 1);
if($row_count) {
alert("본 게시판은 글작성이 한번만 가능합니다.");
}
}else if($bo_table == 'board_3' && !$is_admin) {
$row_count = threes_rowcount($bo_table, $member[mb_id], 30, 1, 1, 0);
if($row_count > 5) {
alert("본 게시판은 새글과 답변이 30일동안 5번 까지만 가능합니다.");
}
}
ps. 프로그램 작업하는것보다 글로 설명하는것이 더 힘들군요
혹시 의문점있으시면 코멘트 달아주십시오.
// usage :
// threes_rowcount($bo_table, $member[mb_id], all, 1, 1, 1);
// threes_rowcount($bo_table, $member[mb_id], 0, 1, 1, 1);
// threes_rowcount()의 6개 인수설명
// 1. 게시판 테이블명($bo_table)
// 2. 사용자 ID($member[mb_id])
// 3. 기간설정(all이면 전체, 숫자이면 숫자일전부터 현재까지 조회, 0이면 오늘)
// 4. 1이면 새글(원문)에서 체크, 0이면 체크안함
// 5. 1이면 답글에서 체크, 0이면 체크안함
// 6. 1이면 코멘트에서 체크, 0이면 체크안함
//#######################################################
## 적용예제 (하루에 한번만 글작성)
## 사용자별로 설정기간동안 설정한 이상의 글을 작성하지 못하도록 하고자 할경우
1. lib 파일 설정
3.23 이상 사용자는 threes_rowcount.lib.php를 lib 디렉토리에 넣는다.
3.22 이하 사용자는 threes_rowcount.lib.php의 내용을 lib/developer.lib.php에 붙여넣기 한다.
2. bbs/gbupdate.php에 글 작성수 체크 기능을 부여한다.
다음은 예는 3.26의 소스인데 "// 세션의 시간 검사" 다음에 있는 if문 아래쪽에 넣으시면 됩니다.)
(그누보드 패치시마다 확인하여 gbupdate.php가 변경될때마다 적용해야 합니다.)
// 세션의 시간 검사
if ($w == '' || $w == 'r' || $w == 'c') {
#####################################################
### 이곳에 아래의 3번을 참고하여 내용을 삽입하세요
#####################################################
if ($HTTP_SESSION_VARS["ss_datetime"] >= (time() - $default[de_delay_sec])) {
alert("너무 빠른 시간내에 게시물을 연속해서 올릴 수 없습니다.");
}
# 3.09 추가
session_register("ss_datetime");
$ss_datetime = $HTTP_SESSION_VARS["ss_datetime"] = time();
}
3. 위 2번에서 설명한 bbs/gbupdate.php에 넣을 보기
3-1. board_1 테이블에 사용자가 새글,답글,코멘트에서 글작성이 한번만 가능하도록 할경우
# $bo_table에서 $member[mb_id]에게 글작성수 체크하기
if($bo_table == 'board_1' && !$is_admin) {
$row_count = threes_rowcount($bo_table, $member[mb_id], all, 1, 1, 1);
if($row_count) {
alert("본 게시판은 글작성이 한번만 가능합니다.");
}
}
3-2. board_1, board_2 테이블에 사용자가 하루에 새글을 한번만 작성가능하게 할경우
(답글과, 코멘트는 제한없음)
# $bo_table에서 $member[mb_id]에게 글작성수 체크하기
if(($bo_table == 'board_1' || $bo_table == 'board_2') && !$is_admin) {
$row_count = threes_rowcount($bo_table, $member[mb_id], 0, 1, 0, 0);
if($row_count) {
alert("본 게시판은 새글작성이 하루에 한번만 가능합니다.");
}
}
3-3. board_3 테이블에 사용자가 최근 30일동안에 새글과 답글을 5번 작성가능하게 할경우
(코멘트는 제한없음)
# $bo_table에서 $member[mb_id]에게 글작성수 체크하기
if($bo_table == 'board_3') {
$row_count = threes_rowcount($bo_table, $member[mb_id], 30, 1, 1, 0);
if($row_count > 5) {
alert("본 게시판은 새글과 답변이 30일동안 5번 까지만 가능합니다.");
}
}
3-4. 위의 3-1과 3-3를 같이 적용할경우
3-1번의 내용을 넣고, 3-3의 내용중 if를 else if로 변경한다.
# $bo_table에서 $member[mb_id]에게 글작성수 체크하기
if($bo_table == 'board_1' && !$is_admin) {
$row_count = threes_rowcount($bo_table, $member[mb_id], all, 1, 1, 1);
if($row_count) {
alert("본 게시판은 글작성이 한번만 가능합니다.");
}
}else if($bo_table == 'board_3' && !$is_admin) {
$row_count = threes_rowcount($bo_table, $member[mb_id], 30, 1, 1, 0);
if($row_count > 5) {
alert("본 게시판은 새글과 답변이 30일동안 5번 까지만 가능합니다.");
}
}
ps. 프로그램 작업하는것보다 글로 설명하는것이 더 힘들군요
혹시 의문점있으시면 코멘트 달아주십시오.
추천
0
0
댓글 전체
정말 좋은 팁입니다..수고하셨습니다.. 참,,, 생성된 게시판에 카테고리에도 적용이 되는지요?,,
최강그누 홧띵!
그런데, 제가 성경이어쓰기스킨을 응용해서 쓰고 있는데...하루에 무한정으로 글을 쓸수는 있지만 연속해서 글을 올리지 못하게 하려면 어찌해야 할까요...
그러니까, 자기가 쓴 글 다음에 다른사람이 글을 써야 그다음에 또 내가 쓸수 있도록 하는거 말씀입니다.
그런데, 제가 성경이어쓰기스킨을 응용해서 쓰고 있는데...하루에 무한정으로 글을 쓸수는 있지만 연속해서 글을 올리지 못하게 하려면 어찌해야 할까요...
그러니까, 자기가 쓴 글 다음에 다른사람이 글을 써야 그다음에 또 내가 쓸수 있도록 하는거 말씀입니다.
최강입니다.
최강그누보드
최강그누보드
항상 애 쓰시네요. 명절 잘 보내세요.
한동안 바쁘셨나 봅니다.^^
한동안 바쁘셨나 봅니다.^^
그누4용으로 만들어지면 좋겠습니다.
게시판에 하루에 한번 글 작성

dddd