회원 에게 포인트 지급시 레벨별로 %를 지정하여 그만큼 추가로 더 주는 기능입니다.
플러그인에 올릴까 팁에 올릴까 하다 플러그인에 올립니다.
30분 작업한거라 조잡할수도 있습니다.
PS. 그누보드 DTD 버젼으로 작업한 것이므로 테이블은 맞춰서 사용하시면 됩니다.
===== 사용법
1. 테이블 생성 - phpMyAdmin 으로 접근하여아래 코드를 실행 합니다
ALTER TABLE `g4_config` ADD `cf_level_point_use` INT( 1) NOT NULL ,
ADD `cf_level_point2` INT( 3) NOT NULL ,
ADD `cf_level_point3` INT( 3) NOT NULL ,
ADD `cf_level_point4` INT( 3) NOT NULL ,
ADD `cf_level_point5` INT( 3) NOT NULL ,
ADD `cf_level_point6` INT( 3) NOT NULL ,
ADD `cf_level_point7` INT( 3) NOT NULL ,
ADD `cf_level_point8` INT( 3) NOT NULL ,
ADD `cf_level_point9` INT( 3) NOT NULL
ALTER TABLE `g4_point` ADD `pr_per_content` VARCHAR( 255) NOT NULL
=> config 테이블과 point 테이블에 칼럼을 추가 합니다.
2. /adm/config_form.php 파일의 적절한 위치에 아래 코드를 넣습니다
<?php echo subtitle("레벨별 포인트 설정")?>
<table class="normal2">
<tr>
<th scope="col" width="20%">레벨별 포인트 사용</th>
<td colspan="3" width="80%"><input type='checkbox' name='cf_level_point_use' value='1' <?php echo $config['cf_level_point_use']?"checked='checked'":"";?> /> 사용 (체크하지 않으면 레벨별 포인트를 사용하지 않습니다.)</td>
</tr>
<tr>
<th scope="col" width="20%">2레벨</th>
<td width="30%"><input type='text' name='cf_level_point2' size='2' class='text' value='<?php echo get_text($config["cf_level_point2"])?>' title='2레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
<th scope="col">3레벨</th>
<td width="30%"><input type='text' name='cf_level_point3' size='2' class='text' value='<?php echo get_text($config["cf_level_point3"])?>' title='3레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
</tr>
<tr>
<th scope="col" width="20%">4레벨</th>
<td width="30%"><input type='text' name='cf_level_point4' size='2' class='text' value='<?php echo get_text($config["cf_level_point4"])?>' title='4레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
<th scope="col">5레벨</th>
<td width="30%"><input type='text' name='cf_level_point5' size='2' class='text' value='<?php echo get_text($config["cf_level_point5"])?>' title='5레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
</tr>
<tr>
<th scope="col" width="20%">6레벨</th>
<td width="30%"><input type='text' name='cf_level_point6' size='2' class='text' value='<?php echo get_text($config["cf_level_point6"])?>' title='6레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
<th scope="col">7레벨</th>
<td width="30%"><input type='text' name='cf_level_point7' size='2' class='text' value='<?php echo get_text($config["cf_level_point7"])?>' title='7레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
</tr>
<tr>
<th scope="col" width="20%">8레벨</th>
<td width="30%"><input type='text' name='cf_level_point8' size='2' class='text' value='<?php echo get_text($config["cf_level_point8"])?>' title='8레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
<th scope="col">9레벨</th>
<td width="30%"><input type='text' name='cf_level_point9' size='2' class='text' value='<?php echo get_text($config["cf_level_point9"])?>' title='9레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
</tr>
</table>
3. /lib/common.lib.php 의 insert_point 함수에 아래 내용을 수정/ 추가합니다.
// 포인트 건별 생성
$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);
=>
// 레벨별 포인트 % 처리
if($config[cf_level_point_use] == 1){
if($member[mb_level] >=2 && $member[mb_level] <= 9){
$mem_per_point = $config['cf_level_point'.$member[mb_level]]; // 회원 레벨별 필드 가져오기
if($mem_per_point) $per_point = floor(($point /100) * $mem_per_point); // 추가금액
$pr_per_content = "기본포인트 : ".$point." / 레벨별포인트 : ".$mem_per_point."% 추가 - ".$per_point;
$point += $per_point;
$pr_query = "pr_per_content = '$pr_per_content',";
}
}
// 포인트 건별 생성
$sql = " insert into $g4[point_table]
set mb_id = '$mb_id',
po_datetime = '$g4[time_ymdhis]',
po_content = '".addslashes($content)."',
po_point = '$point',
$pr_query
po_rel_table = '$rel_table',
po_rel_id = '$rel_id',
po_rel_action = '$rel_action' ";
sql_query($sql);
위와같이 하시고 관리자 환경설정 - 기본 환경 설정 들어가셔서
레벨별 퍼센트를 지정해 주신후 게시글 등록 등으로 테스트 해보시면 됩니다.
필요하신 분들은 많이 사용해 주세요.~
플러그인에 올릴까 팁에 올릴까 하다 플러그인에 올립니다.
30분 작업한거라 조잡할수도 있습니다.
PS. 그누보드 DTD 버젼으로 작업한 것이므로 테이블은 맞춰서 사용하시면 됩니다.
===== 사용법
1. 테이블 생성 - phpMyAdmin 으로 접근하여아래 코드를 실행 합니다
ALTER TABLE `g4_config` ADD `cf_level_point_use` INT( 1) NOT NULL ,
ADD `cf_level_point2` INT( 3) NOT NULL ,
ADD `cf_level_point3` INT( 3) NOT NULL ,
ADD `cf_level_point4` INT( 3) NOT NULL ,
ADD `cf_level_point5` INT( 3) NOT NULL ,
ADD `cf_level_point6` INT( 3) NOT NULL ,
ADD `cf_level_point7` INT( 3) NOT NULL ,
ADD `cf_level_point8` INT( 3) NOT NULL ,
ADD `cf_level_point9` INT( 3) NOT NULL
ALTER TABLE `g4_point` ADD `pr_per_content` VARCHAR( 255) NOT NULL
=> config 테이블과 point 테이블에 칼럼을 추가 합니다.
2. /adm/config_form.php 파일의 적절한 위치에 아래 코드를 넣습니다
<?php echo subtitle("레벨별 포인트 설정")?>
<table class="normal2">
<tr>
<th scope="col" width="20%">레벨별 포인트 사용</th>
<td colspan="3" width="80%"><input type='checkbox' name='cf_level_point_use' value='1' <?php echo $config['cf_level_point_use']?"checked='checked'":"";?> /> 사용 (체크하지 않으면 레벨별 포인트를 사용하지 않습니다.)</td>
</tr>
<tr>
<th scope="col" width="20%">2레벨</th>
<td width="30%"><input type='text' name='cf_level_point2' size='2' class='text' value='<?php echo get_text($config["cf_level_point2"])?>' title='2레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
<th scope="col">3레벨</th>
<td width="30%"><input type='text' name='cf_level_point3' size='2' class='text' value='<?php echo get_text($config["cf_level_point3"])?>' title='3레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
</tr>
<tr>
<th scope="col" width="20%">4레벨</th>
<td width="30%"><input type='text' name='cf_level_point4' size='2' class='text' value='<?php echo get_text($config["cf_level_point4"])?>' title='4레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
<th scope="col">5레벨</th>
<td width="30%"><input type='text' name='cf_level_point5' size='2' class='text' value='<?php echo get_text($config["cf_level_point5"])?>' title='5레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
</tr>
<tr>
<th scope="col" width="20%">6레벨</th>
<td width="30%"><input type='text' name='cf_level_point6' size='2' class='text' value='<?php echo get_text($config["cf_level_point6"])?>' title='6레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
<th scope="col">7레벨</th>
<td width="30%"><input type='text' name='cf_level_point7' size='2' class='text' value='<?php echo get_text($config["cf_level_point7"])?>' title='7레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
</tr>
<tr>
<th scope="col" width="20%">8레벨</th>
<td width="30%"><input type='text' name='cf_level_point8' size='2' class='text' value='<?php echo get_text($config["cf_level_point8"])?>' title='8레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
<th scope="col">9레벨</th>
<td width="30%"><input type='text' name='cf_level_point9' size='2' class='text' value='<?php echo get_text($config["cf_level_point9"])?>' title='9레벨포인트' style='text-align:right;font-weight:bold;' />%</td>
</tr>
</table>
3. /lib/common.lib.php 의 insert_point 함수에 아래 내용을 수정/ 추가합니다.
// 포인트 건별 생성
$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);
=>
// 레벨별 포인트 % 처리
if($config[cf_level_point_use] == 1){
if($member[mb_level] >=2 && $member[mb_level] <= 9){
$mem_per_point = $config['cf_level_point'.$member[mb_level]]; // 회원 레벨별 필드 가져오기
if($mem_per_point) $per_point = floor(($point /100) * $mem_per_point); // 추가금액
$pr_per_content = "기본포인트 : ".$point." / 레벨별포인트 : ".$mem_per_point."% 추가 - ".$per_point;
$point += $per_point;
$pr_query = "pr_per_content = '$pr_per_content',";
}
}
// 포인트 건별 생성
$sql = " insert into $g4[point_table]
set mb_id = '$mb_id',
po_datetime = '$g4[time_ymdhis]',
po_content = '".addslashes($content)."',
po_point = '$point',
$pr_query
po_rel_table = '$rel_table',
po_rel_id = '$rel_id',
po_rel_action = '$rel_action' ";
sql_query($sql);
위와같이 하시고 관리자 환경설정 - 기본 환경 설정 들어가셔서
레벨별 퍼센트를 지정해 주신후 게시글 등록 등으로 테스트 해보시면 됩니다.
필요하신 분들은 많이 사용해 주세요.~
댓글 14개
게시글 목록
| 번호 | 제목 |
|---|---|
| 14381 | |
| 14380 | |
| 14308 | |
| 14274 | |
| 14267 | |
| 14247 | |
| 14239 | |
| 14210 | |
| 14145 | |
| 14138 | |
| 14116 | |
| 14094 | |
| 14061 | |
| 14044 | |
| 14032 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기