개별 포인트 다운 게시판 v1.4 + 포인트 적립 > 스킨

본문 바로가기
사이트 내 전체검색

스킨

board 개별 포인트 다운 게시판 v1.4 + 포인트 적립

페이지 정보

본문

글쓴이 : 엑박
아래 개별 포인트 다운 게시판과 동일하며, 다운로드가 발생되었을 때 일정 포인트를 글쓴이에게 적립시켜주는 기능이 포함되었습니다.

게시판에 들어가는 계급장, 경험치 파일을 같이 압축해 놓아서, 따로 추가로 소스추가나 수정이 필요없이 사용하시면 됩니다. (구글 광고 삭제)

게시판 내용은 스크린샷을 참조하시면 되겠습니다.

사용방법 : 각 폴더를 자신의 계정으로 올린뒤, 관리자 화면 게시판 관리에서 스킨을 수정합니다.
※ 포인트가 중복으로 차감될 수 있으므로 각 게시판에 있는 다운 포인트는 0으로 맞춰 주세요.
※ 여분 필드 1번에 1~100 적립될 포인트를 입력하세요. 이 단위는 %단위입니다.

예) 게시물에 300포인트를 걸었고, 여분필드1에 10이라고 적어놓았으면, 글쓴이는 다운로드 사용자가 발생할때마다 +30포인트를 얻습니다.

급히 수정해서 올렸지만, 테스트 결과 이상은 없네요.
오류나 이상이 생기면 댓글을...

요청이 많아서 올립니다.
추천0

첨부파일

댓글목록

profile_image

제로님의 댓글

제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

bbs/download.php 파일을 수정해보세요.

현재 사용중인 소스는

<?
include_once("./_common.php");

@include_once("$board_skin_path/download.head.skin.php");

// 쿠키에 저장된 ID값과 넘어온 ID값을 비교하여 같지 않을 경우 오류 발생
// 다른곳에서 링크 거는것을 방지하기 위한 코드
if (!get_session("ss_view_{$bo_table}_{$wr_id}"))
    alert("잘못된 접근입니다."); 

$sql = " select bf_source, bf_file from $g4[board_file_table]
          where bo_table = '$bo_table'
            and wr_id = '$wr_id'
            and bf_no = '$no' ";
$file = sql_fetch($sql);
if (!$file[bf_file])
    alert_close("파일 정보가 존재하지 않습니다.");

if ($member[mb_level] < $board[bo_download_level]) {
    $alert_msg = "다운로드 권한이 없습니다.";
    if ($member[mb_id])
        alert($alert_msg);
    else
        alert($alert_msg . "\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id&$qstr&url=".urlencode("board.php?bo_table=$bo_table&wr_id=$wr_id"));
}

// 사용자 코드 실행
@include_once("$board_skin_path/download.skin.php");

// 이미 다운로드 받은 파일인지를 검사한 후 게시물당 한번만 포인트를 차감하도록 수정
$ss_name = "ss_down_{$bo_table}_{$wr_id}";
if (!get_session($ss_name))
{
    // 자신의 글이라면 통과
    // 관리자인 경우 통과
    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, "다운로드");
    }

    // 다운로드 카운트 증가
    $sql = " update $g4[board_file_table] set bf_download = bf_download + 1 where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' ";
    sql_query($sql);

    set_session($ss_name, TRUE);
}

$g4[title] = "$group[gr_subject] > $board[bo_subject] > " . conv_subject($write[wr_subject], 255) . " > 다운로드";

$filepath = "$g4[path]/data/file/$bo_table/$file[bf_file]";
$filepath = addslashes($filepath);
if (preg_match("/^utf/i", $g4[charset]))
    $original = urlencode($file[bf_source]);
else
    $original = $file[bf_source];

@include_once("$board_skin_path/download.tail.skin.php");

if (file_exists($filepath)) {
    if(eregi("msie", $_SERVER[HTTP_USER_AGENT]) && eregi("5\.5", $_SERVER[HTTP_USER_AGENT])) {
        header("content-type: doesn/matter");
        header("content-length: ".filesize("$filepath"));
        header("content-disposition: attachment; filename=\"$original\"");
        header("content-transfer-encoding: binary");
    } else {
        header("content-type: file/unknown");
        header("content-length: ".filesize("$filepath"));
        header("content-disposition: attachment; filename=\"$original\"");
        header("content-description: php generated data");
    }
    header("pragma: no-cache");
    header("expires: 0");
    flush();

    if (is_file("$filepath")) {
        $fp = fopen("$filepath", "rb");

        // 4.00 대체
        // 서버부하를 줄이려면 print 나 echo 또는 while 문을 이용한 방법보다는 이방법이...
        //if (!fpassthru($fp)) {
        //    fclose($fp);
        //}

        while(!feof($fp)) {
            echo fread($fp, 100*1024);
            flush();
        }
        fclose ($fp);
        flush();
    } else {
        alert("해당 파일이나 경로가 존재하지 않습니다.");
    }

} else {
    alert("파일을 찾을 수 없습니다.");
}
?>

Total 396건 9 페이지
  • RSS

검색

회원로그인

회원가입

사이트 정보

株式会社YHPLUS / 대표 : ZERO
〒140-0011 東京都品川区東大井2-5-9-203
050-5539-7787
오픈카카오톡 (YHPLUS) :
https://open.kakao.com/o/slfDj15d

접속자집계

오늘
3,140
어제
5,834
최대
9,679
전체
2,726,548
Copyright (c) 株式会社YHPLUS. All rights reserved.