Open Journal Systems  3.3.0
SubscriptionBlockPlugin.inc.php
1 <?php
2 
17 import('lib.pkp.classes.plugins.BlockPlugin');
18 
25  return $this->getPluginPath() . '/settings.xml';
26  }
27 
32  function getDisplayName() {
33  return __('plugins.block.subscription.displayName');
34  }
35 
39  function getDescription() {
40  return __('plugins.block.subscription.description');
41  }
42 
49  function getContents($templateMgr, $request = null) {
50  $journal = $request->getJournal();
51  if (!$journal) return '';
52 
53  if ($journal->getData('publishingMode') != PUBLISHING_MODE_SUBSCRIPTION)
54  return '';
55 
56  $user = $request->getUser();
57  $userId = ($user)?$user->getId():null;
58  $templateMgr->assign('userLoggedIn', isset($userId) ? true : false);
59 
60  if (isset($userId)) {
61  $subscriptionDao = DAORegistry::getDAO('IndividualSubscriptionDAO'); /* @var $subscriptionDao IndividualSubscriptionDAO */
62  $individualSubscription = $subscriptionDao->getByUserIdForJournal($userId, $journal->getId());
63  $templateMgr->assign('individualSubscription', $individualSubscription);
64  }
65 
66  // If no individual subscription or if not valid, check for institutional subscription
67  if (!isset($individualSubscription) || !$individualSubscription->isValid()) {
68  $ip = $request->getRemoteAddr();
69  $domain = $request->getRemoteDomain();
70  $subscriptionDao = DAORegistry::getDAO('InstitutionalSubscriptionDAO'); /* @var $subscriptionDao InstitutionalSubscriptionDAO */
71  $subscriptionId = $subscriptionDao->isValidInstitutionalSubscription($domain, $ip, $journal->getId());
72  if ($subscriptionId) {
73  $institutionalSubscription = $subscriptionDao->getById($subscriptionId);
74  $templateMgr->assign(array(
75  'institutionalSubscription' => $institutionalSubscription,
76  'userIP' => $ip,
77  ));
78  }
79  }
80 
81  $paymentManager = Application::getPaymentManager($journal);
82 
83  if (isset($individualSubscription) || isset($institutionalSubscription)) {
84  $templateMgr->assign('acceptSubscriptionPayments', $paymentManager->isConfigured());
85  }
86 
87  return parent::getContents($templateMgr, $request);
88  }
89 }
90 
91 
SubscriptionBlockPlugin\getDescription
getDescription()
Definition: SubscriptionBlockPlugin.inc.php:39
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
SubscriptionBlockPlugin\getContextSpecificPluginSettingsFile
getContextSpecificPluginSettingsFile()
Definition: SubscriptionBlockPlugin.inc.php:24
SubscriptionBlockPlugin\getContents
getContents($templateMgr, $request=null)
Definition: SubscriptionBlockPlugin.inc.php:49
Application\getPaymentManager
static getPaymentManager($context)
Definition: Application.inc.php:226
SubscriptionBlockPlugin\getDisplayName
getDisplayName()
Definition: SubscriptionBlockPlugin.inc.php:32
SubscriptionBlockPlugin
Class for subscription block plugin.
Definition: SubscriptionBlockPlugin.inc.php:19
BlockPlugin
Abstract class for block plugins.
Definition: BlockPlugin.inc.php:18
Plugin\getPluginPath
getPluginPath()
Definition: Plugin.inc.php:330
Plugin\$request
$request
Definition: Plugin.inc.php:68