fromTemporaryFile() public méthode

Create an issue galley based on a temporary file.
public fromTemporaryFile ( $temporaryFile, $contentType = ISSUE_FILE_PUBLIC ) : IssueFile
$temporaryFile TemporaryFile
$contentType int Issue file content type
Résultat IssueFile the resulting issue file
Exemple #1
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();
 }