Open Journal Systems  3.3.0
DownloadLibraryFileLinkAction.inc.php
1 <?php
15 import('lib.pkp.classes.linkAction.LinkAction');
16 
18 
25  function __construct($request, $libraryFile) {
26  // Instantiate the redirect action request.
27  $router = $request->getRouter();
28  import('lib.pkp.classes.linkAction.request.PostAndRedirectAction');
29  $redirectRequest = new PostAndRedirectAction(
30  $router->url(
31  $request, null, 'api.file.FileApiHandler', 'enableLinkAction',
32  null, $this->getActionArgs($libraryFile)),
33  $router->url(
34  $request, null, 'api.file.FileApiHandler', 'downloadLibraryFile',
35  null, $this->getActionArgs($libraryFile))
36  );
37 
38  // Configure the file link action.
39  parent::__construct(
40  'downloadFile', $redirectRequest, htmlspecialchars($libraryFile->getLocalizedName()),
41  $libraryFile->getDocumentType()
42  );
43  }
44 
50  function getActionArgs(&$libraryFile) {
51  assert(is_a($libraryFile, 'LibraryFile'));
52 
53  // Create the action arguments array.
54  $args = array('libraryFileId' => $libraryFile->getId());
55 
56  if ($libraryFile->getSubmissionId()) {
57  $args['submissionId'] = $libraryFile->getSubmissionId();
58  }
59 
60  return $args;
61  }
62 }
63 
64 
PostAndRedirectAction
Class defining a post and redirect action. See PostAndRedirectRequest.js to detailed description.
Definition: PostAndRedirectAction.inc.php:19
DownloadLibraryFileLinkAction
An action to download a library file.
Definition: DownloadLibraryFileLinkAction.inc.php:17
DownloadLibraryFileLinkAction\getActionArgs
getActionArgs(&$libraryFile)
Definition: DownloadLibraryFileLinkAction.inc.php:50
LinkAction
Base class defining an action that can be performed by the user in the user interface.
Definition: LinkAction.inc.php:22
DownloadLibraryFileLinkAction\__construct
__construct($request, $libraryFile)
Definition: DownloadLibraryFileLinkAction.inc.php:25