Open Monograph Press  3.3.0
CoverHandler.inc.php
1 <?php
2 
16 import('lib.pkp.classes.handler.PKPHandler');
17 
18 class CoverHandler extends PKPHandler {
20  var $_press;
21 
24 
31  function authorize($request, &$args, $roleAssignments) {
32  import('classes.security.authorization.OmpPublishedSubmissionAccessPolicy');
33  $this->addPolicy(new OmpPublishedSubmissionAccessPolicy($request, $args, $roleAssignments));
34  return parent::authorize($request, $args, $roleAssignments);
35  }
36 
41  function setMonographId($monographId) {
42  $this->monographId = $monographId;
43  }
44 
49  function getMonographId() {
50  return $this->monographId;
51  }
52 
57  function setPress($press) {
58  $this->_press = $press;
59  }
60 
65  function getPress() {
66  return $this->_press;
67  }
68 
72  function cover($args, $request) {
73  // this function is only used on the book page i.e. for published submissiones
74  $submission = $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH);
75 
76  $coverImageUrl = $submission->getCurrentPublication()->getLocalizedCoverImageUrl($submission->getData('contextId'));
77  if (!$coverImageUrl) {
78  $coverImageUrl = $request->getBaseUrl() . '/templates/images/book-default.png';
79  }
80 
81  // Can't use Request::redirectUrl; FireFox doesn't
82  // seem to like it for images.
83  header('Location: ' . $coverImageUrl);
84  exit;
85  }
86 
90  function thumbnail($args, $request) {
91  // use ASSOC_TYPE_MONOGRAPH to set the cover at any workflow stage
92  // i.e. also if the monograph has not been published yet
93  $submission = $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH);
94 
95  $coverImageThumbnailUrl = $submission->getCurrentPublication()->getLocalizedCoverImageThumbnailUrl($submission->getData('contextId'));
96  if (!$coverImageThumbnailUrl) {
97  $coverImageThumbnailUrl = $request->getBaseUrl() . '/templates/images/book-default_t.png';
98  }
99 
100  // Can't use Request::redirectUrl; FireFox doesn't
101  // seem to like it for images.
102  header('Location: ' . $coverImageThumbnailUrl);
103  exit;
104  }
105 }
106 
107 
CoverHandler\$monographId
$monographId
Definition: CoverHandler.inc.php:29
CoverHandler\getMonographId
getMonographId()
Definition: CoverHandler.inc.php:55
CoverHandler\setMonographId
setMonographId($monographId)
Definition: CoverHandler.inc.php:47
PKPHandler
Definition: PKPHandler.inc.php:17
CoverHandler\setPress
setPress($press)
Definition: CoverHandler.inc.php:63
CoverHandler\cover
cover($args, $request)
Definition: CoverHandler.inc.php:78
CoverHandler\$_press
$_press
Definition: CoverHandler.inc.php:23
CoverHandler\thumbnail
thumbnail($args, $request)
Definition: CoverHandler.inc.php:96
CoverHandler\authorize
authorize($request, &$args, $roleAssignments)
Definition: CoverHandler.inc.php:37
PKPHandler\getAuthorizedContextObject
& getAuthorizedContextObject($assocType)
Definition: PKPHandler.inc.php:174
CoverHandler\getPress
getPress()
Definition: CoverHandler.inc.php:71
PKPHandler\addPolicy
addPolicy($authorizationPolicy, $addToTop=false)
Definition: PKPHandler.inc.php:157
CoverHandler
Component serving up cover images for submissions.
Definition: CoverHandler.inc.php:18
OmpPublishedSubmissionAccessPolicy
Class to control access to published submissions in OMP.
Definition: OmpPublishedSubmissionAccessPolicy.inc.php:17