Open Journal Systems  3.3.0
Subscription.inc.php
1 <?php
2 
17 define('SUBSCRIPTION_STATUS_ACTIVE', 0x01);
18 define('SUBSCRIPTION_STATUS_NEEDS_INFORMATION', 0x02);
19 define('SUBSCRIPTION_STATUS_NEEDS_APPROVAL', 0x03);
20 define('SUBSCRIPTION_STATUS_AWAITING_MANUAL_PAYMENT', 0x04);
21 define('SUBSCRIPTION_STATUS_AWAITING_ONLINE_PAYMENT', 0x05);
22 define('SUBSCRIPTION_STATUS_OTHER', 0x10);
23 
24 define('SUBSCRIPTION_DATE_START', 0x01);
25 define('SUBSCRIPTION_DATE_END', 0x02);
26 define('SUBSCRIPTION_DATE_BOTH', 0x03);
27 
28 define('SUBSCRIPTION_YEAR_OFFSET_PAST', '-10');
29 define('SUBSCRIPTION_YEAR_OFFSET_FUTURE', '+10');
30 
31 
32 class Subscription extends DataObject {
33 
34  //
35  // Get/set methods
36  //
37 
42  public function getJournalId() {
43  return $this->getData('journalId');
44  }
45 
50  public function setJournalId($journalId) {
51  $this->setData('journalId', $journalId);
52  }
53 
58  public function getUserId() {
59  return $this->getData('userId');
60  }
61 
66  public function setUserId($userId) {
67  $this->setData('userId', $userId);
68  }
69 
74  public function getUserFullName() {
75  $userDao = DAORegistry::getDAO('UserDAO'); /* @var $userDao UserDAO */
76  return $userDao->getUserFullName($this->getData('userId'));
77  }
78 
83  public function getUserEmail() {
84  $userDao = DAORegistry::getDAO('UserDAO'); /* @var $userDao UserDAO */
85  return $userDao->getUserEmail($this->getData('userId'));
86  }
87 
92  public function getTypeId() {
93  return $this->getData('typeId');
94  }
95 
100  public function setTypeId($typeId) {
101  $this->setData('typeId', $typeId);
102  }
103 
108  public function getSubscriptionTypeName() {
109  $subscriptionTypeDao = DAORegistry::getDAO('SubscriptionTypeDAO'); /* @var $subscriptionTypeDao SubscriptionTypeDAO */
110  return $subscriptionTypeDao->getSubscriptionTypeName($this->getData('typeId'));
111  }
112 
118  $subscriptionTypeDao = DAORegistry::getDAO('SubscriptionTypeDAO'); /* @var $subscriptionTypeDao SubscriptionTypeDAO */
119  $subscriptionType = $subscriptionTypeDao->getById($this->getData('typeId'));
120  return $subscriptionType->getSummaryString();
121  }
122 
128  $subscriptionTypeDao = DAORegistry::getDAO('SubscriptionTypeDAO'); /* @var $subscriptionTypeDao SubscriptionTypeDAO */
129  return $subscriptionTypeDao->getSubscriptionTypeInstitutional($this->getData('typeId'));
130  }
131 
136  public function isNonExpiring() {
137  $subscriptionTypeDao = DAORegistry::getDAO('SubscriptionTypeDAO'); /* @var $subscriptionTypeDao SubscriptionTypeDAO */
138  $subscriptionType = $subscriptionTypeDao->getById($this->getTypeId());
139  return $subscriptionType->getNonExpiring();
140  }
141 
146  public function getDateStart() {
147  return $this->getData('dateStart');
148  }
149 
154  public function setDateStart($dateStart) {
155  $this->setData('dateStart', $dateStart);
156  }
157 
162  public function getDateEnd() {
163  return $this->getData('dateEnd');
164  }
165 
170  public function setDateEnd($dateEnd) {
171  $this->setData('dateEnd', $dateEnd);
172  }
173 
178  public function getStatus() {
179  return $this->getData('status');
180  }
181 
186  public function setStatus($status) {
187  $this->setData('status', $status);
188  }
189 
194  public function getStatusString() {
195  switch ($this->getData('status')) {
196  case SUBSCRIPTION_STATUS_ACTIVE:
197  return __('subscriptions.status.active');
198  case SUBSCRIPTION_STATUS_NEEDS_INFORMATION:
199  return __('subscriptions.status.needsInformation');
200  case SUBSCRIPTION_STATUS_NEEDS_APPROVAL:
201  return __('subscriptions.status.needsApproval');
202  case SUBSCRIPTION_STATUS_AWAITING_MANUAL_PAYMENT:
203  return __('subscriptions.status.awaitingManualPayment');
204  case SUBSCRIPTION_STATUS_AWAITING_ONLINE_PAYMENT:
205  return __('subscriptions.status.awaitingOnlinePayment');
206  case SUBSCRIPTION_STATUS_OTHER:
207  return __('subscriptions.status.other');
208  default:
209  return __('subscriptions.status');
210  }
211  }
212 
217  public function getMembership() {
218  return $this->getData('membership');
219  }
220 
225  public function setMembership($membership) {
226  $this->setData('membership', $membership);
227  }
228 
233  public function getReferenceNumber() {
234  return $this->getData('referenceNumber');
235  }
236 
241  public function setReferenceNumber($referenceNumber) {
242  $this->setData('referenceNumber', $referenceNumber);
243  }
244 
249  public function getNotes() {
250  return $this->getData('notes');
251  }
252 
257  public function setNotes($notes) {
258  $this->setData('notes', $notes);
259  }
260 
265  public function isExpired() {
266  if (strtotime($this->getData('dateEnd')) < time()) {
267  return true;
268  } else {
269  return false;
270  }
271  }
272 }
273 
274 
DataObject\getData
& getData($key, $locale=null)
Definition: DataObject.inc.php:100
Subscription\getNotes
getNotes()
Definition: Subscription.inc.php:249
DataObject
Any class with an associated DAO should extend this class.
Definition: DataObject.inc.php:18
Subscription\getJournalId
getJournalId()
Definition: Subscription.inc.php:42
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
Subscription\setDateStart
setDateStart($dateStart)
Definition: Subscription.inc.php:154
Subscription\getSubscriptionTypeInstitutional
getSubscriptionTypeInstitutional()
Definition: Subscription.inc.php:127
Subscription\setTypeId
setTypeId($typeId)
Definition: Subscription.inc.php:100
Subscription\getDateEnd
getDateEnd()
Definition: Subscription.inc.php:162
Subscription\setNotes
setNotes($notes)
Definition: Subscription.inc.php:257
Subscription\getUserEmail
getUserEmail()
Definition: Subscription.inc.php:83
Subscription\setMembership
setMembership($membership)
Definition: Subscription.inc.php:225
Subscription\setStatus
setStatus($status)
Definition: Subscription.inc.php:186
Subscription\isExpired
isExpired()
Definition: Subscription.inc.php:265
Subscription\isNonExpiring
isNonExpiring()
Definition: Subscription.inc.php:136
Subscription\getUserId
getUserId()
Definition: Subscription.inc.php:58
Subscription\getSubscriptionTypeName
getSubscriptionTypeName()
Definition: Subscription.inc.php:108
Subscription\getUserFullName
getUserFullName()
Definition: Subscription.inc.php:74
Subscription\setJournalId
setJournalId($journalId)
Definition: Subscription.inc.php:50
Subscription
Basic class describing a subscription.
Definition: Subscription.inc.php:32
Subscription\getMembership
getMembership()
Definition: Subscription.inc.php:217
Subscription\setReferenceNumber
setReferenceNumber($referenceNumber)
Definition: Subscription.inc.php:241
Subscription\getDateStart
getDateStart()
Definition: Subscription.inc.php:146
Subscription\getTypeId
getTypeId()
Definition: Subscription.inc.php:92
Subscription\setUserId
setUserId($userId)
Definition: Subscription.inc.php:66
Subscription\getSubscriptionTypeSummaryString
getSubscriptionTypeSummaryString()
Definition: Subscription.inc.php:117
Subscription\getReferenceNumber
getReferenceNumber()
Definition: Subscription.inc.php:233
Subscription\getStatusString
getStatusString()
Definition: Subscription.inc.php:194
Subscription\setDateEnd
setDateEnd($dateEnd)
Definition: Subscription.inc.php:170
DataObject\setData
setData($key, $value, $locale=null)
Definition: DataObject.inc.php:132
Subscription\getStatus
getStatus()
Definition: Subscription.inc.php:178