자동 등업 소스를 넣은 후 권한이 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;
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 (!$config[cf_use_point]) { return 0; }
// 포인트가 없다면 업데이트 할 필요 없음
if ($point == 0) { 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 ($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;
}
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 = " 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);
$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;
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);
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);
}
$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;
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 (!$config[cf_use_point]) { return 0; }
// 포인트가 없다면 업데이트 할 필요 없음
if ($point == 0) { 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 ($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;
}
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 = " 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){
$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'";
// 포인트 UPDATE
$sql = " update $g4[member_table] set mb_point = '$sum_point' $squery where mb_id = '$mb_id' ";
sql_query($sql);
}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'";
}
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;
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);
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){
$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);
}
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;
}
}
답변을 작성하시기 전에 로그인 해주세요.