/**
  * Download a file.
  * @param $args array ($paperId, $fileId, [$revision])
  */
 function downloadFile($args, $request)
 {
     $paperId = (int) array_shift($args);
     $fileId = (int) array_shift($args);
     $revision = (int) array_shift($args);
     $this->validate($request, $paperId);
     if (!TrackDirectorAction::downloadFile($paperId, $fileId, $revision)) {
         $request->redirect(null, null, null, 'submission', $paperId);
     }
 }
 /**
  * Download a file.
  * @param $args array ($paperId, $fileId, [$revision])
  */
 function downloadFile($args)
 {
     $paperId = isset($args[0]) ? $args[0] : 0;
     $fileId = isset($args[1]) ? $args[1] : 0;
     $revision = isset($args[2]) ? $args[2] : null;
     $this->validate($paperId);
     if (!TrackDirectorAction::downloadFile($paperId, $fileId, $revision)) {
         Request::redirect(null, null, null, 'submission', $paperId);
     }
 }