iaPlan::setPaid PHP Method

setPaid() public method

public setPaid ( $transaction )
    public function setPaid($transaction)
    {
        if (!is_array($transaction)) {
            return false;
        }
        $result = false;
        $item = $transaction['item'];
        $plan = $this->getById($transaction['plan_id']);
        if ($plan && $item && !empty($transaction['item_id'])) {
            list($dateStarted, $dateFinished) = $this->calculateDates($plan['duration'], $plan['unit']);
            $values = array(self::SPONSORED => 1, self::SPONSORED_PLAN_ID => $transaction['plan_id'], self::SPONSORED_DATE_START => $dateStarted, self::SPONSORED_DATE_END => $dateFinished, 'status' => iaCore::STATUS_ACTIVE);
            $iaItem = $this->iaCore->factory('item');
            $result = $this->iaDb->update($values, iaDb::convertIds($transaction['item_id']), null, $iaItem->getItemTable($item));
        }
        $this->_sendEmailNotification('activated', $plan, $transaction['member_id']);
        // perform item specific actions
        $this->_runClassMethod($item, self::METHOD_POST_PAYMENT, array($plan, $transaction));
        return $result;
    }