/** * This method returns payment session. * * @param array $options The keys used to load payment session data from database. * * @throws \UnexpectedValueException * * @return Crowdfunding\Payment\Session */ public function getPaymentSession(array $options) { $id = ArrayHelper::getValue($options, "id"); $sessionId = ArrayHelper::getValue($options, "session_id"); $uniqueKey = ArrayHelper::getValue($options, "unique_key"); // Prepare keys for anonymous user. if (!empty($id)) { $keys = $id; } elseif (!empty($sessionId)) { $keys = array("session_id" => $sessionId); } elseif (!empty($uniqueKey)) { // Prepare keys to get record by unique key. $keys = array("unique_key" => $uniqueKey); } else { throw new \UnexpectedValueException(\JText::_("LIB_CROWDFUNDING_INVALID_PAYMENT_SESSION_KEYS")); } $paymentSession = new Crowdfunding\Payment\Session(\JFactory::getDbo()); $paymentSession->load($keys); return $paymentSession; }
/** * This method returns payment session. * * @param array $options The keys used to load payment session data from database. * * @throws \UnexpectedValueException * * @return Crowdfunding\Payment\Session */ public function getPaymentSession(array $options) { $id = ArrayHelper::getValue($options, 'id', 0, 'int'); $sessionId = ArrayHelper::getValue($options, 'session_id'); $uniqueKey = ArrayHelper::getValue($options, 'unique_key'); // Prepare keys for anonymous user. if ($id > 0) { $keys = $id; } elseif (\JString::strlen($sessionId) > 0) { $keys = array('session_id' => $sessionId); } elseif (\JString::strlen($uniqueKey) > 0) { // Prepare keys to get record by unique key. $keys = array('unique_key' => $uniqueKey); } else { throw new \UnexpectedValueException(\JText::_('LIB_CROWDFUNDING_INVALID_PAYMENT_SESSION_KEYS')); } $paymentSession = new Crowdfunding\Payment\Session(\JFactory::getDbo()); $paymentSession->load($keys); return $paymentSession; }