/** * Validate the form */ function validate() { import('classes.payment.ojs.OJSPaymentManager'); $paymentManager =& OJSPaymentManager::getManager(); if ($paymentManager->submissionEnabled()) { if (!parent::validate()) { return false; } $journal =& Request::getJournal(); $journalId = $journal->getId(); $articleId = $this->articleId; $user =& Request::getUser(); $completedPaymentDAO =& DAORegistry::getDAO('OJSCompletedPaymentDAO'); if ($completedPaymentDAO->hasPaidSubmission($journalId, $articleId)) { return parent::validate(); } elseif (Request::getUserVar('qualifyForWaiver') && Request::getUserVar('commentsToEditor') != '') { return parent::validate(); } elseif (Request::getUserVar('paymentSent')) { return parent::validate(); } else { $queuedPayment =& $paymentManager->createQueuedPayment($journalId, PAYMENT_TYPE_SUBMISSION, $user->getId(), $articleId, $journal->getSetting('submissionFee')); $queuedPaymentId = $paymentManager->queuePayment($queuedPayment); $paymentManager->displayPaymentForm($queuedPaymentId, $queuedPayment); exit; } } else { return parent::validate(); } }