本文整理汇总了PHP中OJSPaymentManager::getPaymentPlugin方法的典型用法代码示例。如果您正苦于以下问题:PHP OJSPaymentManager::getPaymentPlugin方法的具体用法?PHP OJSPaymentManager::getPaymentPlugin怎么用?PHP OJSPaymentManager::getPaymentPlugin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OJSPaymentManager
的用法示例。
在下文中一共展示了OJSPaymentManager::getPaymentPlugin方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
/**
* Queue payment and save gift details.
*/
function execute()
{
$journal = $this->request->getJournal();
$journalId = $journal->getId();
// Create new gift and save details
import('classes.gift.Gift');
import('classes.payment.ojs.OJSPaymentManager');
$paymentManager = new OJSPaymentManager($this->request);
$paymentPlugin =& $paymentManager->getPaymentPlugin();
$gift = new Gift();
if ($paymentPlugin->getName() == 'ManualPayment') {
$gift->setStatus(GIFT_STATUS_AWAITING_MANUAL_PAYMENT);
} else {
$gift->setStatus(GIFT_STATUS_AWAITING_ONLINE_PAYMENT);
}
$gift->setAssocType(ASSOC_TYPE_JOURNAL);
$gift->setAssocId($journalId);
$gift->setGiftType(GIFT_TYPE_SUBSCRIPTION);
$gift->setGiftAssocId($this->getData('typeId'));
$gift->setBuyerFirstName($this->getData('buyerFirstName'));
$gift->setBuyerMiddleName($this->getData('buyerMiddleName'));
$gift->setBuyerLastName($this->getData('buyerLastName'));
$gift->setBuyerEmail($this->getData('buyerEmail'));
$gift->setBuyerUserId($this->buyerUserId ? $this->buyerUserId : null);
$gift->setRecipientFirstName($this->getData('recipientFirstName'));
$gift->setRecipientMiddleName($this->getData('recipientMiddleName'));
$gift->setRecipientLastName($this->getData('recipientLastName'));
$gift->setRecipientEmail($this->getData('recipientEmail'));
$gift->setRecipientUserId(null);
$gift->setLocale($this->getData('giftLocale'));
$gift->setGiftNoteTitle($this->getData('giftNoteTitle'));
$gift->setGiftNote($this->getData('giftNote'));
$giftDao = DAORegistry::getDAO('GiftDAO');
$giftId = $giftDao->insertObject($gift);
// Create new queued payment
$subscriptionTypeDao = DAORegistry::getDAO('SubscriptionTypeDAO');
$subscriptionType =& $subscriptionTypeDao->getSubscriptionType($this->getData('typeId'));
$queuedPayment =& $paymentManager->createQueuedPayment($journalId, PAYMENT_TYPE_GIFT, null, $giftId, $subscriptionType->getCost(), $subscriptionType->getCurrencyCodeAlpha());
$queuedPaymentId = $paymentManager->queuePayment($queuedPayment);
$paymentManager->displayPaymentForm($queuedPaymentId, $queuedPayment);
}
示例2: execute
/**
* Create institutional subscription.
*/
function execute()
{
$journal = $this->request->getJournal();
$journalId = $journal->getId();
$typeId = $this->getData('typeId');
$subscriptionTypeDao = DAORegistry::getDAO('SubscriptionTypeDAO');
$nonExpiring = $subscriptionTypeDao->getSubscriptionTypeNonExpiring($typeId);
$today = date('Y-m-d');
$insert = false;
if (!isset($this->subscription)) {
import('classes.subscription.InstitutionalSubscription');
$subscription = new InstitutionalSubscription();
$subscription->setJournalId($journalId);
$subscription->setUserId($this->userId);
$subscription->setReferenceNumber(null);
$subscription->setNotes(null);
$insert = true;
} else {
$subscription =& $this->subscription;
}
import('classes.payment.ojs.OJSPaymentManager');
$paymentManager = new OJSPaymentManager($this->request);
$paymentPlugin =& $paymentManager->getPaymentPlugin();
if ($paymentPlugin->getName() == 'ManualPayment') {
$subscription->setStatus(SUBSCRIPTION_STATUS_AWAITING_MANUAL_PAYMENT);
} else {
$subscription->setStatus(SUBSCRIPTION_STATUS_AWAITING_ONLINE_PAYMENT);
}
$subscription->setTypeId($typeId);
$subscription->setMembership($this->getData('membership') ? $this->getData('membership') : null);
$subscription->setDateStart($nonExpiring ? null : $today);
$subscription->setDateEnd($nonExpiring ? null : $today);
$subscription->setInstitutionName($this->getData('institutionName'));
$subscription->setInstitutionMailingAddress($this->getData('institutionMailingAddress'));
$subscription->setDomain($this->getData('domain'));
$subscription->setIPRanges($this->getData('ipRanges'));
$institutionalSubscriptionDao = DAORegistry::getDAO('InstitutionalSubscriptionDAO');
if ($insert) {
$institutionalSubscriptionDao->insertSubscription($subscription);
} else {
$institutionalSubscriptionDao->updateSubscription($subscription);
}
$subscriptionTypeDao = DAORegistry::getDAO('SubscriptionTypeDAO');
$subscriptionType =& $subscriptionTypeDao->getSubscriptionType($this->getData('typeId'));
$queuedPayment =& $paymentManager->createQueuedPayment($journalId, PAYMENT_TYPE_PURCHASE_SUBSCRIPTION, $this->userId, $subscription->getId(), $subscriptionType->getCost(), $subscriptionType->getCurrencyCodeAlpha());
$queuedPaymentId = $paymentManager->queuePayment($queuedPayment);
$paymentManager->displayPaymentForm($queuedPaymentId, $queuedPayment);
}