기간제 멤버쉽으로 콘텐츠몰 이용하도록 수정
원하는 기능 : 1달 회원권을 구매하면 관리자가 지정한 콘텐츠를 무료 시청하거나 다운로드
이에 대해 질의했고 한별아빠님이 답변을 주셨습니다.
http://amina.co.kr/bbs/board.php?bo_table=apms_qa&wr_id=59495#c_59534
답변 내용을 정리하겠습니다.
----------------
** 프로세스 **
----------------
회원 레벨이 '3'이면 상품 여분필드 it_9 의 값이 1인 상품을 한 달동안 시청하거나 다운로드 할 수 있다.
회원 : 기간제멤버쉬 구매 -> 한 달동안 레벨 3으로 등업 -> 콘텐츠 이용
----------------
** 설정 방법 **
----------------
(1) 기간제 멤버쉽 플러그인 설치
http://sir5.webvision.co.kr/bbs/board.php?bo_table=skin_amina&wr_id=83
(2) 기간제 멤버쉽 결제 스킨 설치
http://sir5.webvision.co.kr/bbs/board.php?bo_table=skin_amina&wr_id=84
(3) item.php, view.php, download.php 파일 수정
(4) 기간제 멤버가 이용할 수 있는 상품의 여분 필드 9에 1값 설정
1. shop>item.php 파일 수정
-------------
** 원본 **
-------------
// 이용권한 확인 ------------------------
$is_author = ($is_member && $it['pt_id'] && $it['pt_id'] == $member['mb_id']) ? true : false;
$is_purchaser = apms_admin($xp['xp_manager']);
$is_remaintime = '';
if (!$is_purchaser && !$is_auther) {
$purchase = apms_it_payment($it['it_id']);
$is_purchaser = ($purchase['ct_qty'] > 0) ? true : false;
if($it['pt_day'] > 0) { //기간제 상품일 경우
$is_remaintime = strtotime($purchase['pt_datetime']) + ($it['pt_day'] * $purchase['ct_qty'] * 86400);
$is_purchaser = ($is_remaintime >= G5_SERVER_TIME) ? true : false;
}
}
-------------
** 수정 **
-------------
// 이용권한 확인 ------------------------
$is_author = ($is_member && $it['pt_id'] && $it['pt_id'] == $member['mb_id']) ? true : false;
$is_purchaser = (apms_admin($xp['xp_manager']) || ($member['mb_level'] == 3 && $it['it_9'] == 1)) ? true : false; // 레벨이 3인 경우 상품여분 9번 필드의 값이 1인 상품은 구매자로 처리
$is_remaintime = '';
if (!$is_purchaser && !$is_auther) {
$purchase = apms_it_payment($it['it_id']);
$is_purchaser = ($purchase['ct_qty'] > 0) ? true : false;
if($it['pt_day'] > 0) { //기간제 상품일 경우
$is_remaintime = strtotime($purchase['pt_datetime']) + ($it['pt_day'] * $purchase['ct_qty'] * 86400);
$is_purchaser = ($is_remaintime >= G5_SERVER_TIME) ? true : false;
}
}
2. shop>view.php 파일 수정
-------------
** 원본 **
-------------
// 구매여부
$is_purchaser = false;
$is_remaintime = '';
$purchase = apms_it_payment($it['it_id']);
$is_purchaser = ($purchase['ct_qty'] > 0) ? true : false;
if($it['pt_day'] > 0) { //기간제 상품일 경우
$is_remaintime = strtotime($purchase['pt_datetime']) + ($it['pt_day'] * $purchase['ct_qty'] * 86400);
$is_purchaser = ($is_remaintime >= G5_SERVER_TIME) ? true : false;
}
-------------
** 수정 **
-------------
if($member['mb_level'] == 3 && $it['it_9'] == 1) { //회원등급 3이상이고 여분필드 1번에 값이 있는 상품이면...
$is_purchaser = true; //구매회원으로 처리...
} else { //그렇지 않으면 구매여부 파악
$purchase = apms_it_payment($it['it_id']);
$is_purchaser = ($purchase['ct_qty'] > 0) ? true : false;
if($it['pt_day'] > 0) { //기간제 상품일 경우
$is_remaintime = strtotime($purchase['pt_datetime']) + ($it['pt_day'] * $purchase['ct_qty'] * 86400);
$is_purchaser = ($is_remaintime >= G5_SERVER_TIME) ? true : false;
}
}
3. download.php 파일 수정은 위와 같음