123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- namespace Braintree;
- class Plan extends Base
- {
- public static function factory($attributes)
- {
- $instance = new self();
- $instance->_initialize($attributes);
- return $instance;
- }
- protected function _initialize($attributes)
- {
- $this->_attributes = $attributes;
- $addOnArray = [];
- if (isset($attributes['addOns'])) {
- foreach ($attributes['addOns'] AS $addOn) {
- $addOnArray[] = AddOn::factory($addOn);
- }
- }
- $this->_attributes['addOns'] = $addOnArray;
- $discountArray = [];
- if (isset($attributes['discounts'])) {
- foreach ($attributes['discounts'] AS $discount) {
- $discountArray[] = Discount::factory($discount);
- }
- }
- $this->_attributes['discounts'] = $discountArray;
- $planArray = [];
- if (isset($attributes['plans'])) {
- foreach ($attributes['plans'] AS $plan) {
- $planArray[] = self::factory($plan);
- }
- }
- $this->_attributes['plans'] = $planArray;
- }
- // static methods redirecting to gateway
- public static function all()
- {
- return Configuration::gateway()->plan()->all();
- }
- }
- class_alias('Braintree\Plan', 'Braintree_Plan');
|