AppController::usercount PHP Method

usercount() public method

public usercount ( $company_id = ACC_ID, $sub_limitation = [] )
    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;
            }
        }
    }