다운받은 게시물인데 다운로드 포인트가 없다고 메세지가 뜨요... 정보
다운받은 게시물인데 다운로드 포인트가 없다고 메세지가 뜨요...
본문
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 :
그누보드 4.36.04 버전이구요.
bbs/download.php 파일에서 문제가 있는것 같기도 합니다. 수정한 부분은 없습니다.
문제가 되는게 포인트 적용 게시판에서
다운로드 할 때 -10000점을 차감하게 지정을 했습니다.
회원의 포인트가 10000점 이상일 경우에는
로그아웃 하고 다시 로그인 해서 한번 받은 게시물을 다운로드하면 포인트 차감없이 잘 다운로드가 되는데요.
회원의 포인트가 10000점 이하일 경우에는
로그아웃 하고 다시 로그인 해서 지난번에 받은 게시물을 다운로드 하려고 하면
"보유하신 포인트가 없거나 모자라서 다운로드가 불가합니다. 포인트를 적립하신 후에 다시 다운로드 해 주십시오."
라는 메세지가 뜨면서 다운로드가 안됩니다.
bbs/download.php 34번째 줄부터 보니까.
// 이미 다운로드 받은 파일인지를 검사한 후 게시물당 한번만 포인트를 차감하도록 수정
$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) . " > 다운로드";
if (preg_match("/^utf/i", $g4[charset]))
$original = urlencode($file[bf_source]);
else
$original = $file[bf_source];
이런 부분이 있더라구요. 이 부분을 보면 이미 다운로드 받은 파일은 다시 다운로드 할 수 있다는 것이 아닌지 궁금합니다.
혹시 저랑 비슷한 문제가 발생한 회원분 안계신가요?
어떤 부분이 잘못되었는지 모르겠습니다.
오류 주소 :
그누보드 4.36.04 버전이구요.
bbs/download.php 파일에서 문제가 있는것 같기도 합니다. 수정한 부분은 없습니다.
문제가 되는게 포인트 적용 게시판에서
다운로드 할 때 -10000점을 차감하게 지정을 했습니다.
회원의 포인트가 10000점 이상일 경우에는
로그아웃 하고 다시 로그인 해서 한번 받은 게시물을 다운로드하면 포인트 차감없이 잘 다운로드가 되는데요.
회원의 포인트가 10000점 이하일 경우에는
로그아웃 하고 다시 로그인 해서 지난번에 받은 게시물을 다운로드 하려고 하면
"보유하신 포인트가 없거나 모자라서 다운로드가 불가합니다. 포인트를 적립하신 후에 다시 다운로드 해 주십시오."
라는 메세지가 뜨면서 다운로드가 안됩니다.
bbs/download.php 34번째 줄부터 보니까.
// 이미 다운로드 받은 파일인지를 검사한 후 게시물당 한번만 포인트를 차감하도록 수정
$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) . " > 다운로드";
if (preg_match("/^utf/i", $g4[charset]))
$original = urlencode($file[bf_source]);
else
$original = $file[bf_source];
이런 부분이 있더라구요. 이 부분을 보면 이미 다운로드 받은 파일은 다시 다운로드 할 수 있다는 것이 아닌지 궁금합니다.
혹시 저랑 비슷한 문제가 발생한 회원분 안계신가요?
어떤 부분이 잘못되었는지 모르겠습니다.
댓글 전체
// 다운로드 포인트가 음수이고 회원의 포인트가 0 이거나 작다면
if ($member[mb_point] + $board[bo_download_point] < 0)
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 다운로드(".number_format($board[bo_download_point]).")가 불가합니다.\\n\\n포인트를 적립하신 후 다시 다운로드 해 주십시오.");
을 아래같이 수정하시면 될듯 합니다
//이미 다운받았는지를 확인
$sql = " select count(*) as cnt from $g4[point_table]
where mb_id = '$member[mb_id]'
and po_rel_table = '$bo_bable'
and po_rel_id = '$wr_id'
and po_rel_action = '다운로드' ";
$row = sql_fetch($sql);
if ($row[cnt])
{
//다운받지 않았다면 회원포인트를 검사
if ($member[mb_point] + $board[bo_download_point] < 0)
{
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 다운로드(".number_format($board[bo_download_point]).")가 불가합니다.\\n\\n포인트를 적립하신 후 다시 다운로드 해 주십시오.");
}
}
if ($member[mb_point] + $board[bo_download_point] < 0)
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 다운로드(".number_format($board[bo_download_point]).")가 불가합니다.\\n\\n포인트를 적립하신 후 다시 다운로드 해 주십시오.");
을 아래같이 수정하시면 될듯 합니다
//이미 다운받았는지를 확인
$sql = " select count(*) as cnt from $g4[point_table]
where mb_id = '$member[mb_id]'
and po_rel_table = '$bo_bable'
and po_rel_id = '$wr_id'
and po_rel_action = '다운로드' ";
$row = sql_fetch($sql);
if ($row[cnt])
{
//다운받지 않았다면 회원포인트를 검사
if ($member[mb_point] + $board[bo_download_point] < 0)
{
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 다운로드(".number_format($board[bo_download_point]).")가 불가합니다.\\n\\n포인트를 적립하신 후 다시 다운로드 해 주십시오.");
}
}
감사합니다. 너무너무 잘 됩니다....
원본 그누보드를 님이 말씀해주신 방법으로 바꿔야 하는거 아닌지... ^^
다시 한번 감사드립니다.
원본 그누보드를 님이 말씀해주신 방법으로 바꿔야 하는거 아닌지... ^^
다시 한번 감사드립니다.