관리자님이 올리신 포인트 몇일후 지급...소스 해석 부탁드립니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

관리자님이 올리신 포인트 몇일후 지급...소스 해석 부탁드립니다. 정보

관리자님이 올리신 포인트 몇일후 지급...소스 해석 부탁드립니다.

본문

관리자님이 올리신 이소스 어떻게 적용하는지 쉽게 설명 부탁합니다.
 
포인트가 지급되는 날짜는 point_skin.php 어디에 삽입하고 맨 아래줄
 
 
crontab 에 추가한 후 사용하시면 됩니다.

crontab -e  
 
0 4 * * * su - root -c '/절대경로/point_skin.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'
 
----------------------------------------
 
여기 까지가 관리자님 설명입니다

댓글 전체

리눅스에 crontab 이라는 명령어가 있는데 이 기능을 사용할수있어야 사용가능한 팁입니다.
보통 호스팅에서는 crontab을 지원하지 않는 것으로 알고있습니다.

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

위내용은 crontab에 "매일 04시에 root의 권한으로 '/절대경로/point_skin.php'  파일을 실행"하라는
내용을 등록하는것입니다.
전 집에서 window xp pro에 APM_SETUP5 이걸 사용하고 있는데 위의 팁을 사용할 수 없는 것입니까..?

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

("g4_skin", "g3_skin", "self_program", "cm_gallery"); 요 게시판의 순서데로

(10000, 10000, 5000, 1000); 요만큼의 점수를 주어라 이 말이지요...??
crontab이라는것이 윈도우에 있는 스케쥴러와 동일한기능이라고 생각하시면 됩니다.
스케쥴러에 위의 내용을 설정하시면될것 같습니다.

그리고 게시판 배열과 포인트 배열은
각 게시판에 각 포인트만큼의 점수를 주라는 얘기입니다.
1번째 게시판에 1번째 포인트를.... ^^
으윽~..~

스케쥴러는 어디에 있지요 ... ???  그곳에 위 소스의 점수 게시판이름 등만 손봐서 복사해 넣으면 되나요..?

그리고

and wr_datetime between '{$before9day}' and '{$before3day}' 이것이 날짜 같은데 9일과 3일은 뭔뜻인지요.

한 2일정도 후에 포인트가 지급되게 할려면 어떻게 해야 할까요.




crontab 에 추가한 후 사용하시면 됩니다. <=이것은 빼야되는 문구일것이고



crontab -e    <=요문구 ... 수정없이 그냥  집어 넣나요..??

0 4 * * * su - root -c '/절대경로/point_skin.php'
대단히 죄송한 부탁입니다만

소스를 2일후에 지급되게 작성하신 후 올려 주시면서 ...

이걸 어떻게 어떻게 복사해 넣어라 이렇게 해주시면 매우 고맙겠습니다만

무리 인가요 .......???

위의 팁을 꼭 써보고 싶어서 그럼니다.  ~..~  실력은 않되고 ...요.
>// 몇일전
>$before3day = date("Y-m-d", time() - (86400 * 3));
>$before9day = date("Y-m-d", time() - (86400 * 9)); // 포인트정리가 되었을지 모르므로

3일에서 2일로 변경하실려면 위의 소스에서 3을 2로 변경하시면 될것 같습니다.
>$before3day = date("Y-m-d", time() - (86400 * 2));

그리고 위의 파일을 만들어두시고
스케뷸러(보조프로그램 > 시스템도구 > 예약된작업)에 만들어진 파일을 호출가능하도록 설정하시면 됩니다.

그러면 스케쥴러에 등록된 시간마다 설정하신 프로그램을 자동으로 실행해줄겁니다.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT