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;
}