많은고수들이 있는데 다운받을때 포인트할인은 못하나보다... > 자유게시판

자유게시판

많은고수들이 있는데 다운받을때 포인트할인은 못하나보다... 정보

많은고수들이 있는데 다운받을때 포인트할인은 못하나보다...

본문

<?
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("$g4[bbs_path]/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포인트를 적립하신 후 다시 다운로드 해 주십시오.");

        // 아이디는 70% 차감. 다른 레벨은 정상차감
if ($member['mb_id'] == 'test' || $member['mb_id'] == 'test2') {

// 게시물당 한번만 차감하도록 수정
insert_point($member[mb_id], (int)($board[bo_download_point] * 0.7), "$board[bo_subject] $wr_id 파일 다운로드", $bo_table, $wr_id, "다운로드");

} else {

// 게시물당 한번만 차감하도록 수정
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("파일을 찾을 수 없습니다.");
}
?>
본파일은 bbs/download.php 를 수정했습니다.
할인을 할려고 넣었지만은 되지두 않구.
포인트 할인 할수있는방법은 아무도 모르시는지...
왜 다운로드 받을때 포인트가 할인이 안되지 ㅠ_ㅠ맞는거같은데...
아무도 못하나봐 이거에대한 수수께기를 과연 풀수있는사람은 있을까??

추천
0

댓글 13개

누군가가 수정을 잘 해주셨네요.

test계정 만들고 포인트 10000점 채워넣고
파일 다운로드시 10000점 차감하게 해 두고
파일 다운로드 받아보세요.  7000점 차감되고 3000점 남을겁니다.
, , (int)($board[bo_download_point] * 0.7), "

인트 함수 저렇게 쓰는게 맞나요?
, (int($board[bo_download_point] * 0.7)), "
이거 아닌가요?
못하는게 귀찮아서 안해주는 거겠죠 ..
질답 게시판만 봐도 고수분들은 참여를 거의 안합니다. 종종 가끔 들어 오셔서 참여 하실뿐 ... 그것만으로도 감사한거죠 다른 분들에게는 큰 도움이 될테니깐요
고수가 자기 일하기도 바쁜데 남의 프로그램 손봐주고 있을까요 ?
네이버 웹표준 코더나 프로그래머가 네이버 지식인 답변 해주고 있을까요 ..
늘 질문 남기실때 약간 비꼬아서 말씀 하시는거 같은데 고수가 많은데 이런게 해결
못해주냐 고수가 많은데 이런거 답변 못해주냐 이런식으로 약간 비꼬아서 자극시켜서
답변을 받을라고 하시는거 같은데 ㅋ 답변하고 싶다가도 안하고 싶겠네요 ㅋ
테스트2랑 테스트 두개로 테스트해밨어욤..
근데안되네요. 저두 되는거 같아서..;;
배추게시판을 사용해서 그런가? 이상하네요.
소스 10줄 이상되면 보기 싫다능;;;;
관련 부분만 최대한 줄여서 올리시면 더 많은 분이 볼겁니다.

한페이지 다올리면 보지도 않고 대부분 닫아버립니다.

예의는 기본이지요 ㅋ_ㅋ
전체 196,492 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT