Subscription::isExpired PHP Method

isExpired() public method

Check whether subscription is expired
public isExpired ( )
    function isExpired()
    {
        if (strtotime($this->getData('dateEnd')) < time()) {
            return true;
        } else {
            return false;
        }
    }

Usage Example

Ejemplo n.º 1
0
 public function establishFocus($payment_plan, $processor = 'none', $silent = false, $bias = null)
 {
     if (!is_object($payment_plan)) {
         $planid = $payment_plan;
         $payment_plan = new SubscriptionPlan();
         $payment_plan->load($planid);
         if (empty($payment_plan->id)) {
             return false;
         }
     }
     if (is_object($this->focusSubscription)) {
         if ($this->focusSubscription->plan == $payment_plan->id) {
             return 'existing';
         }
     }
     $plan_params = $payment_plan->params;
     if (!isset($plan_params['make_primary'])) {
         $plan_params['make_primary'] = 1;
     }
     if ($plan_params['make_primary'] && $this->hasSubscription) {
         if ($this->objSubscription->primary) {
             $this->focusSubscription = $this->objSubscription;
             return 'existing';
         } else {
             $existing_record = $this->objSubscription->getSubscriptionID($this->userid);
             if ($existing_record) {
                 $this->objSubscription = new Subscription();
                 $this->objSubscription->load($existing_record);
                 $this->focusSubscription = $this->objSubscription;
                 return 'existing';
             }
         }
     }
     // If we are not dealing with a primary (or an otherwise unclear situation),
     // we need to figure out how to prepare the switch
     $existing_record = 0;
     $existing_status = false;
     // Check whether a record exists
     if ($this->hasSubscription) {
         $existing_record = $this->focusSubscription->getSubscriptionID($this->userid, $payment_plan->id, $plan_params['make_primary'], false, $bias);
         if (!empty($existing_record)) {
             $db = JFactory::getDBO();
             $query = 'SELECT `status`' . ' FROM #__acctexp_subscr' . ' WHERE `id` = \'' . (int) $existing_record . '\'';
             $db->setQuery($query);
             $existing_status = $db->loadResult();
         }
     }
     $return = false;
     // To be failsafe, a new subscription may have to be added in here
     if (empty($this->hasSubscription) || !$plan_params['make_primary'] || $plan_params['update_existing']) {
         if (!empty($existing_record) && ($existing_status == 'Trial' || $existing_status == 'Pending' || $plan_params['update_existing'] || $plan_params['make_primary'])) {
             // Update existing non-primary subscription
             if ($this->focusSubscription->id !== $existing_record) {
                 $this->focusSubscription = new Subscription();
                 $this->focusSubscription->load($existing_record);
             }
             $return = 'existing';
         } else {
             if (!empty($this->hasSubscription)) {
                 $existing_parent = $this->focusSubscription->getSubscriptionID($this->userid, $plan_params['standard_parent'], null);
             } else {
                 $existing_parent = false;
             }
             // Create a root new subscription
             if (empty($this->hasSubscription) && !$plan_params['make_primary'] && !empty($plan_params['standard_parent']) && empty($existing_parent)) {
                 $this->objSubscription = new Subscription();
                 $this->objSubscription->load(0);
                 if ($this->objSubscription->createNew($this->userid, 'none', 1, 1, $plan_params['standard_parent'])) {
                     $this->objSubscription->applyUsage($plan_params['standard_parent'], 'none', $silent, 0);
                 }
             } elseif (!$plan_params['make_primary'] && !empty($plan_params['standard_parent']) && $existing_parent) {
                 $this->objSubscription = new Subscription();
                 $this->objSubscription->load($existing_parent);
                 if ($this->objSubscription->isExpired()) {
                     $this->objSubscription->applyUsage($plan_params['standard_parent'], 'none', $silent, 0);
                 }
             }
             // Create new subscription
             $this->focusSubscription = new Subscription();
             $this->focusSubscription->load(0);
             $this->focusSubscription->createNew($this->userid, $processor, 1, $plan_params['make_primary'], $payment_plan->id);
             $this->hasSubscription = 1;
             if ($plan_params['make_primary']) {
                 $this->objSubscription = clone $this->focusSubscription;
             }
             $return = 'new';
         }
     }
     if (empty($this->objSubscription) && !empty($this->focusSubscription)) {
         $this->objSubscription = clone $this->focusSubscription;
     }
     $this->temporaryRFIX();
     return $return;
 }
All Usage Examples Of Subscription::isExpired