19 import(
'lib.pkp.classes.file.FileManager');
20 import(
'classes.issue.IssueFile');
37 $issue = $issueDao->getById($issueId);
38 assert(isset($issue));
43 parent::__construct();
59 $this->_filesDir = $filesDir;
75 $this->_issueId = (int) $issueId;
85 $issueFile = $issueFileDao->getById($fileId);
87 if (parent::deleteByPath($this->
getFilesDir() . $this->
contentTypeToPath($issueFile->getContentType()) .
'/' . $issueFile->getServerFileName())) {
88 $issueFileDao->deleteById($fileId);
110 $issueFile = $issueFileDao->getById($fileId);
113 $fileType = $issueFile->getFileType();
116 return parent::downloadByPath($filePath, $fileType, $inline);
129 switch ($contentType) {
130 case ISSUE_FILE_PUBLIC:
return 'public';
140 switch ($contentType) {
141 case ISSUE_FILE_PUBLIC:
return 'PB';
153 if (
HookRegistry::call(
'IssueFileManager::fromTemporaryFile', array(&$temporaryFile, &$contentType, &$result)))
return $result;
159 $dir = $this->
getFilesDir() . $contentTypePath .
'/';
161 $issueFile = $issueFileDao->newDataObject();
162 $issueFile->setIssueId($issueId);
163 $issueFile->setDateUploaded($temporaryFile->getDateUploaded());
165 $issueFile->setServerFileName(
'');
166 $issueFile->setFileType($temporaryFile->getFileType());
167 $issueFile->setFileSize($temporaryFile->getFileSize());
168 $issueFile->setOriginalFileName($temporaryFile->getOriginalFileName());
169 $issueFile->setContentType($contentType);
171 if (!$issueFileDao->insertObject($issueFile))
return false;
174 $newFileName = $issueFile->getIssueId().
'-'.$issueFile->getId().
'-'.$this->
contentTypeToAbbrev($contentType).
'.'.$extension;
175 $issueFile->setServerFileName($newFileName);
178 if (!$this->
copyFile($temporaryFile->getFilePath(), $dir . $newFileName)) {
180 $issueFileDao->deleteById($issueFile->getId());
185 $issueFileDao->updateObject($issueFile);