마이너스 포인트 일때 다운되지 않게 하는 법 (수정) > 그누3 팁자료실

그누3 팁자료실

마이너스 포인트 일때 다운되지 않게 하는 법 (수정) 정보

그누호환 마이너스 포인트 일때 다운되지 않게 하는 법 (수정)

본문

gbdownload.php 이 파일을 열어 수정하십시오.
굵은 부분을 추가해서 넣으십시오.
회원 권한을 앞에 두고 다운로드 포인트 권한을 두번째 옮겨 실효성을 갖추었습니다.

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

define("_DOCTYPE_", "NONE");

# 3.23
# 쿠키에 저장된 ID값과 넘어온 ID값을 비교하여 같지 않을 경우 오류 발생
# 다른곳에서 링크 거는것을 방지하기 위한 코드
$ss_name = "ss_view_{$bo_table}_{$wr_id}";
if (!$HTTP_SESSION_VARS[$ss_name])
alert("값을 제대로 넘겨주세요.");

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


if ($member[mb_point] < $board[bo_download_level]) {
$alert_msg = "포인트가 부족합니다.";
if ($point[mb_point] < 0) {
alert($alert_msg);
} else {
alert($alert_msg);
}
}


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

$filepath = "./data/file/$bo_table/" . $write["wr_file".$index];
$filepath = addslashes($filepath);
$original = $write["wr_file".$index."_source"];

if ($write["wr_file{$index}"] && file_exists($filepath)) {
if(eregi("msie", $HTTP_SERVER_VARS[HTTP_USER_AGENT]) && eregi("5\.5", $HTTP_SERVER_VARS[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");

if (is_file("$filepath")) {
$fp = fopen("$filepath", "rb");
// 서버부하를 줄이려면 print 나 echo 또는 while 문을 이용한 방법보다는 이방법이...
if (!fpassthru($fp)) {
fclose($fp);
}

# 3.23
$ss_name = "ss_down_{$bo_table}_{$wr_id}_{$index}";
if (!$HTTP_SESSION_VARS[$ss_name]) {
$sql = " update $write_table
set wr_file{$index}_download = wr_file{$index}_download + 1
where wr_id = '$wr_id' ";

if($member[mb_level] < 10) {
insert_point($member[mb_id], -30, "$board[bo_subject] $wr_file 다운"); // 다운 받을때 마다 -30점 깍임 단, 레벨 10은 포인트가 깍이지 않음
}


sql_query($sql);

session_register($ss_name);
$$ss_name = $HTTP_SESSION_VARS[$ss_name] = TRUE;
}
} else {
alert("해당 파일이나 경로가 존재하지 않습니다.");
}

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

댓글 전체

감사합니다.
추가로
다운로드클릭시 msg활용해서 "회원님은 현재 몇 포인트를 가지고 계십니다. 다운받으실려면 XX포인트가 필요합니다. \n다운로드 받으시겠습니까?" "예" "아니오"
가 있었으면 좋겠네요^^
전체 1,026
그누3 팁자료실 내용 검색

회원로그인

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