Open Journal Systems  3.3.0
DownloadAllLinkAction.inc.php
1 <?php
19 import('lib.pkp.classes.linkAction.LinkAction');
20 
22 
29  function __construct($request, $actionArgs, $files) {
30  // Instantiate the redirect action request.
31  $router = $request->getRouter();
32  $filesIdsAndRevisions = $this->_getFilesIdsAndRevisions($files);
33  $actionArgs['filesIdsAndRevisions'] = $filesIdsAndRevisions;
34  import('lib.pkp.classes.linkAction.request.PostAndRedirectAction');
35  $redirectRequest = new PostAndRedirectAction($router->url($request, null, 'api.file.FileApiHandler', 'recordDownload', null, $actionArgs),
36  $router->url($request, null, 'api.file.FileApiHandler', 'downloadAllFiles', null, $actionArgs));
37 
38  // Configure the link action.
39  parent::__construct('downloadAll', $redirectRequest, __('submission.files.downloadAll'), 'getPackage');
40  }
41 
42 
43  //
44  // Private helper methods.
45  //
51  function _getFilesIdsAndRevisions($files) {
52  $filesIdsAndRevisions = null;
53  foreach ($files as $fileData) {
54  $file =& $fileData['submissionFile'];
55  $fileId = $file->getFileId();
56  $revision = $file->getRevision();
57  $filesIdsAndRevisions .= $fileId . '-' . $revision . ';';
58  unset($file);
59  }
60 
61  return $filesIdsAndRevisions;
62  }
63 }
64 
65 
PostAndRedirectAction
Class defining a post and redirect action. See PostAndRedirectRequest.js to detailed description.
Definition: PostAndRedirectAction.inc.php:19
LinkAction
Base class defining an action that can be performed by the user in the user interface.
Definition: LinkAction.inc.php:22
DownloadAllLinkAction\__construct
__construct($request, $actionArgs, $files)
Definition: DownloadAllLinkAction.inc.php:29
DownloadAllLinkAction\_getFilesIdsAndRevisions
_getFilesIdsAndRevisions($files)
Definition: DownloadAllLinkAction.inc.php:51
DownloadAllLinkAction
An action to download all files in a submission file grid.
Definition: DownloadAllLinkAction.inc.php:21