스크랩 할때 포인트 적용방법요
회원에게 포인트가 적립되게 설정되었을때
게시물
'스크랩' 할때에도 포인트가 빼거나 플러스되거나 적용 되도록 설정하는 방법좀 없는지요?
게시물
'스크랩' 할때에도 포인트가 빼거나 플러스되거나 적용 되도록 설정하는 방법좀 없는지요?
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 11개
79라인을 보시면
// 포인트 부여
insert_point($member[mb_id], $board[bo_comment_point], "$board[bo_subject] {$wr_id}-{$comment_id} 코멘트쓰기", $bo_table, $comment_id, '코멘트');
포인트를 관리자 화면에서 설정시 글쓰기 할때얼마를 더해줄수도 있고 빼줄수도 있게 설정할수 있잖아요
그럼 위 스크랩부분도 열러주면 어떻게 포인트가 적용되는것인지요?
관리자가 임의로 스크랩할때 얼마를 빼거나 더해주도록 관리자 페이지에서 설정할수 없나요?
각 게시판 코멘트 부분을 관리자모드에서 수정하시면될것 같네요
그럼 코멘트 포인트 부분에서 적용시키면 스크랩도 동일하게 같이 적용 되는 것인지요
별도로 스크랩항목을 두고 설정하는게 아니라 코멘트부분에서 적용하면 스크랩도 포인트가 같이 설정이 되는것이죠?
// 포인트 부여
$scrap_point= "원하는 포인트"; //추가
insert_point($member[mb_id], $scrap_point, "$board[bo_subject] 스크립 포인트 ", $bo_table, $comment_id, '코멘트');
이런식으로 하시면되게죠..
관리자모드란 연동하고 싶다면
기본환경설정란에 여분필더에 1이란 연동하시면될것 같은데요..
$scrap_point= $config[cf_1]; //추가
insert_point($member[mb_id], $scrap_point, "$board[bo_subject] 스크립 포인트 ", $bo_table, $comment_id, '코멘트');
맞는지요...스크랩시 포인트를 빼고자 할경우-100 이렇게 기재해줘야 하나요? //슬러시는 그대로 두는건지요?
// 포인트 부여
insert_point($member[mb_id], $board[bo_comment_point], "$board[bo_subject] {$wr_id}-{$comment_id} 코멘트쓰기", $bo_table, $comment_id, '코멘트');
// 포인트 부여
$scrap_point= "100";
insert_point($member[mb_id], $scrap_point, "$board[bo_subject] 스크랩 포인트 ", $bo_table, $comment_id, '코멘트');
--------------------------------------------------------------------------------------------------------------------------------
관리자모드 연동해서 해당 스크랩포인트 설정을
기본환경설정란에 아래와같이 테이블로 생성할순 없는지요?
알려주신 여분필드에는 어떻게 적용하는지 잘모르겟어요..에구 어렵네요..
config_form.php
<td>쪽지보낼시 차감 포인트</td>
<td><input type=text class=ed name='cf_memo_send_point' size='5' required itemname='쪽지전송시 차감 포인트' value='<?=$config[cf_memo_send_point]?>'> 점
<?=help("양수로 입력하십시오.<br>0으로 입력하시면 쪽지보낼시 포인트를 차감하지 않습니다.")?></td>
// 포인트 부여
insert_point($member[mb_id], $board[bo_comment_point], "$board[bo_subject] {$wr_id}-{$comment_id} 코멘트쓰기", $bo_table, $comment_id, '코멘트');
요부분을 밑에 처럼 수정하세요.... 쪽지보낼시 차감 포인트를 스크립 연동 하기
// 포인트 부여 쪽지 차감포인트로 연동
insert_point($member[mb_id], $config[cf_memo_send_point], "$board[bo_subject] 스크랩 포인트 ", $bo_table, $comment_id, '코멘트');
// <<==요거는 이 라인은 주석이라는 뜻이죠...
저렇게 적용하면
스크랩은 안하고 쪽지만 보낼시에도 스크랩 포인트가 같이 적용되는것인가요?
각각 별도로 포인트 점수를 두고자 하거든요
연동이 아닌
전 관리자 모드에서 쪽지포인트 차감처럼 테이블로 스크랩 포인트 설정메뉴를 설정하고자 하는데요
질문을 정확히 드려야 하는데..에구
환경설정 -> 기본환경설정란에 맨 밑에 여분 필드에 첫번째란에 스크랩 포인트를 입력하세요.
--------------------------------------------------------------------------
|스크린 포인트 | 원하는숫자 <<=여기가 cf_1란 | 빈공간 | 빈공간 |
--------------------------------------------------------------------------
//포인트 부여 cf_1 차감포인트로
insert_point($member[mb_id], $config[cf_1], "$board[bo_subject] 스크립 포인트 ", $bo_table, $comment_id, '코멘트');
insert_point($member[mb_id], $config[cf_2], "$board[bo_subject] 스크립 포인트 ", $bo_table, $comment_id, '코멘트');
이런식으로 수정하면되고요..
insert_point 실행하면
lib/common.lib.php 요파일에 821번이 실행이 되죠
// 포인트 부여
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];
// 포인트 UPDATE
$sql = " update $g4[member_table] set mb_point = '$sum_point' where mb_id = '$mb_id' ";
sql_query($sql);
return 1;
}
이부분을 자세히 보시면 이해가 갈거에요
핵심은
insert_point(포인트부여아이디, 포인트수장, "포인트 내용", 포인트온게시판명, 코멘트아이디, '코멘트'); 포인트온게시판명, 코멘트아이디,코멘트 는 중복 스크린 방지를 위한거죠..