• Main Page
  • Modules
  • Classes
  • Files
  • File List

controllers/grid/files/fileList/linkAction/DownloadAllLinkAction.inc.php

00001 <?php
00018 import('lib.pkp.classes.linkAction.LinkAction');
00019 
00020 class DownloadAllLinkAction extends LinkAction {
00021 
00028    function DownloadAllLinkAction(&$request, $actionArgs, $files) {
00029       // Instantiate the redirect action request.
00030       $router =& $request->getRouter();
00031       $filesIdsAndRevisions = $this->_getFilesIdsAndRevisions($files);
00032       $actionArgs['filesIdsAndRevisions'] = $filesIdsAndRevisions;
00033       import('lib.pkp.classes.linkAction.request.PostAndRedirectAction');
00034       $redirectRequest = new PostAndRedirectAction($router->url($request, null, 'api.file.FileApiHandler', 'recordDownload', null, $actionArgs),
00035          $router->url($request, null, 'api.file.FileApiHandler', 'downloadAllFiles', null, $actionArgs));
00036 
00037       // Configure the link action.
00038       parent::LinkAction('downloadAll', $redirectRequest, __('submission.files.downloadAll'), 'getPackage');
00039    }
00040 
00041 
00042    //
00043    // Private helper methods.
00044    //
00050    function _getFilesIdsAndRevisions($files) {
00051       $filesIdsAndRevisions = null;
00052       foreach ($files as $fileData) {
00053          $file =& $fileData['submissionFile'];
00054          $fileId = $file->getFileId();
00055          $revision = $file->getRevision();
00056          $filesIdsAndRevisions .= $fileId . '-' . $revision . ';';
00057          unset($file);
00058       }
00059 
00060       return $filesIdsAndRevisions;
00061    }
00062 }
00063 
00064 ?>

Generated on Mon Sep 17 2012 13:58:55 for Open Monograph Press by  doxygen 1.7.1