Example #1
0
 function get_billing_info($account_id = SES_COMP)
 {
     App::import('Model', 'UserSubscription');
     $usersub = new UserSubscription();
     $user_sub = $usersub->find('first', array('conditions' => array('company_id' => $account_id), 'order' => 'id DESC'));
     $pmonth = date('m', strtotime('-1 month', strtotime($user_sub['UserSubscription']['next_billing_date'])));
     $pyear = date('Y', strtotime('-1 month', strtotime($user_sub['UserSubscription']['next_billing_date'])));
     $mdays = cal_days_in_month(CAL_GREGORIAN, $pmonth, $pyear);
     if (strtotime($user_sub['UserSubscription']['sub_start_date']) + $mdays * 24 * 60 * 60 < strtotime($user_sub['UserSubscription']['next_billing_date'])) {
         $dt_chk = date('Y-m-d H:i:s', strtotime($user_sub['UserSubscription']['next_billing_date']) - $mdays * 24 * 60 * 60);
     } else {
         $dt_chk = $user_sub['UserSubscription']['sub_start_date'];
     }
     App::import('Model', 'CompanyUser');
     $compuser = new CompanyUser();
     //$counter = $compuser->find('count',array('conditions'=>array('company_id'=>$account_id,'created <'=>$dt_chk,'(is_active=1 OR is_active=2)')));
     //$user_info =  $compuser->find('all',array('conditions'=>array('company_id'=>$account_id,'created >'=>$dt_chk,'(is_active=1 OR is_active=2)'),'group'=>array('DATE(created)'),'fields'=>array('DATE(created) AS dt','DATE(modified) AS mfd_dt','COUNT(id) as cnt','SUM(est_billing_amt) AS amnt')));
     //$delted_users =  $compuser->find('all',array('conditions'=>array('company_id'=>$account_id,'is_active'=>3,'OR'=>array('created >'=>$dt_chk,'modified >'=>$dt_chk)),'group'=>array('dt','DATE(modified)'),'fields'=>array("IF((created > '".$dt_chk."'),DATE(created),'".date('Y-m-d',strtotime($dt_chk))."') AS dt",'DATE(modified) AS mfd_dt','COUNT(id) as cnt','SUM(est_billing_amt) AS amnt')));
     $counter = $compuser->find('count', array('conditions' => array('company_id' => $account_id, 'is_active' => 1)));
     $invited_users = $compuser->find('count', array('conditions' => array('company_id' => $account_id, 'is_active' => 2)));
     $disabled_users = $compuser->find('count', array('conditions' => array('company_id' => $account_id, 'is_active' => 0, 'billing_end_date >= ' => GMT_DATE)));
     $deleted_users = $compuser->find('count', array('conditions' => array('company_id' => $account_id, 'is_active' => 3, 'billing_end_date >= ' => GMT_DATE)));
     //$user_info =  $compuser->find('all',array('conditions'=>array('company_id'=>$account_id,'created >'=>$dt_chk,'(is_active=1 OR is_active=2)'),'group'=>array('DATE(created)'),'fields'=>array('DATE(created) AS dt','DATE(modified) AS mfd_dt','COUNT(id) as cnt','SUM(est_billing_amt) AS amnt')));
     //$delted_users =  $compuser->find('all',array('conditions'=>array('company_id'=>$account_id,'is_active'=>3,'OR'=>array('created >'=>$dt_chk,'modified >'=>$dt_chk)),'group'=>array('dt','DATE(modified)'),'fields'=>array("IF((created > '".$dt_chk."'),DATE(created),'".date('Y-m-d',strtotime($dt_chk))."') AS dt",'DATE(modified) AS mfd_dt','COUNT(id) as cnt','SUM(est_billing_amt) AS amnt')));
     //$user_info['previous_users'] =$counter;
     //$user_info['delted_users'] =$delted_users;
     $user_info['active_users'] = $counter;
     $user_info['invited_users'] = $invited_users;
     $user_info['disabled_users'] = $disabled_users;
     $user_info['deleted_users'] = $deleted_users;
     return $user_info;
     //echo "<pre>";print_r($user_info);exit;
 }
