00001 <?php
00014 import('lib.pkp.classes.linkAction.LinkAction');
00015
00016 class DownloadLibraryFileLinkAction extends LinkAction {
00017
00024 function DownloadLibraryFileLinkAction(&$request, &$libraryFile) {
00025
00026 $router =& $request->getRouter();
00027 import('lib.pkp.classes.linkAction.request.PostAndRedirectAction');
00028 $redirectRequest = new PostAndRedirectAction(
00029 $router->url(
00030 $request, null, 'api.file.FileApiHandler', 'enableLinkAction',
00031 null, $this->getActionArgs($libraryFile)),
00032 $router->url(
00033 $request, null, 'api.file.FileApiHandler', 'downloadLibraryFile',
00034 null, $this->getActionArgs($libraryFile))
00035 );
00036
00037
00038 parent::LinkAction(
00039 'downloadFile', $redirectRequest, $libraryFile->getLocalizedName(),
00040 $libraryFile->getDocumentType()
00041 );
00042 }
00043
00049 function getActionArgs(&$libraryFile) {
00050 assert(is_a($libraryFile, 'LibraryFile'));
00051
00052
00053 $args = array('libraryFileId' => $libraryFile->getId());
00054
00055 if ($libraryFile->getMonographId()) {
00056 $args['monographId'] = $libraryFile->getMonographId();
00057 }
00058
00059 return $args;
00060 }
00061 }
00062
00063 ?>