티스토리 뷰
/bbs/link.php
로 만들어서 사용하는 법
다운로드 포인트 차감을 이용해서 만든다.
<?php
include_once('./_common.php');
$html_title = '링크 > '.conv_subject($write['wr_subject'], 255);
if (!($bo_table && $wr_id && $no))
alert_close('값이 제대로 넘어오지 않았습니다.');
// SQL Injection 예방
$row = sql_fetch(" select count(*) as cnt from {$g5['write_prefix']}{$bo_table} ", FALSE);
if (!$row['cnt'])
alert_close('존재하는 게시판이 아닙니다.');
if (!$write['wr_link'.$no])
alert_close('링크가 없습니다.');
@include_once($board_skin_path.'/link.head.skin.php');
$ss_name = 'ss_link_'.$bo_table.'_'.$wr_id.'_'.$no;
if (empty($_SESSION[$ss_name]))
{
$sql = " update {$g5['write_prefix']}{$bo_table} set wr_link{$no}_hit = wr_link{$no}_hit + 1 where wr_id = '{$wr_id}' ";
sql_query($sql);
set_session($ss_name, true);
// 새글 업데이트
$as_link = (int)$write['wr_link1_hit'] + (int)$write['wr_link2_hit'] + 1;
sql_query(" update {$g5['board_new_table']} set as_link = '{$as_link}' where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' ", false);
}
@include_once($board_skin_path.'/link.tail.skin.php');
goto_url(set_http($write['wr_link'.$no]));
?>
그리고 나서 스킨에서 적당하게
link.tail.skin.php 화일을 만들어서
if (!defined('_GNUBOARD_')) exit; //개별 페이지 접근 불가
// 자신의 글이라면 통과
// 관리자인 경우 통과
//if (($write['mb_id'] && $write['mb_id'] == $member['mb_id']) || $is_admin == 'super')
// ;
// else
if ($board['bo_download_level'] > 1) // 회원이상 다운로드가 가능하다면
{
$timestamp = "-".$board['bo_1']." days";//" minutes";// 날짜 몇일 지나야 초기화인지.
$sql_term = "and po_datetime > '".date("Y-m-d H:i:s", strtotime($timestamp))."'"; // 기간(일수,today,yesterday,month,prev)
$row = sql_fetch(" select count(*) as cnt from {$g5['point_table']} where mb_id = '{$member['mb_id']}' and po_rel_table = '$bo_table' and po_rel_id = '$wr_id' and po_rel_action = '링크 다운로드' ".$sql_term);
//print_r($row);
$download_period = ($row['cnt']) ? true : false;//다운받은지 지정된 기간 이내인 경우라면
//alert($download_period);
//$download_period = false;
if(!$download_period || 1==true){//기간없이 누를때마다 매번 차감되게끔
// 다운로드 포인트가 음수이고 회원의 포인트가 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, "링크 다운로드");
// 게시물당 계속 차감 하도록 수정(차감조건을 기간으로 설정하기 때문에);
insert_point($member['mb_id'], $board['bo_download_point'], "{$board['bo_subject']} $wr_id 링크 다운로드 _".G5_TIME_YMDHIS, $bo_table, $wr_id, "링크 다운로드","0","1");
}
}
?>
'웹 > 그누보드' 카테고리의 다른 글
그누보드에서 봇 차단하는 방법 (1) | 2024.04.27 |
---|---|
그누보드6 윈도우에 설치 및 재설정 mysql 설치 오류 해결 (0) | 2024.04.22 |
텔레그램 주문 알림 (2) | 2024.01.12 |
그누보드 여분필드 10개 이상 사용 방법. (0) | 2022.03.02 |
그누보드 중복로그인 방지 (0) | 2022.02.25 |
- Total
- Today
- Yesterday
- 아미나
- 그누보드5
- 클라우드플레어
- 그누보드
- 파이선
- 파이썬
- 멀티계정
- Apache
- 윈도우
- 제로보드
- 셀레니움
- php8
- 루팅
- Cloudflare
- SSL
- 텔레그램
- .htaccess
- 오토셋
- xe
- python
- Fullcalendar
- 워드프레스
- 유튜브
- Magisk
- 텔레그램봇
- lsposed
- 에러
- 회원가입
- php
- 아파치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |