그누보드 오래된 게시글 댓글 포인트 지급 제한 설정 방법
페이지 정보

본문
그누보드 운영자·개발자가 오래된 게시글에 달리는 댓글에 무분별한 포인트가 지급되는 문제를 해결하고, 기간별 지급 제한 코드를 적용하는 방법을 안내합니다.
오래된 게시글 댓글 포인트 지급 제한 수정 방법
그누보드5에서 게시글 작성일 기준으로 일정 기간이 지난 오래된 글에 달리는 댓글의 포인트를 차단하려면 bbs/write_comment_update.php 파일을 수정합니다.
수정 대상 파일 및 위치
- 수정 파일:
bbs/write_comment_update.php - 확인 및 수정 위치: 파일 내 기존 포인트 부여 로직 부분
기존에 포인트가 항상 부과되던 insert_point 함수 호출 부근을 찾아 아래와 같이 조건문을 추가합니다.
// 오래된 글은 포인트 지급 금지
$po_limit_days = "+30 days"; // 30일이 지난 글에 작성한 댓글은 포인트 지급 금지
$po_limit_times = strtotime($po_limit_days, strtotime($wr['wr_datetime']));
if (G5_SERVER_TIME <= $po_limit_times) {
// 포인트 부여
insert_point($member['mb_id'], $board['bo_comment_point'], "{$board['bo_subject']} {$wr_id}-{$comment_id} 댓글쓰기", $bo_table, $comment_id, '댓글');
}
기간 설정 방법
$po_limit_days = "+30 days"; 코드의 +30 days 부분을 원하는 일수로 변경할 수 있습니다. 예를 들어 +90 days나 +365 days와 같이 설정하여 제한 기간을 조절할 수 있습니다.
기간 제한 코드 적용 후 댓글 포인트 차단 여부 확인 방법
bbs/write_comment_update.php 파일에 오래된 게시글 댓글 포인트 지급 제한 코드를 적용한 후, 포인트가 정상적으로 차단되는지 확인하려면 다음 단계를 진행합니다.
1. 테스트 대상 게시글 선정
- 설정한 기간($polimitdays, 예:
+30 days)을 초과한 작성일의 오래된 게시글을 준비합니다.
2. 테스트 댓글 작성
- 해당 오래된 게시글에 테스트용 댓글을 작성하여 등록합니다.
3. 포인트 적립 결과 확인
- 관리자 계정 또는 테스트 계정의 포인트 내역(
point_list.php등)을 확인하여,insert_point함수 조건문(G5_SERVER_TIME <= $po_limit_times)에 의해 해당 댓글 작성에 대한 포인트가 적립되지 않고 차단되었는지 확인합니다.
오래된 게시글 댓글 포인트 지급 제한 방법
그누보드5에서 오래된 게시글에 달리는 댓글에 무분별하게 포인트가 지급되는 것을 제한하려면 bbs/write_comment_update.php 파일을 수정해야 합니다.
1. 수정 파일 위치
bbs/write_comment_update.php
2. 코드 수정 방법
파일 내에서 포인트 부여를 처리하는 insert_point 함수 호출 부분을 찾아 조건문으로 감싸줍니다. 작성일($wr['wr_datetime'])과 서버 시간(G5_SERVER_TIME)을 비교하여 지정된 기간을 초과한 경우 포인트 지급을 차단합니다.
// 오래된 글은 포인트 지급 금지
$po_limit_days = "+30 days"; // 30일이 지난 글에 작성한 댓글은 포인트 지급 금지
$po_limit_times = strtotime($po_limit_days, strtotime($wr['wr_datetime']));
if (G5_SERVER_TIME <= $po_limit_times) {
// 포인트 부여
insert_point($member['mb_id'], $board['bo_comment_point'], "{$board['bo_subject']} {$wr_id}-{$comment_id} 댓글쓰기", $bo_table, $comment_id, '댓글');
}
3. 기간 설정 변경
$po_limit_days 변수의 값을 원하는 일수로 변경하여 적용할 수 있습니다.
- 예시:
+90 days,+365 days
4. 특정 게시판별 예외 처리 및 주의사항
- 게시판별 예외 처리: 특정 게시판에만 제한을 적용하거나 게시판마다 기간을 다르게 설정하려면
$bo_table변수를 활용한 조건문을 추가합니다.if ($bo_table == 'free' && G5_SERVER_TIME > $po_limit_times) { // 특정 게시판(free)에서 기간 초과 시 포인트 지급 제한 return; } - 주의사항: 코드를 수정하기 전 반드시 원본
bbs/write_comment_update.php파일을 백업하십시오. 스킨 파일 수정 방식이 아니므로 테마 업데이트 시 초기화되지는 않으나, 그누보드 코어 업데이트 시 수정 내역을 확인해야 합니다.
상황별 판단 및 행동 가이드
| 내 상황 | 선택 기준 | 다음 행동 |
|---|---|---|
| 오래된 게시글에 달린 댓글의 포인트 무분별한 지급을 제한하고 싶음 | bbs/write_comment_update.php 파일 내 포인트 부여 로직 확인 | 원본 파일을 백업한 후, 작성일($wr['wr_datetime'])과 서버 시간(G5_SERVER_TIME)을 비교하는 조건문과 $po_limit_days 설정 코드를 추가하여 포인트 적립을 제어 |
| 특정 기간이 지난 글에 댓글 작성 시 포인트가 정상 차단되는지 검증이 필요한 경우 | 설정한 기간(+30 days 등)을 초과한 오래된 게시글 대상 테스트 | 설정 기간을 넘긴 오래된 게시글에 직접 테스트 댓글을 작성한 후, 관리자 페이지의 포인트 내역에서 적립이 제한되었는지 확인 |
실전 FAQ
Q. 포인트 제한 기간을 30일이 아니라 다른 기간으로 변경하려면 어떻게 하나요?
$po_limit_days = "+30 days";코드에서+30 days부분을 원하는 일수(예:+90 days,+365 days)로 수정하여 제한 기간을 유연하게 조절할 수 있습니다.
Q. 코드를 수정했는데도 오래된 글에 포인트가 계속 지급된다면 무엇을 확인해야 하나요?
bbs/write_comment_update.php파일 내에서insert_point함수를 감싸는 조건문(if (G5_SERVER_TIME <= $po_limit_times))이 올바른 위치에 삽입되었는지, 그리고$wr['wr_datetime']변수가 정상적으로 게시글의 작성일 정보를 가져오고 있는지 확인해야 합니다.
함께 보면 좋은 글
- 그누보드 5.4 이상 게시글 추천 시 작성자 포인트 자동 지급 훅 구현 방법
- 그누보드 댓글 작성 시 대댓글 답변에는 포인트 지급 제외하는 방법
- 그누보드 게시판 오래된 글 댓글 작성 제한 방법
참고자료
기타 참고자료
- 이전글그누보드 회원가입 시 약관 및 개인정보처리방침 동의 단계 생략 방법 26.10.11
- 다음글그누보드 게시판 목록에서 첨부파일 이미지 여부에 따른 아이콘 구분 출력하기 26.10.10
댓글목록
등록된 댓글이 없습니다.