Code:<?php
if(!defined('WS_COPYRIGHT') && !defined('WS_ADMINCOPYRIGHT')){
die('You do not have direct access to this file.');
}
class wsNsngroups extends ws_Core{
function newSubscr($uid, $pid, $customid){
global $db, $prefix, $user_prefix;
ws_Core::GetPlanConfig($pid, 'wsNsngrps');
if(defined('NSN_OPT_GROUPS')){
#get plan
$plan = ws_Core::GetPlan($pid);
#subscription expire time mod
if($plan['records']['ws_plan_expire'] !='' && $plan['records']['ws_plan_expire'] != '0000-00-00 00:00:00'):
#get time to expire
$expire_val = strtotime($plan['records']['ws_plan_expire']);
$subtime = $expire_val-time();
else:
$subtime = ws_Core::subtime_ws($plan['records']['wsn'], $plan['records']['wsp']);
endif;
#get username
$uname = ws_Core::GetUname($uid);
//add member number if not available
$this->GetUserInfo(array('user_member_membernumber'), $uid);
$usernum = $this->getuserinfo[0]['user_member_membernumber'];
if($usernum >0 or $usernum !='99999')
{
//number exists so do nothing
}else{
//get the max member number
$sql_unum = "SELECT MAX(user_member_membernumber) AS maxnum FROM ".$user_prefix."_users";
$result_unum = $db->sql_query($sql_unum);
$row_unum = $db->sql_fetchrow($result_unum);
$new_mem_num = $row_unum['maxnum']+1;
//update user table with member id
$sql_update_num = "UPDATE ".$user_prefix."_users SET user_member_membernumber='".$new_mem_num."' WHERE user_id='".$uid."' AND (user_member_membernumber ='' OR user_member_membernumber='99999')";
$db->sql_query($sql_update_num);
}
//end add member number
$nsngrps = explode(".", NSN_OPT_GROUPS);
foreach ($nsngrps as $wsgid) {
$sql = sprintf("SELECT COUNT(gid) as wsct FROM %s_nsngr_users WHERE gid='%d' AND uid ='%d'",
$prefix, (int)$wsgid, (int)$uid);
if(!$result = $db->sql_query($sql)):
ws_Core::ws_debug(__FILE__, __LINE__, $sql);
return false;
exit;
endif;
list($wsct)=$db->sql_fetchrow($result);
if($wsct <=0){//add new entry
$stime2 = $subtime+time();
$ntime = time();
$sql2 = sprintf("INSERT INTO %s_nsngr_users (gid, uid, sdate, edate) VALUES('%d', '%d', '%s', '%s')",
$prefix, (int)$wsgid, (int)$uid, $ntime, $stime2);
if(!$result2 = $db->sql_query($sql2)):
ws_Core::ws_debug(__FILE__, __LINE__, $sql2.mysql_error());
return false;
exit;
endif;
}else{//update time
$sql6 = sprintf("UPDATE %s_nsngr_users SET edate+%s WHERE gid='%d' AND uid='%d'",
$prefix,
$subtime,
(int)$wsgid,
(int)$uid
);
if(!$result6 = $db->sql_query($sql6)):
ws_Core::ws_debug(__FILE__, __LINE__, $sql6);
return false;
exit;
endif;
}
}
}
return true;
}//EOF
function recurSubscr($uid, $pid, $orderid){//subscription has recurred
global $db, $prefix, $user_prefix;
ws_Core::GetPlanConfig($pid, 'wsNsngrps');
if(defined('NSN_OPT_GROUPS')){
#get plan
$plan = ws_Core::GetPlan($pid);
#subscription expire time mod
if($plan['records']['ws_plan_expire'] !='' && $plan['records']['ws_plan_expire'] != '0000-00-00 00:00:00'):
#get time to expire
$expire_val = strtotime($plan['records']['ws_plan_expire']);
$subtime = $expire_val-time();
else:
$subtime = ws_Core::subtime_ws($plan['records']['wsn'], $plan['records']['wsp']);
endif;
#get username
$uname = ws_Core::GetUname($uid);
$nsngrps = explode(".", NSN_OPT_GROUPS);
foreach ($nsngrps as $wsgid) {
$sql = sprintf("SELECT COUNT(gid) as wsct FROM %s_nsngr_users WHERE gid='%d' AND uid ='%d'",
$prefix, (int)$wsgid, (int)$uid);
if(!$result = $db->sql_query($sql)):
ws_Core::ws_debug(__FILE__, __LINE__, $sql);
return false;
exit;
endif;
list($wsct)=$db->sql_fetchrow($result);
if($wsct <=0){//add new entry
$stime2 = $subtime+time();
$ntime = time();
$sql2 = sprintf("INSERT INTO %s_nsngr_users (gid, uid, sdate, edate) VALUES ('%d', '%d', '%s', '%s')",
$prefix, (int)$wsgid, (int)$uid, $ntime, $stime2);
if(!$result2 = $db->sql_query($sql2)):
ws_Core::ws_debug(__FILE__, __LINE__, $sql2);
return false;
exit;
endif;
}else{//update time
$sql6 = sprintf("UPDATE %s_nsngr_users SET edate+%s WHERE gid='%d' AND uid='%d'",
$prefix,
$subtime,
(int)$wsgid,
(int)$uid
);
if(!$result6 = $db->sql_query($sql6)):
ws_Core::ws_debug(__FILE__, __LINE__, $sql6);
return false;
exit;
endif;
}
}
}
return true;
}//EOF
function expireNSNGRSubscr($uid, $pid, $orderid){//subscription expire --wsgroups
global $db, $prefix, $user_prefix;
ws_Core::GetPlanConfig($pid, 'wsNsngrps');
if(NSN_OPT_GROUPS >0){
$ws_Grps = explode(".",NSN_OPT_GROUPS);
foreach ($ws_Grps as $wsgid) {
$db->sql_query("DELETE FROM ".$prefix."_nsngr_users WHERE uid='".$uid."' AND gid='".wsgid."'");
}
}
return true;
}//EOF
}//EOC
?>
|