BOARD

문제 해결

그누보드 게시글 읽기 포인트 지급 기간 제한하기

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 1회 작성일 26-10-28 15:40

본문

그누보드 게시글 읽기 포인트 지급 기간 제한하기

그누보드에서 모든 게시글이 아닌, 작성된 지 3일 이내인 게시글을 읽을 때만 포인트를 지급하도록 수정하는 방법을 안내합니다.

게시글 읽기 포인트 지급 로직 수정 안내

그누보드에서 게시글 읽기 시 포인트 지급 로직은 bbs/board.php 파일 내에 위치합니다. 관리자 페이지의 기본 설정으로는 '등록 후 3일 이내'와 같은 기간 조건을 설정할 수 없으므로, 해당 파일을 직접 수정해야 합니다.

수정 전 주의사항

  • 파일 백업 필수: 코드를 수정하기 전 반드시 bbs/board.php 원본 파일을 안전한 곳에 백업하십시오. 수정 중 오류가 발생하면 게시판 기능이 정상적으로 작동하지 않을 수 있습니다.
  • 환경 확인: 사용 중인 테마나 플러그인에 따라 포인트 로직의 위치나 변수명이 다를 수 있습니다. 수정 전 파일 내에서 point 또는 insert_point 키워드를 검색하여 실제 로직이 위치한 라인을 먼저 확인하십시오.

구현 가이드

게시글의 작성일($write['wr_datetime'])과 현재 시간(G5_TIME_YMDHIS)을 비교하여 3일(259,200초) 이내인 경우에만 insert_point 함수가 실행되도록 조건문을 추가해야 합니다. 구체적인 수정 절차는 아래와 같습니다.

  1. bbs/board.php 파일을 엽니다.
  2. insert_point 함수가 호출되는 포인트 지급 로직 구간을 찾습니다.
  3. 기존 포인트 지급 코드를 아래와 같은 조건문으로 감쌉니다.
    if ((strtotime(G5_TIME_YMDHIS) - strtotime($write['wr_datetime'])) <= 259200) {
    // 기존 포인트 지급 코드
    insert_point(...);
    }

이 수정은 코어 파일을 직접 변경하는 방식이므로, 추후 그누보드 업데이트 시 수정 사항이 덮어씌워질 수 있음을 유의하십시오.

게시글 읽기 포인트 지급 조건 수정 안내

그누보드 관리자 페이지의 기본 설정으로는 특정 기간 이내에 작성된 게시글에만 포인트를 부여하는 기능을 제공하지 않습니다. 따라서 게시글 읽기 포인트 지급 로직이 포함된 bbs/board.php 파일을 직접 수정하여 작성일 기준 3일 이내인 경우에만 포인트가 지급되도록 조건을 추가해야 합니다.

1. 수정 전 주의사항

  • 파일 백업: 코드를 수정하기 전 반드시 bbs/board.php 파일을 별도로 백업하십시오.
  • 환경 확인: 사용 중인 그누보드 버전이나 테마, 기존 커스터마이징 환경에 따라 변수명이나 로직의 위치가 다를 수 있습니다. 수정 전 반드시 해당 파일의 기존 코드를 먼저 확인하십시오.

2. 코드 수정 가이드

bbs/board.php 파일 내에서 포인트 지급 함수(insert_point)가 호출되는 구간을 찾습니다. 해당 위치에 게시글의 작성일($write['wr_datetime'])과 현재 시간(G5_TIME_YMDHIS)을 비교하는 조건문을 추가합니다.

  • 로직 구성 예시:PHP의 strtotime() 함수를 사용하여 작성일과 현재 시간의 차이를 초 단위로 계산합니다. 3일은 259,200초(60초 × 60분 × 24시간 × 3일)입니다.
    // 작성일과 현재 시간의 차이가 3일(259,200초) 이내인지 확인
    if ((strtotime(G5_TIME_YMDHIS) - strtotime($write['wr_datetime'])) <= 259200) {
    insert_point($member['mb_id'], $board['bo_read_point'], $board['bo_subject'].' '.$wr_id.' 글읽기', $bo_table, $wr_id, '읽기');
    }

3. 적용 후 확인

