deleteFile() public method

Delete an issue file by ID.
public deleteFile ( $fileId ) : boolean
$fileId int
return boolean if successful
 /**
  * Delete an issue galley.
  * @param $args array ($issueId, $galleyId)
  */
 function deleteIssueGalley($args, $request)
 {
     $issueId = isset($args[0]) ? (int) $args[0] : 0;
     $galleyId = isset($args[1]) ? (int) $args[1] : 0;
     $this->validate($issueId, true);
     $galleyDao =& DAORegistry::getDAO('IssueGalleyDAO');
     $galley =& $galleyDao->getGalley($galleyId, $issueId);
     if (isset($galley)) {
         import('classes.file.IssueFileManager');
         $issueFileManager = new IssueFileManager($issueId);
         if ($galley->getFileId()) {
             $issueFileManager->deleteFile($galley->getFileId());
         }
         $galleyDao->deleteGalley($galley);
     }
     $request->redirect(null, null, 'issueGalleys', $issueId);
 }
Beispiel #2
0
 /**
  * Save changes to the galley.
  * @param $request PKPRequest
  * @return int the galley ID
  */
 function execute($request)
 {
     import('classes.file.IssueFileManager');
     $issueFileManager = new IssueFileManager($this->_issue->getId());
     $journal = $request->getJournal();
     $user = $request->getUser();
     $issueGalley = $this->_issueGalley;
     $issueGalleyDao = DAORegistry::getDAO('IssueGalleyDAO');
     // If a temporary file ID was specified (i.e. an upload occurred), get the file for later.
     $temporaryFileDao = DAORegistry::getDAO('TemporaryFileDAO');
     $temporaryFile = $temporaryFileDao->getTemporaryFile($this->getData('temporaryFileId'), $user->getId());
     if ($issueGalley) {
         // Update an existing galley
         if ($temporaryFile) {
             // Galley has a file, delete it before uploading new one
             if ($issueGalley->getFileId()) {
                 $issueFileManager->deleteFile($issueGalley->getFileId());
             }
             // Upload new file
             $issueFile = $issueFileManager->fromTemporaryFile($temporaryFile);
             $issueGalley->setFileId($issueFile->getFileId());
         }
         $issueGalley->setLabel($this->getData('label'));
         $issueGalley->setStoredPubId('publisher-id', $this->getData('publicGalleyId'));
         $issueGalley->setLocale($this->getData('galleyLocale'));
         // Update galley in the db
         $issueGalleyDao->updateObject($issueGalley);
     } else {
         // Create a new galley
         $issueGalleyFile = $issueFileManager->fromTemporaryFile($temporaryFile);
         $issueGalley = $issueGalleyDao->newDataObject();
         $issueGalley->setIssueId($this->_issue->getId());
         $issueGalley->setFileId($issueGalleyFile->getId());
         if ($this->getData('label') == null) {
             // Generate initial label based on file type
             if (isset($fileType)) {
                 if (strstr($fileType, 'pdf')) {
                     $issueGalley->setLabel('PDF');
                 } else {
                     if (strstr($fileType, 'postscript')) {
                         $issueGalley->setLabel('PostScript');
                     } else {
                         if (strstr($fileType, 'xml')) {
                             $issueGalley->setLabel('XML');
                         }
                     }
                 }
             }
             if ($issueGalley->getLabel() == null) {
                 $issueGalley->setLabel(__('common.untitled'));
             }
         } else {
             $issueGalley->setLabel($this->getData('label'));
         }
         $issueGalley->setLocale($this->getData('galleyLocale'));
         $issueGalley->setStoredPubId('publisher-id', $this->getData('publicGalleyId'));
         // Insert new galley into the db
         $issueGalleyDao->insertObject($issueGalley);
         $this->_issueGalley = $issueGalley;
     }
     return $this->_issueGalley->getId();
 }
Beispiel #3
0
 /**
  * Save changes to the galley.
  * @return int the galley ID
  */
 function execute($fileName = null)
 {
     import('classes.file.IssueFileManager');
     $issueFileManager = new IssueFileManager($this->getIssueId());
     $galleyDao =& DAORegistry::getDAO('IssueGalleyDAO');
     $fileName = isset($fileName) ? $fileName : 'galleyFile';
     $journal =& Request::getJournal();
     $galley =& $this->getGalley();
     // Update an existing galley
     if ($galley) {
         if ($issueFileManager->uploadedFileExists($fileName)) {
             // Galley has a file, delete it before uploading new one
             if ($galley->getFileId()) {
                 $issueFileManager->deleteFile($galley->getFileId());
             }
             // Upload new file
             $fileId = $issueFileManager->uploadPublicFile($fileName);
             $galley->setFileId($fileId);
         }
         $galley->setLabel($this->getData('label'));
         if ($journal->getSetting('enablePublicGalleyId')) {
             $galley->setStoredPubId('publisher-id', $this->getData('publicGalleyId'));
         }
         $galley->setLocale($this->getData('galleyLocale'));
         // Update galley in the db
         $galleyDao->updateGalley($galley);
     } else {
         // Create a new galley
         // Upload galley file
         if ($issueFileManager->uploadedFileExists($fileName)) {
             $fileType = $issueFileManager->getUploadedFileType($fileName);
             $fileId = $issueFileManager->uploadPublicFile($fileName);
         } else {
             // No galley file uploaded
             $fileId = 0;
         }
         $galley = new IssueGalley();
         $galley->setIssueId($this->getIssueId());
         $galley->setFileId($fileId);
         if ($this->getData('label') == null) {
             // Generate initial label based on file type
             $enablePublicGalleyId = $journal->getSetting('enablePublicGalleyId');
             if (isset($fileType)) {
                 if (strstr($fileType, 'pdf')) {
                     $galley->setLabel('PDF');
                     if ($enablePublicGalleyId) {
                         $galley->setStoredPubId('publisher-id', 'pdf');
                     }
                 } else {
                     if (strstr($fileType, 'postscript')) {
                         $galley->setLabel('PostScript');
                         if ($enablePublicGalleyId) {
                             $galley->setStoredPubId('publisher-id', 'ps');
                         }
                     } else {
                         if (strstr($fileType, 'xml')) {
                             $galley->setLabel('XML');
                             if ($enablePublicGalleyId) {
                                 $galley->setStoredPubId('publisher-id', 'xml');
                             }
                         }
                     }
                 }
             }
             if ($galley->getLabel() == null) {
                 $galley->setLabel(__('common.untitled'));
             }
         } else {
             $galley->setLabel($this->getData('label'));
         }
         $galley->setLocale($this->getData('galleyLocale'));
         if ($enablePublicGalleyId) {
             // Ensure the assigned public id doesn't already exist
             $journalDao =& DAORegistry::getDAO('JournalDAO');
             /* @var $journalDao JournalDAO */
             $publicGalleyId = $galley->getPubId('publisher-id');
             $suffix = '';
             $i = 1;
             while ($journalDao->anyPubIdExists($journal->getId(), 'publisher-id', $publicGalleyId . $suffix)) {
                 $suffix = '_' . $i++;
             }
             $galley->setStoredPubId('publisher-id', $publicGalleyId . $suffix);
         }
         // Insert new galley into the db
         $galleyDao->insertGalley($galley);
         $this->setGalley($galley);
     }
     return $this->getGalleyId();
 }