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

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

QA

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

답변 1

본문

저를 포함한 관리자에게 레벨 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;
}
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 10,637
© SIRSOFT
현재 페이지 제일 처음으로