포인트 레벨별로 별도 보너스부분

포인트 레벨별로 별도 보너스부분

QA

포인트 레벨별로 별도 보너스부분

본문

// 포인트 부여
function insert_point($mb_id, $point, $content='', $rel_table='', $rel_id='', $rel_action='')
{
    global $config;
    global $g4;
    global $is_admin;

//----------------------------------------------------------------------------------------레벨차등적용 시작 - 넘어온 mb_id의 레벨 파악을 위해 2012.11.02
 $query="select mb_level from g4_member where mb_id='$mb_id'";
 $result=mysql_query($query);
 $mb_level=@mysql_fetch_row($result);
 
 /////////////////////////////////////////////////////////////////////////////////////레벨별 포인트 차등적용 2012.11.02
 if($mb_level[0]==3){
  $point=(int)($point*1.1); //0.01부분을 원하시는 비율로 수정하시면 됩니다. 0.01은 1%, 0.1은 10%와 같습니다.
 }else if($mb_level[0]==4){
  $point=(int)($point*1.2); 
 }else if($mb_level[0]==5){
  $point=(int)($point*1.3); 
 }else if($mb_level[0]==6){
  $point=(int)($point*1.4); 
 }else if($mb_level[0]==7){
  $point=(int)($point*1.5); 
 }else if($mb_level[0]==8){
  $point=(int)($point*1.6); 
 }else if($mb_level[0]==9){
  $point=(int)($point*1.7);
 }else if($mb_level[0]==10){
  $point=(int)($point*1.8); 
 }else if($mb_level[0]==11){
  $point=(int)($point*1.9); 
 }else if($mb_level[0]==12){
  $point=(int)($point*2.0); 
 }else if($mb_level[0]==13){
  $point=(int)($point*2.1); 
 }else if($mb_level[0]==14){
  $point=(int)($point*2.2); 
 }else if($mb_level[0]==15){
  $point=(int)($point*2.3);
 }else if($mb_level[0]==16){
  $point=(int)($point*2.4); 
 }else if($mb_level[0]==17){
  $point=(int)($point*2.5); 
 }else if($mb_level[0]==18){
  $point=(int)($point*2.6); 
 }else if($mb_level[0]==19){
  $point=(int)($point*2.7); 
 }else if($mb_level[0]==20){
  $point=(int)($point*2.8); 
 }else if($mb_level[0]==21){
  $point=(int)($point*2.9); 
 }else if($mb_level[0]==22){
  $point=(int)($point*3.0); 
 }else if($mb_level[0]==23){
  $point=(int)($point*3.1); 
 }else if($mb_level[0]==24){
  $point=(int)($point*3.2); 
 }else if($mb_level[0]==25){
  $point=(int)($point*3.3);
 }else if($mb_level[0]==26){
  $point=(int)($point*3.4); 
 }else if($mb_level[0]==27){
  $point=(int)($point*3.5); 
 }else if($mb_level[0]==28){
  $point=(int)($point*3.6); 
 }else if($mb_level[0]==29){
  $point=(int)($point*3.7); 
 }else if($mb_level[0]==30){
  $point=(int)($point*3.8); 
 }else if($mb_level[0]==31){
  $point=(int)($point*3.9); 
 }else if($mb_level[0]==32){
  $point=(int)($point*4.0); 
 }else if($mb_level[0]==33){
  $point=(int)($point*4.1); 
 }else if($mb_level[0]==34){
  $point=(int)($point*4.2); 
 }else if($mb_level[0]==35){
  $point=(int)($point*4.3);
 }else if($mb_level[0]==36){
  $point=(int)($point*4.4); 
 }else if($mb_level[0]==37){
  $point=(int)($point*4.5); 
 }else if($mb_level[0]==38){
  $point=(int)($point*4.6); 
 }else if($mb_level[0]==39){
  $point=(int)($point*4.7); 
 }else if($mb_level[0]==40){
  $point=(int)($point*4.8); 
 }else if($mb_level[0]==41){
  $point=(int)($point*4.9); 
 }else if($mb_level[0]==42){
  $point=(int)($point*5.0); 
 }else if($mb_level[0]==43){
  $point=(int)($point*5.1); 
 }else if($mb_level[0]==44){
  $point=(int)($point*5.2); 
 }else if($mb_level[0]==45){
  $point=(int)($point*5.3);
 }else if($mb_level[0]==46){
  $point=(int)($point*5.4); 
 }else if($mb_level[0]==47){
  $point=(int)($point*5.5); 
 }else if($mb_level[0]==48){
  $point=(int)($point*5.6); 
 }else if($mb_level[0]==49){
  $point=(int)($point*5.7); 
 }else if($mb_level[0]==50){
  $point=(int)($point*5.8); 
 }
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////레벨차등적용 끝
    // 포인트 사용을 하지 않는다면 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;
}
// 포인트 삭제
function delete_point($mb_id, $rel_table, $rel_id, $rel_action)
{
    global $g4;
    $result = false;
    if ($rel_table || $rel_id || $rel_action)
    {
        $result = sql_query(" delete 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' ", false);
        // 포인트 내역의 합을 구하고
        $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' ";
        $result = sql_query($sql);
    }
    return $result;
}
 
 
 
 
 
위 부분은 레벨에 따라 획득하는 포인트에서 추가로 보너스를 더 주는 부분입니다.
문제는 포인트를 사용할시에도 적용이 되는게 문제입니다.
획득시만 보너스를 받고 사용시는 무시되게 하고 싶은데 어디를 어떻게 수정해야하는지요?

이 질문에 댓글 쓰기 :

답변 1

http://sir.co.kr/bbs/board.php?bo_table=g4_plugin&wr_id=14061&sca=&sfl=wr_subject%7C%7Cwr_content&stx=포인트
그누4용 플러그인 입니다.
위 플러그인을 이용해보세요

넓은마인드님의 플러그인이 제가 제안해서 제꺼 만들어주시면서 플러그인화 하신거에요.
관리부분에서 좀더 편할뿐이지 전 소스상에 직접 넣은거라 기능은 동일해요 ㅡㅜ;;;;;;;;

답변을 작성하시기 전에 로그인 해주세요.
전체 123,531 | RSS
QA 내용 검색

회원로그인

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