포인트 레벨별로 별도 보너스부분
본문
// 포인트 부여
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;
//----------------------------------------------------------------------------------------레벨차등적용 시작 - 넘어온 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 (!$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];
$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);
$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;
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];
$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);
}
$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용 플러그인 입니다.
위 플러그인을 이용해보세요
답변을 작성하시기 전에 로그인 해주세요.