16 import(
'classes.handler.Handler');
28 $this->_callingHandler = $callingHandler;
41 import(
'classes.file.LibraryFileManager');
42 $context = $request->getContext();
46 $publicFileId = $args[0];
48 $libraryFile = $libraryFileDao->getById($publicFileId, $context->getId());
49 if ($libraryFile && $libraryFile->getPublicAccess()) {
50 $libraryFileManager->downloadByPath($libraryFile->getFilePath());
52 header(
'HTTP/1.0 403 Forbidden');
53 echo
'403 Forbidden<br>';
64 import(
'classes.file.LibraryFileManager');
65 $context = $request->getContext();
68 $libraryFile = $libraryFileDao->getById($request->getUserVar(
'libraryFileId'), $context->getId());
73 if ($libraryFile->getSubmissionId()) {
74 $allowedAccess =
false;
77 if ($this->_callingHandler) {
78 $userRoles = $this->_callingHandler->getAuthorizedContextObject(ASSOC_TYPE_USER_ROLES);
79 if (array_intersect($userRoles, array(ROLE_ID_MANAGER))) $allowedAccess =
true;
83 $user = $request->getUser();
85 $assignedUsers = $userStageAssignmentDao->getUsersBySubmissionAndStageId($libraryFile->getSubmissionId(), WORKFLOW_STAGE_ID_SUBMISSION);
86 if (!$assignedUsers->wasEmpty()) {
87 while ($assignedUser = $assignedUsers->next()) {
88 if ($assignedUser->getId() == $user->getId()) {
89 $allowedAccess =
true;
95 $allowedAccess =
true;
99 $libraryFileManager->downloadByPath($libraryFile->getFilePath());
101 header(
'HTTP/1.0 403 Forbidden');
102 echo
'403 Forbidden<br>';