%PDF-1.7 GIF89;
| Server IP : 172.66.157.178 / Your IP : 172.16.20.3 Web Server : Apache/2.4.25 (Debian) System : Linux f64a392e70de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : application ( 1000) PHP Version : 5.6.40 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /app/classes/issue/ |
Upload File : |
<?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();
}
}
?>