[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
Backup
/
14082024
/
Data
/
htdocs
/
htdocs
/
ojs
/
248
/
classes
/
issue
/
[
Home
]
File: IssueGalley.inc.php
<?php /** * @file classes/issue/IssueGalley.inc.php * * Copyright (c) 2013-2019 Simon Fraser University * Copyright (c) 2003-2019 John Willinsky * Distributed under the GNU GPL v2. For full terms see the file docs/COPYING. * * @class IssueGalley * @ingroup issue * @see IssueGalleyDAO * * @brief A galley is a final presentation version of the full-text of an issue. */ import('classes.issue.IssueFile'); class IssueGalley extends IssueFile { /** * Constructor. */ function IssueGalley() { parent::IssueFile(); } /** * Check if galley is a PDF galley. * @return boolean */ function isPdfGalley() { switch ($this->getFileType()) { case 'application/pdf': case 'application/x-pdf': case 'text/pdf': case 'text/x-pdf': return true; default: return false; } } // // Get/set methods // /** * Get views count. * @return int */ function getViews() { $application =& PKPApplication::getApplication(); return $application->getPrimaryMetricByAssoc(ASSOC_TYPE_ISSUE_GALLEY, $this->getId()); } /** * Get the localized value of the galley label. * @return $string */ function getGalleyLabel() { $label = $this->getLabel(); if ($this->getLocale() != AppLocale::getLocale()) { $locales = AppLocale::getAllLocales(); $label .= ' (' . $locales[$this->getLocale()] . ')'; } return $label; } /** * Get label/title. * @return string */ function getLabel() { return $this->getData('label'); } /** * Set label/title. * @param $label string */ function setLabel($label) { return $this->setData('label', $label); } /** * Get locale. * @return string */ function getLocale() { return $this->getData('locale'); } /** * Set locale. * @param $locale string */ function setLocale($locale) { return $this->setData('locale', $locale); } /** * Get sequence order. * @return float */ function getSequence() { return $this->getData('sequence'); } /** * Set sequence order. * @param $sequence float */ function setSequence($sequence) { return $this->setData('sequence', $sequence); } /** * Get file ID. * @return int */ function getFileId() { return $this->getData('fileId'); } /** * Set file ID. * @param $fileId */ function setFileId($fileId) { return $this->setData('fileId', $fileId); } /** * Get a public ID for this galley. * @param $pubIdType string One of the NLM pub-id-type values or * 'other::something' if not part of the official NLM list * (see <http://dtd.nlm.nih.gov/publishing/tag-library/n-4zh0.html>). * @var $preview boolean If true, generate a non-persisted preview only. */ function getPubId($pubIdType, $preview = false) { // If we already have an assigned ID, use it. $storedId = $this->getStoredPubId($pubIdType); // Ensure that blanks are treated as nulls. if ($storedId === '') { $storedId = null; } return $storedId; } /** * Get stored public ID of the galley. * @param $pubIdType string One of the NLM pub-id-type values or * 'other::something' if not part of the official NLM list * (see <http://dtd.nlm.nih.gov/publishing/tag-library/n-4zh0.html>). * @return string */ function getStoredPubId($pubIdType) { return $this->getData('pub-id::'.$pubIdType); } /** * Set stored public galley id. * @param $pubIdType string One of the NLM pub-id-type values or * 'other::something' if not part of the official NLM list * (see <http://dtd.nlm.nih.gov/publishing/tag-library/n-4zh0.html>). * @param $pubId string */ function setStoredPubId($pubIdType, $pubId) { return $this->setData('pub-id::'.$pubIdType, $pubId); } /** * Return the "best" article ID -- If a public article ID is set, * use it; otherwise use the internal article Id. (Checks the journal * settings to ensure that the public ID feature is enabled.) * @param $journal Object the journal this galley is in * @return string */ function getBestGalleyId(&$journal) { if ($journal->getSetting('enablePublicGalleyId')) { $publicGalleyId = $this->getPubId('publisher-id'); if (!empty($publicGalleyId)) return $publicGalleyId; } return $this->getId(); } } ?>