마이너스 포인트 일때 다운되지 않게 하는 법 (수정)
gbdownload.php 이 파일을 열어 수정하십시오.
굵은 부분을 추가해서 넣으십시오.
회원 권한을 앞에 두고 다운로드 포인트 권한을 두번째 옮겨 실효성을 갖추었습니다.
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("파일을 찾을 수 없습니다.");
}
?>
굵은 부분을 추가해서 넣으십시오.
회원 권한을 앞에 두고 다운로드 포인트 권한을 두번째 옮겨 실효성을 갖추었습니다.
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("파일을 찾을 수 없습니다.");
}
?>
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 8개
뭐가 잘못된건지 모르겠네요
추가로
다운로드클릭시 msg활용해서 "회원님은 현재 몇 포인트를 가지고 계십니다. 다운받으실려면 XX포인트가 필요합니다. \n다운로드 받으시겠습니까?" "예" "아니오"
가 있었으면 좋겠네요^^