acceptSubscriptionPayments() public method

Determine whether subscription fees are enabled.
public acceptSubscriptionPayments ( ) : boolean
return boolean true iff this fee is enabled.
 /**
  * Get the HTML contents for this block.
  * @param $templateMgr object
  * @param $request PKPRequest
  * @return $string
  */
 function getContents(&$templateMgr, $request)
 {
     $journal =& $request->getJournal();
     $journalId = $journal ? $journal->getId() : null;
     if (!$journal) {
         return '';
     }
     if ($journal->getSetting('publishingMode') != PUBLISHING_MODE_SUBSCRIPTION) {
         return '';
     }
     $user =& $request->getUser();
     $userId = $user ? $user->getId() : null;
     $templateMgr->assign('userLoggedIn', isset($userId) ? true : false);
     if (isset($userId)) {
         $subscriptionDao =& DAORegistry::getDAO('IndividualSubscriptionDAO');
         $individualSubscription =& $subscriptionDao->getSubscriptionByUserForJournal($userId, $journalId);
         $templateMgr->assign_by_ref('individualSubscription', $individualSubscription);
     }
     // If no individual subscription or if not valid, check for institutional subscription
     if (!isset($individualSubscription) || !$individualSubscription->isValid()) {
         $ip = $request->getRemoteAddr();
         $domain = Request::getRemoteDomain();
         $subscriptionDao =& DAORegistry::getDAO('InstitutionalSubscriptionDAO');
         $subscriptionId = $subscriptionDao->isValidInstitutionalSubscription($domain, $ip, $journalId);
         if ($subscriptionId) {
             $institutionalSubscription =& $subscriptionDao->getSubscription($subscriptionId);
             $templateMgr->assign_by_ref('institutionalSubscription', $institutionalSubscription);
             $templateMgr->assign('userIP', $ip);
         }
     }
     import('classes.payment.ojs.OJSPaymentManager');
     $paymentManager = new OJSPaymentManager($request);
     if (isset($individualSubscription) || isset($institutionalSubscription)) {
         $acceptSubscriptionPayments = $paymentManager->acceptSubscriptionPayments();
         $templateMgr->assign('acceptSubscriptionPayments', $acceptSubscriptionPayments);
     }
     $acceptGiftSubscriptionPayments = $paymentManager->acceptGiftSubscriptionPayments();
     $templateMgr->assign('acceptGiftSubscriptionPayments', $acceptGiftSubscriptionPayments);
     return parent::getContents($templateMgr, $request);
 }
Esempio n. 2
0
 /**
  * Pay the "renew subscription" fee.
  * @param $args array
  * @param $request PKPRequest
  */
 function payRenewSubscription($args, $request)
 {
     $this->validate();
     if (count($args) != 2) {
         $request->redirect(null, 'dashboard');
     }
     $journal = $request->getJournal();
     if (!$journal) {
         $request->redirect(null, 'dashboard');
     }
     if ($journal->getSetting('publishingMode') != PUBLISHING_MODE_SUBSCRIPTION) {
         $request->redirect(null, 'dashboard');
     }
     import('classes.payment.ojs.OJSPaymentManager');
     $paymentManager = new OJSPaymentManager($request);
     $acceptSubscriptionPayments = $paymentManager->acceptSubscriptionPayments();
     if (!$acceptSubscriptionPayments) {
         $request->redirect(null, 'dashboard');
     }
     $this->setupTemplate($request);
     $user = $request->getUser();
     $userId = $user->getId();
     $institutional = array_shift($args);
     $subscriptionId = (int) array_shift($args);
     if ($institutional == 'institutional') {
         $subscriptionDao = DAORegistry::getDAO('InstitutionalSubscriptionDAO');
     } else {
         $subscriptionDao = DAORegistry::getDAO('IndividualSubscriptionDAO');
     }
     if (!$subscriptionDao->subscriptionExistsByUser($subscriptionId, $userId)) {
         $request->redirect(null, 'dashboard');
     }
     $subscription = $subscriptionDao->getSubscription($subscriptionId);
     if ($subscription->isNonExpiring()) {
         $request->redirect(null, 'dashboard');
     }
     import('classes.subscription.Subscription');
     $subscriptionStatus = $subscription->getStatus();
     $validStatus = array(SUBSCRIPTION_STATUS_ACTIVE, SUBSCRIPTION_STATUS_AWAITING_ONLINE_PAYMENT, SUBSCRIPTION_STATUS_AWAITING_MANUAL_PAYMENT);
     if (!in_array($subscriptionStatus, $validStatus)) {
         $request->redirect(null, 'dashboard');
     }
     $subscriptionTypeDao = DAORegistry::getDAO('SubscriptionTypeDAO');
     $subscriptionType = $subscriptionTypeDao->getSubscriptionType($subscription->getTypeId());
     $queuedPayment = $paymentManager->createQueuedPayment($journal->getId(), PAYMENT_TYPE_RENEW_SUBSCRIPTION, $user->getId(), $subscriptionId, $subscriptionType->getCost(), $subscriptionType->getCurrencyCodeAlpha());
     $queuedPaymentId = $paymentManager->queuePayment($queuedPayment);
     $paymentManager->displayPaymentForm($queuedPaymentId, $queuedPayment);
 }
 /**
  * Save subscription policies for the current journal.
  * @param $args array
  * @param $request PKPRequest
  */
 function saveSubscriptionPolicies($args, &$request)
 {
     import('classes.subscription.form.SubscriptionPolicyForm');
     $subscriptionPolicyForm = new SubscriptionPolicyForm();
     $subscriptionPolicyForm->readInputData();
     $templateMgr =& TemplateManager::getManager();
     $templateMgr->assign('helpTopicId', 'journal.managementPages.subscriptions');
     if (Config::getVar('general', 'scheduled_tasks')) {
         $templateMgr->assign('scheduledTasksEnabled', true);
     }
     import('classes.payment.ojs.OJSPaymentManager');
     $paymentManager = new OJSPaymentManager($request);
     $templateMgr->assign('acceptSubscriptionPayments', $paymentManager->acceptSubscriptionPayments());
     if ($subscriptionPolicyForm->validate()) {
         $subscriptionPolicyForm->execute();
         $templateMgr->assign('subscriptionPoliciesSaved', '1');
         $subscriptionPolicyForm->display();
     } else {
         $subscriptionPolicyForm->display();
     }
 }
Esempio n. 4
0
 /**
  * Returns an array of information on the journal's subscription settings
  * @return array
  */
 function getSubscriptionSettings(&$request)
 {
     $journal = $request->getJournal();
     if (!$journal) {
         return array();
     }
     import('classes.payment.ojs.OJSPaymentManager');
     $paymentManager = new OJSPaymentManager($request);
     $settings = array('subscriptionsEnabled' => $paymentManager->acceptSubscriptionPayments(), 'allowRegReviewer' => $journal->getSetting('allowRegReviewer'), 'allowRegAuthor' => $journal->getSetting('allowRegAuthor'));
     return $settings;
 }