Open Journal Systems  3.3.0
Submission.inc.php
1 <?php
2 
23 // Author display in ToC
24 define ('AUTHOR_TOC_DEFAULT', 0);
25 define ('AUTHOR_TOC_HIDE', 1);
26 define ('AUTHOR_TOC_SHOW', 2);
27 
28 // Article access constants -- see Publication::getData('accessStatus')
29 define('ARTICLE_ACCESS_ISSUE_DEFAULT', 0);
30 define('ARTICLE_ACCESS_OPEN', 1);
31 
32 import('lib.pkp.classes.submission.PKPSubmission');
33 
34 class Submission extends PKPSubmission {
35 
36  //
37  // Get/set methods
38  //
39 
47  function _getContextLicenseFieldValue($locale, $field, $publication = null) {
48  $context = Services::get('context')->get($this->getData('contextId'));
49  $fieldValue = null; // Scrutinizer
50  switch ($field) {
51  case PERMISSIONS_FIELD_LICENSE_URL:
52  $fieldValue = $context->getData('licenseUrl');
53  break;
54  case PERMISSIONS_FIELD_COPYRIGHT_HOLDER:
55  switch($context->getData('copyrightHolderType')) {
56  case 'author':
57  $fieldValue = array($context->getPrimaryLocale() => $this->getAuthorString());
58  break;
59  case 'context':
60  case null:
61  $fieldValue = $context->getName(null);
62  break;
63  default:
64  $fieldValue = $context->getData('copyrightHolderOther');
65  break;
66  }
67  break;
68  case PERMISSIONS_FIELD_COPYRIGHT_YEAR:
69  // Default copyright year to current year
70  $fieldValue = date('Y');
71 
72  // Override based on context settings
73  if (!$publication) {
74  $publication = $this->getCurrentPublication();
75  }
76  if ($publication) {
77  switch($context->getData('copyrightYearBasis')) {
78  case 'submission':
79  // override to the submission's year if published as you go
80  $fieldValue = date('Y', strtotime($publication->getData('datePublished')));
81  break;
82  case 'issue':
83  if ($publication->getData('issueId')) {
84  // override to the issue's year if published as issue-based
85  $issueDao =& DAORegistry::getDAO('IssueDAO');
86  $issue = $issueDao->getBySubmissionId($this->getId());
87  if ($issue && $issue->getDatePublished()) {
88  $fieldValue = date('Y', strtotime($issue->getDatePublished()));
89  }
90  }
91  break;
92  default: assert(false);
93  }
94  }
95  break;
96  default: assert(false);
97  }
98 
99  // Return the fetched license field
100  if ($locale === null) return $fieldValue;
101  if (isset($fieldValue[$locale])) return $fieldValue[$locale];
102  return null;
103  }
104 
110  function getBestArticleId() {
111  return parent::getBestId();
112  }
113 
119  function getJournalId() {
120  return $this->getData('contextId');
121  }
122 
128  function setJournalId($journalId) {
129  return $this->setData('contextId', $journalId);
130  }
131 
136  function getSectionId() {
137  $publication = $this->getCurrentPublication();
138  if (!$publication) {
139  return 0;
140  }
141  return $publication->getData('sectionId');
142  }
143 
148  function setSectionId($sectionId) {
149  $publication = $this->getCurrentPublication();
150  if ($publication) {
151  $publication->setData('sectionId', $sectionId);
152  }
153  }
154 
161  $publication = $this->getCurrentPublication();
162  if (!$publication) {
163  return '';
164  }
165  $coverImage = $publication->getLocalizedData('coverImage');
166  return empty($coverImage['uploadName']) ? '' : $coverImage['uploadName'];
167  }
168 
175  function getCoverImage($locale) {
176  $publication = $this->getCurrentPublication();
177  if (!$publication) {
178  return '';
179  }
180  $coverImage = $publication->getData('coverImage', $locale);
181  return empty($coverImage['uploadName']) ? '' : $coverImage['uploadName'];
182  }
183 
190  $publication = $this->getCurrentPublication();
191  if (!$publication) {
192  return '';
193  }
194  $coverImage = $publication->getLocalizedData('coverImage');
195  return empty($coverImage['altText']) ? '' : $coverImage['altText'];
196  }
197 
204  function getCoverImageAltText($locale) {
205  $publication = $this->getCurrentPublication();
206  if (!$publication) {
207  return '';
208  }
209  $coverImage = $publication->getData('coverImage', $locale);
210  return empty($coverImage['altText']) ? '' : $coverImage['altText'];
211  }
212 
220  $publication = $this->getCurrentPublication();
221  if (!$publication) {
222  return '';
223  }
224  return $publication->getLocalizedCoverImageUrl($this->getData('contextId'));
225  }
226 
232  function getGalleys() {
233  $galleys = $this->getData('galleys');
234  if (is_null($galleys)) {
235  $this->setData('galleys', Application::get()->getRepresentationDAO()->getByPublicationId($this->getCurrentPublication()->getId(), $this->getData('contextId'))->toArray());
236  return $this->getData('galleys');
237  }
238  return $galleys;
239  }
240 
246  function getLocalizedGalleys() {
247  $allGalleys = $this->getData('galleys');
248  $galleys = array();
249  foreach (array(AppLocale::getLocale(), AppLocale::getPrimaryLocale()) as $tryLocale) {
250  foreach (array_keys($allGalleys) as $key) {
251  if ($allGalleys[$key]->getLocale() == $tryLocale) {
252  $galleys[] = $allGalleys[$key];
253  }
254  }
255  if (!empty($galleys)) {
256  HookRegistry::call('ArticleGalleyDAO::getLocalizedGalleysByArticle', array(&$galleys));
257  return $galleys;
258  }
259  }
260 
261  return $galleys;
262  }
263 
269  function getHideAuthor() {
270  $publication = $this->getCurrentPublication();
271  if (!$publication) {
272  return 0;
273  }
274  return $publication->getData('hideAuthor');
275  }
276 }
Submission\getHideAuthor
getHideAuthor()
Definition: Submission.inc.php:269
DataObject\getData
& getData($key, $locale=null)
Definition: DataObject.inc.php:100
Submission\_getContextLicenseFieldValue
_getContextLicenseFieldValue($locale, $field, $publication=null)
Definition: Submission.inc.php:47
Submission\getLocalizedGalleys
getLocalizedGalleys()
Definition: Submission.inc.php:246
Submission
Article class.
Definition: Submission.inc.php:34
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
PKPSubmission
The Submission class implements the abstract data model of a scholarly submission.
Definition: PKPSubmission.inc.php:36
AppLocale\getPrimaryLocale
static getPrimaryLocale()
Definition: env1/MockAppLocale.inc.php:95
PKPSubmission\getLocale
getLocale()
Definition: PKPSubmission.inc.php:453
Submission\setJournalId
setJournalId($journalId)
Definition: Submission.inc.php:128
Submission\setSectionId
setSectionId($sectionId)
Definition: Submission.inc.php:148
Submission\getCoverImageAltText
getCoverImageAltText($locale)
Definition: Submission.inc.php:204
Submission\getBestArticleId
getBestArticleId()
Definition: Submission.inc.php:110
Submission\getLocalizedCoverImageUrl
getLocalizedCoverImageUrl()
Definition: Submission.inc.php:219
Submission\getSectionId
getSectionId()
Definition: Submission.inc.php:136
PKPSubmission\getCurrentPublication
getCurrentPublication()
Definition: PKPSubmission.inc.php:68
DataObject\getId
getId()
Definition: DataObject.inc.php:206
Submission\getGalleys
getGalleys()
Definition: Submission.inc.php:232
PKPApplication\get
static get()
Definition: PKPApplication.inc.php:235
Submission\getJournalId
getJournalId()
Definition: Submission.inc.php:119
HookRegistry\call
static call($hookName, $args=null)
Definition: HookRegistry.inc.php:86
AppLocale\getLocale
static getLocale()
Definition: env1/MockAppLocale.inc.php:40
Submission\getLocalizedCoverImage
getLocalizedCoverImage()
Definition: Submission.inc.php:160
Submission\getCoverImage
getCoverImage($locale)
Definition: Submission.inc.php:175
DataObject\setData
setData($key, $value, $locale=null)
Definition: DataObject.inc.php:132
PKPServices\get
static get($service)
Definition: PKPServices.inc.php:49
Submission\getLocalizedCoverImageAltText
getLocalizedCoverImageAltText()
Definition: Submission.inc.php:189