BOARD

팁·활용

그누보드 첨부파일 다운로드 시 매번 포인트 차감 설정 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 5회 작성일 26-09-13 23:34

본문

그누보드 첨부파일 포인트 차감 방식의 이해

그누보드는 기본적으로 첨부 파일을 다운로드할 때 최초 1회만 포인트를 차감하도록 설계되어 있습니다. 하지만 운영 목적에 따라 파일을 내려받을 때마다 매번 포인트를 차감해야 하는 경우가 발생합니다. 이 기능은 스킨 폴더에 전용 파일을 추가하여 구현할 수 있으며, 사용자는 다운로드 시 마다 포인트를 소모하게 되어 포인트 경제 시스템을 정밀하게 관리할 수 있는 효과를 얻습니다.

다운로드 중복 차감 설정 방법

스킨 파일을 수정하거나 생성하기 전에는 반드시 원본 파일을 백업하여 예기치 않은 오류에 대비해야 합니다. 포인트를 매번 차감 적용하려는 게시판 스킨 폴더 안에 download.tail.skin.php 파일을 신규로 생성하고 아래의 코드를 입력합니다.

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

// 자신의 글이거나 관리자인 경우 통과
if (($write['mb_id'] && $write['mb_id'] == $member['mb_id']) || $is_admin) ;
else if ($board['bo_download_level'] >= 1) // 회원이상 다운로드가 가능하다면
{
    // 다운로드 포인트가 음수이고 회원의 포인트가 0 이거나 작다면
    if ($member['mb_point'] + $board['bo_download_point'] < 0)
        alert('보유하신 포인트('.number_format($member['mb_point']).')가 없거나 모자라서 다운로드('.number_format($board['bo_download_point']).')가 불가합니다.\n\n포인트를 적립하신 후 다시 다운로드 해 주십시오.');

    // 다운로드할 때마다 계속해서 포인트 차감
    insert_point($member['mb_id'], $board['bo_download_point'], "{$board['bo_subject']} $wr_id 파일 다운로드", $bo_table, $wr_id, G5_TIME_YMDHIS);
}
?>

특정 게시판에만 제한적으로 적용하기

모든 게시판이 아니라 특정 게시판(예: 자유게시판 등)에만 매번 포인트 차감 기능을 적용하고 싶다면, 코드 전체를 조건문으로 감싸서 특정 게시판 아이디에서만 동작하도록 지정할 수 있습니다.

if ($bo_table == 'free') {
    // 다운로드할 때마다 계속해서 포인트 차감 로직
}

적용 시 주의사항 및 확인

해당 코드는 회원의 보유 포인트가 설정된 다운로드 차감 포인트보다 부족할 경우 다운로드를 차단하고 경고창을 출력합니다. 본인이 작성한 게시물의 첨부파일이거나 관리자 계정일 때는 포인트가 차감되지 않도록 예외 처리가 포함되어 있습니다. 파일을 생성한 후 실제 게시판에서 다운로드를 시도하여 포인트가 정상적으로 반복 차감되는지 확인해야 하며, 문제 발생 시 백업해 둔 파일을 복구하여 원래 상태로 되돌릴 수 있습니다.

함께 보면 좋은 글

댓글목록

등록된 댓글이 없습니다.