자동 등업 소스를 넣은 후 권한이 3까지 밖에 안나오고 관리자인 저까지 레벨이 3으로 내려갔습니다.

자동 등업 소스를 넣은 후 권한이 3까지 밖에 안나오고 관리자인 저까지 레벨이 3으로 내려갔습니다.

QA

자동 등업 소스를 넣은 후 권한이 3까지 밖에 안나오고 관리자인 저까지 레벨이 3으로 내려갔습니다.

본문

저를 포함한 관리자에게 레벨 10으로 주고
 
포인트 50점 이상시 자동으로 레벨이 3이되게끔 팁자료실에 있는 것을 그대로 썼는데요,
 
저를 포함한 관리자까지 권한이 3으로 내려가고
올리려고 해도 3까지밖에 나오질 않습니다.
 
lib/common.lib.php
 
에서 820줄쯤부터 아래와 같이 했습니다. 빨간부분이 소스를 삽입/수정한 곳입니다.잘못된 부분이 있나요?
 
 
// 포인트 부여
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];
 // 포인트 따라 회원 등급 바꾸기
 if(!$is_admin){
  if($sum_point >= 0 && $sum_point < 50){
   $new_level = 2;
  }elseif($sum_point >= 50 && $sum_point < 800){
   $new_level = 3;
  }elseif($sum_point >= 800 && $sum_point < 1000){
   $new_level = 4;
  }elseif($sum_point >= 1000 && $sum_point < 3000){
   $new_level = 5;
  }elseif($sum_point >= 3000 && $sum_point < 5000){
   $new_level = 6;
  }elseif($sum_point >= 5000 && $sum_point < 10000){
   $new_level = 7;
  }elseif($sum_point >= 10000 && $sum_point < 15000){
   $new_level = 8;
  }elseif($sum_point >= 15000 && $sum_point < 30000){
   $new_level = 9;
  }elseif($sum_point >= 30000){
   $new_level = 10;
  }
  $squery = ", mb_level = '$new_level'";
 }

    // 포인트 UPDATE
    $sql = " update $g4[member_table] set mb_point = '$sum_point' $squery 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];
  // 포인트 따라 회원 등급 바꾸기
  if(!$is_admin){
   if($sum_point >= 0 && $sum_point < 50){
    $new_level = 2;
   }elseif($sum_point >= 50 && $sum_point < 800){
    $new_level = 3;
   }elseif($sum_point >= 800 && $sum_point < 1000){
    $new_level = 4;
   }elseif($sum_point >= 1000 && $sum_point < 3000){
    $new_level = 5;
   }elseif($sum_point >= 3000 && $sum_point < 5000){
    $new_level = 6;
   }elseif($sum_point >= 5000 && $sum_point < 10000){
    $new_level = 7;
   }elseif($sum_point >= 10000 && $sum_point < 15000){
    $new_level = 8;
   }elseif($sum_point >= 15000 && $sum_point < 30000){
    $new_level = 9;
   }elseif($sum_point >= 30000){
    $new_level = 10;
   }
   $squery = ", mb_level = '$new_level'";
  }

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

이 질문에 댓글 쓰기 :

답변 1

// 포인트 부여
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];
 // 포인트 따라 회원 등급 바꾸기
 if($is_admin){
$squery = ", mb_level = '10'";
}else{
  if($sum_point >= 0 && $sum_point < 50){
   $new_level = 2;
  }elseif($sum_point >= 50 && $sum_point < 800){
   $new_level = 3;
  }elseif($sum_point >= 800 && $sum_point < 1000){
   $new_level = 4;
  }elseif($sum_point >= 1000 && $sum_point < 3000){
   $new_level = 5;
  }elseif($sum_point >= 3000 && $sum_point < 5000){
   $new_level = 6;
  }elseif($sum_point >= 5000 && $sum_point < 10000){
   $new_level = 7;
  }elseif($sum_point >= 10000 && $sum_point < 15000){
   $new_level = 8;
  }elseif($sum_point >= 15000 && $sum_point < 30000){
   $new_level = 9;
  }elseif($sum_point >= 30000){
   $new_level = 10;
  }
  $squery = ", mb_level = '$new_level'";
 }

    // 포인트 UPDATE
    $sql = " update $g4[member_table] set mb_point = '$sum_point' $squery 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];
  // 포인트 따라 회원 등급 바꾸기
  if($is_admin){
  $squery = ", mb_level = '10'";
}else{
   if($sum_point >= 0 && $sum_point < 50){
    $new_level = 2;
   }elseif($sum_point >= 50 && $sum_point < 800){
    $new_level = 3;
   }elseif($sum_point >= 800 && $sum_point < 1000){
    $new_level = 4;
   }elseif($sum_point >= 1000 && $sum_point < 3000){
    $new_level = 5;
   }elseif($sum_point >= 3000 && $sum_point < 5000){
    $new_level = 6;
   }elseif($sum_point >= 5000 && $sum_point < 10000){
    $new_level = 7;
   }elseif($sum_point >= 10000 && $sum_point < 15000){
    $new_level = 8;
   }elseif($sum_point >= 15000 && $sum_point < 30000){
    $new_level = 9;
   }elseif($sum_point >= 30000){
    $new_level = 10;
   }
   $squery = ", mb_level = '$new_level'";
  }

        // 포인트 UPDATE
        $sql = " update $g4[member_table] set mb_point = '$sum_point' $squery where mb_id = '$mb_id' ";
        $result = sql_query($sql);
    }
    return $result;
}
답변을 작성하시기 전에 로그인 해주세요.
전체 125,873 | RSS
QA 내용 검색

회원로그인

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