스크랩 할때 포인트 적용방법요 > 그누4 질문답변

그누4 질문답변

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

스크랩 할때 포인트 적용방법요 정보

스크랩 할때 포인트 적용방법요

본문

회원에게 포인트가 적립되게 설정되었을때
게시물
'스크랩' 할때에도 포인트가 빼거나 플러스되거나 적용 되도록 설정하는 방법좀 없는지요?

댓글 전체

bbs/scrap_popin_update.php  <<== 요 파일일 보시면..

79라인을 보시면
// 포인트 부여
 insert_point($member[mb_id], $board[bo_comment_point], "$board[bo_subject] {$wr_id}-{$comment_id} 코멘트쓰기", $bo_table, $comment_id, '코멘트');
카이루님 고맙습니다
포인트를 관리자 화면에서 설정시 글쓰기 할때얼마를 더해줄수도 있고 빼줄수도 있게 설정할수 있잖아요

그럼 위 스크랩부분도 열러주면 어떻게 포인트가 적용되는것인지요?
관리자가 임의로 스크랩할때 얼마를 빼거나 더해주도록 관리자 페이지에서 설정할수 없나요?
그 스크립할 게시판 코멘트쓰기 포인트 부분에서 스크랩 포인트 추가 제거 가능하네요


각 게시판 코멘트 부분을 관리자모드에서 수정하시면될것 같네요
친절한 답변 감사드려요
그럼 코멘트 포인트 부분에서 적용시키면 스크랩도 동일하게 같이 적용 되는 것인지요

별도로 스크랩항목을 두고 설정하는게 아니라 코멘트부분에서 적용하면 스크랩도 포인트가 같이 설정이 되는것이죠?
bbs/scrap_popin_update.php  <<== 요 파일에

// 포인트 부여
$scrap_point= "원하는 포인트";  //추가

 insert_point($member[mb_id], $scrap_point, "$board[bo_subject] 스크립 포인트 ", $bo_table, $comment_id, '코멘트');

이런식으로 하시면되게죠..

관리자모드란 연동하고 싶다면
기본환경설정란에 여분필더에 1이란 연동하시면될것 같은데요..
$scrap_point= $config[cf_1];  //추가
 insert_point($member[mb_id], $scrap_point, "$board[bo_subject] 스크립 포인트 ", $bo_table, $comment_id, '코멘트');
scrap_popin_update.php 80라인쪽에 아래와같이 적용해주엇는데요
맞는지요...스크랩시 포인트를 빼고자 할경우-100 이렇게 기재해줘야 하나요?  //슬러시는 그대로 두는건지요?

// 포인트 부여
 insert_point($member[mb_id], $board[bo_comment_point], "$board[bo_subject] {$wr_id}-{$comment_id} 코멘트쓰기", $bo_table, $comment_id, '코멘트');

 // 포인트 부여
 $scrap_point= "100";

 insert_point($member[mb_id], $scrap_point, "$board[bo_subject] 스크랩 포인트 ", $bo_table, $comment_id, '코멘트');

--------------------------------------------------------------------------------------------------------------------------------

관리자모드 연동해서 해당 스크랩포인트 설정을
기본환경설정란에 아래와같이 테이블로 생성할순 없는지요?
알려주신 여분필드에는 어떻게 적용하는지 잘모르겟어요..에구 어렵네요..
 

config_form.php

 <td>쪽지보낼시 차감 포인트</td>
    <td><input type=text class=ed name='cf_memo_send_point' size='5' required itemname='쪽지전송시 차감 포인트' value='<?=$config[cf_memo_send_point]?>'> 점
        <?=help("양수로 입력하십시오.<br>0으로 입력하시면 쪽지보낼시 포인트를 차감하지 않습니다.")?></td>
bbs/scrap_popin_update.php  79라인을
// 포인트 부여
 insert_point($member[mb_id], $board[bo_comment_point], "$board[bo_subject] {$wr_id}-{$comment_id} 코멘트쓰기", $bo_table, $comment_id, '코멘트');

요부분을 밑에 처럼 수정하세요....  쪽지보낼시 차감 포인트를 스크립 연동 하기

// 포인트 부여  쪽지 차감포인트로 연동
insert_point($member[mb_id], $config[cf_memo_send_point], "$board[bo_subject] 스크랩 포인트 ", $bo_table, $comment_id, '코멘트');

// <<==요거는 이 라인은 주석이라는 뜻이죠...
여러번 질문 드려 죄송해요..

저렇게 적용하면
스크랩은 안하고 쪽지만 보낼시에도 스크랩 포인트가 같이 적용되는것인가요?
각각 별도로 포인트 점수를 두고자 하거든요
연동이 아닌
전 관리자 모드에서 쪽지포인트 차감처럼 테이블로 스크랩 포인트 설정메뉴를 설정하고자 하는데요
질문을 정확히 드려야 하는데..에구
첨에도 말해듯이 별도로 관리하고 싶다면

환경설정 -> 기본환경설정란에 맨 밑에 여분 필드에 첫번째란에  스크랩 포인트를 입력하세요.
--------------------------------------------------------------------------
|스크린 포인트  |  원하는숫자 <<=여기가 cf_1란    |  빈공간    |  빈공간      |
--------------------------------------------------------------------------



 //포인트 부여  cf_1  차감포인트로
 insert_point($member[mb_id], $config[cf_1], "$board[bo_subject] 스크립 포인트 ", $bo_table, $comment_id, '코멘트');
//포인트 부여  cf_2  차감포인트로
 insert_point($member[mb_id], $config[cf_2], "$board[bo_subject] 스크립 포인트 ", $bo_table, $comment_id, '코멘트');


이런식으로 수정하면되고요..
insert_point 실행하면
lib/common.lib.php 요파일에  821번이 실행이 되죠
// 포인트 부여
function insert_point($mb_id, $point, $content='', $rel_table='', $rel_id='', $rel_action='')
{
    global $config;
    global $g4;
    global $is_admin;

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

    // 포인트가 없다면 업데이트 할 필요 없음
    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)
    {
        $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;
}

이부분을 자세히 보시면 이해가 갈거에요

핵심은
  insert_point(포인트부여아이디, 포인트수장, "포인트 내용", 포인트온게시판명, 코멘트아이디, '코멘트');  포인트온게시판명, 코멘트아이디,코멘트  는 중복 스크린 방지를 위한거죠..
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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