setConferenceId($conferenceId); $payment->setSchedConfId($schedConfId); $payment->setType($type); return $payment; } function &getPaymentPlugin() { $schedConf =& Request::getSchedConf(); $paymentMethodPluginName = $schedConf->getSetting('paymentMethodPluginName'); $paymentMethodPlugin = null; if (!empty($paymentMethodPluginName)) { $plugins =& PluginRegistry::loadCategory('paymethod'); if (isset($plugins[$paymentMethodPluginName])) $paymentMethodPlugin =& $plugins[$paymentMethodPluginName]; } return $paymentMethodPlugin; } /** * Fulfill a queued payment. * @param $queuedPaymentId int * @param $queuedPayment object */ function fulfillQueuedPayment($queuedPaymentId, &$queuedPayment) { if ($queuedPayment) switch ($queuedPayment->getType()) { case QUEUED_PAYMENT_TYPE_REGISTRATION: $registrationId = $queuedPayment->getAssocId(); $registrationDao =& DAORegistry::getDAO('RegistrationDAO'); $registration =& $registrationDao->getRegistration($registrationId); if (!$registration || $registration->getUserId() != $queuedPayment->getUserId() || $registration->getSchedConfId() != $queuedPayment->getSchedConfId()) {error_log(print_r($registration, true)); return false;} $registration->setDatePaid(Core::getCurrentDate()); $registrationDao->updateRegistration($registration); $queuedPaymentDao =& DAORegistry::getDAO('QueuedPaymentDAO'); $queuedPaymentDao->deleteQueuedPayment($queuedPaymentId); return true; } return false; } } ?>