일정기간 시간이 지난 게시물에 코멘트 달아도 포인트 못받게.... > 그누4 질문답변

그누4 질문답변

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

일정기간 시간이 지난 게시물에 코멘트 달아도 포인트 못받게.... 정보

일정기간 시간이 지난 게시물에 코멘트 달아도 포인트 못받게....

본문

오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.

오류 주소 :


안녕하세요~

저희 커뮤니티에 어린분들이 많은지라

포인트를 쟁취하기 위해 아주 오래된 글에 댓글을 도배하여 포인트를

얻는 회원들이 많아서

가령 3달정도 지난 게시물에는 코멘트를 달아도 포인트를 받지 못하게

하려고 하는데....


운영자님은 이 팁을 쓰시고 계신것 같더라구요


어떤 방법이 좋을까요?

댓글 전체

common.lib.php에서 수정해야 할 것 같네요. 아래 함수에서 마지막에 $rel_days 필드를 하나 더 추가한 다음에, 해당 기간이 넘으면 포인트를 안주면 되겠죠?

function insert_point($mb_id, $point, $content='', $rel_table='', $rel_id='', $rel_action='', $rel_days=90)
{
    global $config;
    global $g4;
    global $is_admin;

    // 포인트 사용을 하지 않는다면 return
    if (!$config[cf_use_point]) { return 0; }

    // 요기에서 날짜 비교를 합니다. 오늘과 글쓴 날짜의 차이가 rel_day보다 크면 $point=으로 합니다.
    ... 제가 코드를 넣지는 않았어요. ㅋㅋ

    // 포인트가 없다면 업데이트 할 필요 없음
    if ($point == 0) { return 0; }

    // 회원아이디가 없다면 업데이트 할 필요 없음
    if ($mb_id == "") { return 0; }
    $mb = sql_fetch(" select mb_id from $g4[member_table] where mb_id = '$mb_id' ");
    if (!$mb[mb_id]) { return 0; }

    // 이미 등록된 내역이라면 건너뜀
    if ($rel_table || $rel_id || $rel_action)
    {
        if ($rel_table == "@login") {} else { // 로그인테이블의 경우에는 등록된 내역 확인을 생략

        $sql = " select count(*) as cnt from $g4[point_table]
                  where mb_id = '$mb_id'
                    and po_rel_table = '$rel_table'
                    and po_rel_id = '$rel_id'
                    and po_rel_action = '$rel_action' ";
        $row = sql_fetch($sql);
        if ($row[cnt])
            return -1;
       
        }
    }

    // 포인트 건별 생성
    $sql = " insert into $g4[point_table]
                set mb_id = '$mb_id',
                    po_datetime = '$g4[time_ymdhis]',
                    po_content = '".addslashes($content)."',
                    po_point = '$point',
                    po_rel_table = '$rel_table',
                    po_rel_id = '$rel_id',
                    po_rel_action = '$rel_action' ";
    sql_query($sql);

    // 포인트 내역의 합을 구하고
    $sql = " select sum(po_point) as sum_po_point from $g4[point_table] where mb_id = '$mb_id' ";
    $row = sql_fetch($sql);
    $sum_point = $row[sum_po_point];

    // 포인트 UPDATE
    $sql = " update $g4[member_table] set mb_point = '$sum_point' where mb_id = '$mb_id' ";
    sql_query($sql);

    return 1;
}
전체 24 |RSS
그누4 질문답변 내용 검색

회원로그인

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