채택완료
일정 시간(기간)이 지난 게시물은 읽기 댓글 포인트 지급 안하기
회원들이 포인트를 얻기 위해서
오래된 글을 모두 읽고 댓글을 달고 있네요.
오래된 게시물은 읽거나 댓글을 달아도 포인트 지급을 막고싶습니다.
팁을 본거같아서 찾아봤는데 못찾겠더군요.
답변 1개 / 댓글 2개
채택된 답변
+20 포인트
2022-05-19 (목) 22:52:33
https://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=310
이거보시고 하시면 될꺼같네요.
답변에 대한 댓글 2개
타버린나무
2022-05-20 (금) 12:06:47
댓글 읽기 포인트 지급은 잘 동작합니다.
그런데 글'읽기' 포인트 지급이 안되게 하려면 어디를 손봐야 할까요..?
bbs/board.php 에
[code]
// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$ss_name = 'ss_view_'.$bo_table.'_'.$wr_id;
if (!get_session($ss_name))
{
sql_query(" update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$wr_id}' ");
// 자신의 글이면 통과
if ($write['mb_id'] && $write['mb_id'] === $member['mb_id']) {
;
} else if ($is_guest && $board['bo_read_level'] == 1 && $write['wr_ip'] == $_SERVER['REMOTE_ADDR']) {
// 비회원이면서 읽기레벨이 1이고 등록된 아이피가 같다면 자신의 글이므로 통과
;
} else {
// 글읽기 포인트가 설정되어 있다면
if ($config['cf_use_point'] && $board['bo_read_point'] && $member['mb_point'] + $board['bo_read_point'] < 0)
alert('보유하신 포인트('.number_format($member['mb_point']).')가 없거나 모자라서 글읽기('.number_format($board['bo_read_point']).')가 불가합니다.\\n\\n포인트를 모으신 후 다시 글읽기 해 주십시오.');
// 오래된 글은 포인트 지급 금지 *수정* https://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=310 응용
$po_limit_days = "+3 days"; // 3일이 지난 글에 작성한 글은 포인트 지급 금지
$po_limit_times = strtotime($po_limit_days, strtotime($wr['wr_datetime']));
if (G5_SERVER_TIME <= $po_limit_times) {
insert_point($member['mb_id'], $board['bo_read_point'], ((G5_IS_MOBILE && $board['bo_mobile_subject']) ? $board['bo_mobile_subject'] : $board['bo_subject']).' '.$wr_id.' 글읽기', $bo_table, $wr_id, '읽기');
}
}
set_session($ss_name, TRUE);
}
[/code]
위처럼 수정 했더니 날짜 상관없이 아예 포인트 지급을 안하네요.
그런데 글'읽기' 포인트 지급이 안되게 하려면 어디를 손봐야 할까요..?
bbs/board.php 에
[code]
// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$ss_name = 'ss_view_'.$bo_table.'_'.$wr_id;
if (!get_session($ss_name))
{
sql_query(" update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$wr_id}' ");
// 자신의 글이면 통과
if ($write['mb_id'] && $write['mb_id'] === $member['mb_id']) {
;
} else if ($is_guest && $board['bo_read_level'] == 1 && $write['wr_ip'] == $_SERVER['REMOTE_ADDR']) {
// 비회원이면서 읽기레벨이 1이고 등록된 아이피가 같다면 자신의 글이므로 통과
;
} else {
// 글읽기 포인트가 설정되어 있다면
if ($config['cf_use_point'] && $board['bo_read_point'] && $member['mb_point'] + $board['bo_read_point'] < 0)
alert('보유하신 포인트('.number_format($member['mb_point']).')가 없거나 모자라서 글읽기('.number_format($board['bo_read_point']).')가 불가합니다.\\n\\n포인트를 모으신 후 다시 글읽기 해 주십시오.');
// 오래된 글은 포인트 지급 금지 *수정* https://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=310 응용
$po_limit_days = "+3 days"; // 3일이 지난 글에 작성한 글은 포인트 지급 금지
$po_limit_times = strtotime($po_limit_days, strtotime($wr['wr_datetime']));
if (G5_SERVER_TIME <= $po_limit_times) {
insert_point($member['mb_id'], $board['bo_read_point'], ((G5_IS_MOBILE && $board['bo_mobile_subject']) ? $board['bo_mobile_subject'] : $board['bo_subject']).' '.$wr_id.' 글읽기', $bo_table, $wr_id, '읽기');
}
}
set_session($ss_name, TRUE);
}
[/code]
위처럼 수정 했더니 날짜 상관없이 아예 포인트 지급을 안하네요.
답변을 작성하려면 로그인이 필요합니다.