Scalr_Billing::getAvailablePackages PHP Method

getAvailablePackages() public method

    public function getAvailablePackages()
    {
        $list = array(self::PACKAGE_SEED => 1, self::PACKAGE_ANGEL => 1, self::PACKAGE_VC => 1, self::PACKAGE_IPO => 1, self::PACKAGE_MONOPOLY => 1);
        $usage = $this->account->getLimits();
        foreach ($list as $package => $f) {
            $limits = $this->getLimits($package);
            foreach ($limits as $limitName => $limitValue) {
                if ($limitName == Scalr_Limits::ACCOUNT_ENVIRONMENTS) {
                    continue;
                }
                $cLimit = $usage[$limitName]['usage'];
                if ($limitValue > -1) {
                    if ($cLimit > $limitValue) {
                        $list[$package] = 0;
                    }
                }
            }
        }
        return $list;
    }

Usage Example

Example #1
0
 public function changePlanAction()
 {
     $info = $this->billing->getInfo();
     $this->response->page('ui/billing/changePlan.js', array('subscriptionId' => $this->billing->subscriptionId, 'currentPackage' => $info['productHandle'], 'availablePackages' => $this->billing->getAvailablePackages()), array(), array('ui/billing/changePlan.css'));
 }