20 define(
'SUBSCRIPTION_TYPE_FORMAT_ONLINE', 0x01);
21 define(
'SUBSCRIPTION_TYPE_FORMAT_PRINT', 0x10);
22 define(
'SUBSCRIPTION_TYPE_FORMAT_PRINT_ONLINE', 0x11);
35 return $this->
getData(
'journalId');
43 return $this->
setData(
'journalId', $journalId);
60 return $this->
getData(
'name', $locale);
69 return $this->
setData(
'name', $name, $locale);
86 return $this->
getData(
'description', $locale);
95 return $this->
setData(
'description', $description, $locale);
111 return $this->
setData(
'cost', $cost);
119 return $this->
getData(
'currencyCodeAlpha');
127 return $this->
setData(
'currencyCodeAlpha', $currencyCodeAlpha);
135 $isoCodes = new \Sokil\IsoCodes\IsoCodesFactory();
136 $currency = $isoCodes->getCurrencies()->getByLetterCode($this->
getData(
'currencyCodeAlpha'));
137 return $currency?$currency->getLocalName():
'subscriptionTypes.currency';
145 $isoCodes = new \Sokil\IsoCodes\IsoCodesFactory();
146 $currency = $isoCodes->getCurrencies()->getByLetterCode($this->
getData(
'currencyCodeAlpha'));
147 return $currency?$currency->getLetterCode():
'subscriptionTypes.currency';
163 return $this->
getData(
'duration');
171 return $this->
setData(
'duration', $duration);
181 return __(
'subscriptionTypes.nonExpiring',
null, $locale);
189 $yearsMonths =
'1 ' . __(
'subscriptionTypes.year',
null, $locale);
190 } elseif ($years > 1) {
191 $yearsMonths = $years .
' ' . __(
'subscriptionTypes.years',
null, $locale);
195 $yearsMonths .= $yearsMonths ==
'' ?
'1 ' :
' 1 ';
196 $yearsMonths .= __(
'subscriptionTypes.month',
null, $locale);
197 } elseif ($months > 1){
198 $yearsMonths .= $yearsMonths ==
'' ? $months .
' ' :
' ' . $months .
' ';
199 $yearsMonths .= __(
'subscriptionTypes.months',
null, $locale);
210 return $this->
getData(
'format');
218 return $this->
setData(
'format', $format);
226 switch ($this->
getData(
'format')) {
227 case SUBSCRIPTION_TYPE_FORMAT_ONLINE:
228 return 'subscriptionTypes.format.online';
229 case SUBSCRIPTION_TYPE_FORMAT_PRINT:
230 return 'subscriptionTypes.format.print';
231 case SUBSCRIPTION_TYPE_FORMAT_PRINT_ONLINE:
232 return 'subscriptionTypes.format.printOnline';
234 return 'subscriptionTypes.format';
243 return $this->
getData(
'institutional');
251 return $this->
setData(
'institutional', $institutional);
259 return $this->
getData(
'membership');
267 return $this->
setData(
'membership', $membership);
275 return $this->
getData(
'disable_public_display');
283 return $this->
setData(
'disable_public_display', $disablePublicDisplay);
291 return $this->
getData(
'sequence');
299 return $this->
setData(
'sequence', $sequence);