File Manager
Upload
Current Directory: /home/lartcid/public_html/journal.lartc.id
[Back]
..
[Open]
Hapus
Rename
.htaccess
[Edit]
Hapus
Rename
.well-known
[Open]
Hapus
Rename
README.md
[Edit]
Hapus
Rename
api
[Open]
Hapus
Rename
cache
[Open]
Hapus
Rename
cgi-bin
[Open]
Hapus
Rename
classes
[Open]
Hapus
Rename
config.TEMPLATE.inc.php
[Edit]
Hapus
Rename
config.inc.php
[Edit]
Hapus
Rename
controllers
[Open]
Hapus
Rename
cypress.json
[Edit]
Hapus
Rename
dbscripts
[Open]
Hapus
Rename
docs
[Open]
Hapus
Rename
error_log
[Edit]
Hapus
Rename
favicon.ico
[Edit]
Hapus
Rename
index.php
[Edit]
Hapus
Rename
js
[Open]
Hapus
Rename
lib
[Open]
Hapus
Rename
locale
[Open]
Hapus
Rename
mini.php
[Edit]
Hapus
Rename
pages
[Open]
Hapus
Rename
php.ini
[Edit]
Hapus
Rename
plugins
[Open]
Hapus
Rename
public
[Open]
Hapus
Rename
registry
[Open]
Hapus
Rename
scheduledTaskLogs
[Open]
Hapus
Rename
schemas
[Open]
Hapus
Rename
styles
[Open]
Hapus
Rename
templates
[Open]
Hapus
Rename
tools
[Open]
Hapus
Rename
Edit File
<?php /** * @file classes/subscription/SubscriptionType.php * * Copyright (c) 2014-2021 Simon Fraser University * Copyright (c) 2003-2021 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @class SubscriptionType * * @ingroup subscription * * @see SubscriptionTypeDAO * * @brief Basic class describing a subscription type. */ namespace APP\subscription; use PKP\facades\Locale; class SubscriptionType extends \PKP\core\DataObject { // Subscription type formats public const SUBSCRIPTION_TYPE_FORMAT_ONLINE = 1; public const SUBSCRIPTION_TYPE_FORMAT_PRINT = 16; public const SUBSCRIPTION_TYPE_FORMAT_PRINT_ONLINE = 17; // // Get/set methods // /** * Get the journal ID of the subscription type. * * @return int */ public function getJournalId() { return $this->getData('journalId'); } /** * Set the journal ID of the subscription type. * * @param int $journalId */ public function setJournalId($journalId) { return $this->setData('journalId', $journalId); } /** * Get the localized subscription type name * * @return string */ public function getLocalizedName() { return $this->getLocalizedData('name'); } /** * Get subscription type name. * * @param string $locale * * @return string */ public function getName($locale) { return $this->getData('name', $locale); } /** * Set subscription type name. * * @param string $name * @param string $locale */ public function setName($name, $locale) { return $this->setData('name', $name, $locale); } /** * Get the localized subscription type description * * @return string */ public function getLocalizedDescription() { return $this->getLocalizedData('description'); } /** * Get subscription type description. * * @param string $locale * * @return string */ public function getDescription($locale) { return $this->getData('description', $locale); } /** * Set subscription type description. * * @param string $description * @param string $locale */ public function setDescription($description, $locale) { return $this->setData('description', $description, $locale); } /** * Get subscription type cost. * * @return float */ public function getCost() { return $this->getData('cost'); } /** * Set subscription type cost. * * @param float $cost */ public function setCost($cost) { return $this->setData('cost', $cost); } /** * Get subscription type currency code. * * @return string */ public function getCurrencyCodeAlpha() { return $this->getData('currencyCodeAlpha'); } /** * Set subscription type currency code. * * @param string $currencyCodeAlpha */ public function setCurrencyCodeAlpha($currencyCodeAlpha) { return $this->setData('currencyCodeAlpha', $currencyCodeAlpha); } /** * Get subscription type currency string. * * @return string */ public function getCurrencyString() { $currency = Locale::getCurrencies()->getByLetterCode($this->getData('currencyCodeAlpha')); return $currency ? $currency->getLocalName() : 'subscriptionTypes.currency'; } /** * Get subscription type currency abbreviated string. * * @return string */ public function getCurrencyStringShort() { $currency = Locale::getCurrencies()->getByLetterCode($this->getData('currencyCodeAlpha')); return $currency ? $currency->getLetterCode() : 'subscriptionTypes.currency'; } /** * Get subscription type nonExpiring. * * @return bool */ public function getNonExpiring() { return $this->getDuration() == null; } /** * Get subscription type duration. * * @return int */ public function getDuration() { return $this->getData('duration'); } /** * Set subscription type duration. * * @param int $duration */ public function setDuration($duration) { return $this->setData('duration', $duration); } /** * Get subscription type duration in years and months. * * @param string $locale * * @return string */ public function getDurationYearsMonths($locale = null) { if (!$this->getDuration()) { return __('subscriptionTypes.nonExpiring', [], $locale); } $years = (int)floor($this->getDuration() / 12); $months = (int)fmod($this->getDuration(), 12); $yearsMonths = ''; if ($years == 1) { $yearsMonths = '1 ' . __('subscriptionTypes.year', [], $locale); } elseif ($years > 1) { $yearsMonths = $years . ' ' . __('subscriptionTypes.years', [], $locale); } if ($months == 1) { $yearsMonths .= $yearsMonths == '' ? '1 ' : ' 1 '; $yearsMonths .= __('subscriptionTypes.month', [], $locale); } elseif ($months > 1) { $yearsMonths .= $yearsMonths == '' ? $months . ' ' : ' ' . $months . ' '; $yearsMonths .= __('subscriptionTypes.months', [], $locale); } return $yearsMonths; } /** * Get subscription type format. * * @return int */ public function getFormat() { return $this->getData('format'); } /** * Set subscription type format. * * @param int $format */ public function setFormat($format) { return $this->setData('format', $format); } /** * Get subscription type format locale key. * * @return string */ public function getFormatString() { switch ($this->getData('format')) { case self::SUBSCRIPTION_TYPE_FORMAT_ONLINE: return 'subscriptionTypes.format.online'; case self::SUBSCRIPTION_TYPE_FORMAT_PRINT: return 'subscriptionTypes.format.print'; case self::SUBSCRIPTION_TYPE_FORMAT_PRINT_ONLINE: return 'subscriptionTypes.format.printOnline'; default: return 'subscriptionTypes.format'; } } /** * Check if this subscription type is for an institution. * * @return bool */ public function getInstitutional() { return $this->getData('institutional'); } /** * Set whether or not this subscription type is for an institution. * * @param bool $institutional */ public function setInstitutional($institutional) { return $this->setData('institutional', $institutional); } /** * Check if this subscription type requires a membership. * * @return bool */ public function getMembership() { return $this->getData('membership'); } /** * Set whether or not this subscription type requires a membership. * * @param bool $membership */ public function setMembership($membership) { return $this->setData('membership', $membership); } /** * Check if this subscription type should be publicly visible. * * @return bool */ public function getDisablePublicDisplay() { return $this->getData('disable_public_display'); } /** * Set whether or not this subscription type should be publicly visible. * * @param bool $disablePublicDisplay */ public function setDisablePublicDisplay($disablePublicDisplay) { return $this->setData('disable_public_display', $disablePublicDisplay); } /** * Get subscription type display sequence. * * @return float */ public function getSequence() { return $this->getData('sequence'); } /** * Set subscription type display sequence. * * @param float $sequence */ public function setSequence($sequence) { return $this->setData('sequence', $sequence); } /** * Get subscription type summary in the form: TypeName - Duration - Cost (CurrencyShort). * * @return string */ public function getSummaryString() { return $this->getLocalizedName() . ' - ' . $this->getDurationYearsMonths() . ' - ' . sprintf('%.2f', $this->getCost()) . ' ' . $this->getCurrencyStringShort(); } } if (!PKP_STRICT_MODE) { class_alias('\APP\subscription\SubscriptionType', '\SubscriptionType'); foreach ([ 'SUBSCRIPTION_TYPE_FORMAT_ONLINE', 'SUBSCRIPTION_TYPE_FORMAT_PRINT', 'SUBSCRIPTION_TYPE_FORMAT_PRINT_ONLINE', ] as $constantName) { define($constantName, constant('\SubscriptionType::' . $constantName)); } }
Simpan