테스트 사이트 - 개발 중인 베타 버전입니다

몇일후에 포인트 부여하는 PHP 스크립트

point_skin.php

----- 소스코드 ----

#!/usr/local/bin/php -q
<?php

// 포인트를 몇일후에 부여하는 스크립트

include "/절대경로/config.php";
include "/절대경로/lib/common.lib.php";

include "/절대경로/dbconfig.php";
$connect = @mysql_connect($mysql_host, $mysql_user, $mysql_password);
$select_db = @mysql_select_db($mysql_db, $connect);
if (!$select_db) {
echo "DB 접속 오류";
exit;
}

$config[cf_use_point] = 1;

// 몇일전
$before3day = date("Y-m-d", time() - (86400 * 3));
$before9day = date("Y-m-d", time() - (86400 * 9)); // 포인트정리가 되었을지 모르므로

// 게시판 배열
$arr_bo_table = array("g4_skin", "g3_skin", "self_program", "cm_gallery");
// 포인트 배열 (게시판의 갯수와 동일하게 설정)
$arr_bo_point = array(10000, 10000, 5000, 1000);

$k = 0;
for ($i=0; $i<count($arr_bo_table); $i++)
{
$bo_table = $arr_bo_table[$i];
$bo_point = $arr_bo_point[$i];

$sql = " select wr_id, wr_subject, a.mb_id, b.po_rel_id
from {$g4[write_prefix]}{$bo_table} a
left join $g4[point_table] b
on (a.wr_id=b.po_rel_id and b.po_rel_table='$bo_table' and a.mb_id=b.mb_id)
where wr_is_comment = 0
and wr_datetime between '{$before9day}' and '{$before3day}'
order by wr_id ";
$result = sql_query($sql);
while($row = sql_fetch_array($result))
{
if (!$row[po_rel_id])
insert_point($row[mb_id], $bo_point, get_text($row[wr_subject]) . ' : 포인트 자동 부여', $bo_table, $row[wr_id], '자동포인트');
}
}
?>


crontab 에 추가한 후 사용하시면 됩니다.



crontab -e

0 4 * * * su - root -c '/절대경로/point_skin.php'

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 9개

멋진 팁입니다.
흐...
다 좋은데...
언제 써 먹어 보려나~*^^*
이소스와 관련된 테스트의 결과로 포인트 오만점 받은듯 합니다.
http://www.sir.co.kr/bbs/board.php?bo_table=cm_free&wr_id=61080

감사합니다.
포인트로 자료를 올리고 받는 사이트에서 이용하면 좋겠군요..

글 작성후 바로 코멘트가 지급되면...
일단 다다다다 도배를 해서 목적 포인트에 도달한 후 원하는 자료를 다운받거나 보고 갈 수 있지만
요걸 적용하면 그게 힘들어 지겠군요 ㅎㅎ
나도 이번에 포인트 십삼만오천점 받은듯 합니다.

감사합니다. ^^
이거 호스팅에서도 사용가능한가요?
crontab 명령은 호스팅에서 실행이 안되는거 같은데...

포인트로 홈피를 돌릴예정이라 이게 필요한데...
멋진 팁 감사합니다.
초보를 위해서 조금 자세한 사용 설명법을 부탁합니다.
어디다 위의 소스를 추가하는 거죠?

감사합니다
관리자님 감사합니다.

게시판 목록

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.
글쓰기