코드를 적용한 후에는 반드시 테스트 계정을 사용하여 다음 사항을 확인하십시오.

  • 3일 이내 게시글: 읽기 시 포인트가 정상적으로 지급되는지 확인합니다.
  • 3일 경과 게시글: 읽기 시 포인트가 지급되지 않는지 확인합니다.

코드 수정 시 주의사항 및 안전한 적용 방법

그누보드에서 게시글 읽기 포인트 지급 로직을 수정하는 것은 핵심 기능을 변경하는 작업이므로, 아래의 절차를 준수하여 오류를 예방해야 합니다.

1. 수정 전 필수 준비 사항

  • 원본 파일 백업: bbs/board.php 파일을 수정하기 전, 반드시 해당 파일을 별도의 폴더에 복사하여 원본을 보관하십시오. 수정 후 오류가 발생하면 즉시 원본 파일을 덮어써서 복구할 수 있습니다.
  • 환경 확인: 사용 중인 테마나 커스터마이징 환경에 따라 변수명이나 로직의 위치가 다를 수 있습니다. 수정 전 bbs/board.php 파일을 열어 기존 포인트 지급 로직(insert_point 함수 호출부)이 어디에 있는지 먼저 확인하십시오.

2. 코드 수정 시 고려할 점

  • 조건문 적용: 게시글 작성일($write['wr_datetime'])과 현재 시간(G5_TIME_YMDHIS)을 비교하여 3일(259,200초) 이내인 경우에만 포인트 지급 함수가 실행되도록 조건문을 추가해야 합니다.
  • 변수 및 로직 검증: 수정 후에는 반드시 테스트 계정을 사용하여 다음 사항을 검증하십시오.
    • 3일 이내 게시글: 읽기 시 포인트가 정상적으로 적립되는지 확인합니다.
    • 3일 경과 게시글: 읽기 시 포인트가 적립되지 않는지 확인합니다.

3. 문제 발생 시 대응

  • 오류 발생 시: 코드 수정 후 게시판이 깨지거나 에러가 발생한다면, 즉시 백업해둔 원본 파일을 서버에 다시 업로드하여 상태를 되돌리십시오.
  • 포인트가 계속 지급될 경우: 조건문이 올바른 위치에 삽입되었는지, 작성일과 현재 시간의 차이 계산이 정확한지 다시 확인하십시오.

상황별 포인트 지급 조건 수정 가이드

내 상황우선할 판단다음 행동
3일 이내 게시글에만 포인트 지급 필요관리자 설정 부재 확인bbs/board.php 파일 내 로직 수정
코드 수정 후 오류 발생 방지원본 파일 백업수정 전 bbs/board.php 파일 복사본 생성
수정된 로직의 정상 작동 검증테스트 계정 활용3일 이내/경과 게시글 읽기 후 포인트 증감 확인

실전 FAQ

Q. bbs/board.php 파일에서 포인트 지급 로직을 어떻게 찾나요? A. 해당 파일 내에서 insert_point 또는 point 키워드를 검색하십시오. 그누보드 버전이나 테마에 따라 위치가 다를 수 있으므로, 검색된 코드 주변의 if 조건문을 확인하여 포인트 지급 함수가 호출되는 지점을 찾습니다.

Q. 3일 이내라는 조건을 어떻게 코드로 구현하나요? A. PHP의 strtotime() 함수를 사용하여 게시글 작성일($write['wr_datetime'])과 현재 시간(G5_TIME_YMDHIS)의 차이를 초 단위로 계산합니다. 3일은 259,200초(60초×60분×24시간×3일)이므로, (strtotime(G5_TIME_YMDHIS) - strtotime($write['wr_datetime'])) <= 259200 조건문을 포인트 지급 함수 호출부 상단에 추가하십시오.

Q. 코드를 수정했는데 포인트가 여전히 모든 글에서 지급됩니다. A. 조건문이 올바른 위치에 삽입되었는지 확인하십시오. 포인트 지급 함수(insert_point)가 조건문 밖에서 호출되고 있거나, 조건문의 논리 연산이 잘못되었을 가능성이 큽니다. 수정 후에는 반드시 테스트 계정으로 3일이 지난 게시글을 읽어 포인트가 지급되지 않는지 검증하십시오.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.