/** * Set the singleton instance if it is not yet defined. * * @since 1.0.0 */ public function store_singleton() { if ($this->_in_cache) { return; } MS_Factory::set_singleton($this); }
/** * Add the simulated relationship to the current users memberships. * * @since 1.0.0 */ public function add_simulation_membership($subscriptions) { $subscription = false; if (!isset($subscriptions[$this->membership_id])) { $this->start_simulation(); $subscription = MS_Model_Relationship::create_ms_relationship($this->membership_id, 0, 'simulation'); } if (is_a($subscription, 'MS_Model_Relationship')) { $membership = $subscription->get_membership(); if (MS_Model_Membership::PAYMENT_TYPE_PERMANENT == $membership->payment_type) { $subscription->expire_date = '2999-12-31'; } $key = 'ms_model_relationship--1'; MS_Factory::set_singleton($subscription, $key); $this->_subscription = $subscription; $subscriptions[$this->membership_id] = $subscription; } return $subscriptions; }