채택완료

자동 등업 소스를 넣은 후 권한이 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개

채택된 답변
+20 포인트
// 포인트 부여
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;
}

답변을 작성하려면 로그인이 필요합니다.