Example #2
0
 function get_billing_info($account_id = SES_COMP)
 {
     App::import('Model', 'UserSubscription');
     $usersub = new UserSubscription();
     $user_sub = $usersub->find('first', array('conditions' => array('company_id' => $account_id), 'order' => 'id DESC'));
     $pmonth = date('m', strtotime('-1 month', strtotime($user_sub['UserSubscription']['next_billing_date'])));
     $pyear = date('Y', strtotime('-1 month', strtotime($user_sub['UserSubscription']['next_billing_date'])));
     $mdays = cal_days_in_month(CAL_GREGORIAN, $pmonth, $pyear);
     $secondsInYear = $mdays * 24 * 60 * 60;
     $nextBillingDate = strtotime($user_sub['UserSubscription']['next_billing_date']);
     $subscriptionStartTime = strtotime($user_sub['UserSubscription']['sub_start_date']);
     if ($subscriptionStartTime + $secondsInYear < $nextBillingDate) {
         $dt_chk = date('Y-m-d H:i:s', $nextBillingDate - $secondsInYear);
     } else {
         $dt_chk = $user_sub['UserSubscription']['sub_start_date'];
     }
     App::import('Model', 'CompanyUser');
     $compuser = new CompanyUser();
     $counter = $compuser->find('count', array('conditions' => array('company_id' => $account_id, 'is_active' => 1)));
     $invited_users = $compuser->find('count', array('conditions' => array('company_id' => $account_id, 'is_active' => 2)));
     $disabled_users = $compuser->find('count', array('conditions' => array('company_id' => $account_id, 'is_active' => 0, 'billing_end_date >= ' => GMT_DATE)));
     $deleted_users = $compuser->find('count', array('conditions' => array('company_id' => $account_id, 'is_active' => 3, 'billing_end_date >= ' => GMT_DATE)));
     $user_info['active_users'] = $counter;
     $user_info['invited_users'] = $invited_users;
     $user_info['disabled_users'] = $disabled_users;
     $user_info['deleted_users'] = $deleted_users;
     return $user_info;
 }
Example #3
0
 function usercount($company_id = ACC_ID, $sub_limitation = array())
 {
     if (!$sub_limitation) {
         App::import('Model', 'UserSubscription');
         $usersubscription = new UserSubscription();
         $sub_limitation = $usersubscription->find('first', array('conditions' => array('company_id' => $company_id), 'order' => 'id DESC'));
     }
     App::import('Model', 'CompanyUsers');
     $usr = new CompanyUser();
     if ($sub_limitation['UserSubscription']['btsubscription_id']) {
         //$used_ucount = $usr->find('count',array('conditions'=>array('company_id'=>$company_id,'((is_active=1 OR is_active=2) OR (is_active=0 AND DATE(billing_end_date)>="'.GMT_DATE.'"))',)));
         //It includes the deleted users who are paid for the current billing month.
         $used_ucount = $usr->find('count', array('conditions' => array('company_id' => $company_id)));
     } else {
         $used_ucount = $usr->find('count', array('conditions' => array('company_id' => $company_id, '(is_active=1 OR is_active=2)')));
     }
     $GLOBALS['usercount'] = $used_ucount;
     $this->set('current_active_users', $used_ucount);
     if ($sub_limitation['UserSubscription']['user_limit'] && (strtolower($sub_limitation['UserSubscription']['user_limit']) == 'unlimited' || $sub_limitation['UserSubscription']['is_free'])) {
         return 'Unlimited';
     } else {
         if ($sub_limitation['UserSubscription']['user_limit'] >= $used_ucount) {
             return $sub_limitation['UserSubscription']['user_limit'] - $used_ucount;
         } else {
             return 0;
         }
     }
 }