• Main Page
  • Modules
  • Classes
  • Files
  • File List

controllers/grid/files/submissionDocuments/form/NewLibraryFileForm.inc.php

00001 <?php
00002 
00016 import('controllers.grid.files.form.LibraryFileForm');
00017 
00018 class NewLibraryFileForm extends LibraryFileForm {
00019 
00021    var $monographId;
00022 
00027    function NewLibraryFileForm($pressId, $monographId) {
00028       parent::LibraryFileForm('controllers/grid/files/submissionDocuments/form/newFileForm.tpl', $pressId);
00029       $this->monographId = $monographId;
00030       $this->addCheck(new FormValidator($this, 'temporaryFileId', 'required', 'settings.libraryFiles.fileRequired'));
00031    }
00032 
00037    function readInputData() {
00038       $this->readUserVars(array('temporaryFileId', 'monographId'));
00039       return parent::readInputData();
00040    }
00041 
00045    function fetch(&$request) {
00046       $templateMgr =& TemplateManager::getManager();
00047       $templateMgr->assign('monographId', $this->getMonographId());
00048       return parent::fetch($request);
00049    }
00050 
00056    function execute($userId) {
00057       // Fetch the temporary file storing the uploaded library file
00058       $temporaryFileDao =& DAORegistry::getDAO('TemporaryFileDAO');
00059       $temporaryFile =& $temporaryFileDao->getTemporaryFile(
00060          $this->getData('temporaryFileId'),
00061          $userId
00062       );
00063       $libraryFileDao =& DAORegistry::getDAO('LibraryFileDAO');
00064       $libraryFileManager = new LibraryFileManager($this->pressId);
00065 
00066       // Convert the temporary file to a library file and store
00067       $libraryFile =& $libraryFileManager->copyFromTemporaryFile($temporaryFile, $this->getData('fileType'));
00068       assert($libraryFile);
00069       $libraryFile->setPressId($this->pressId);
00070       $libraryFile->setName($this->getData('libraryFileName'), null); // Localized
00071       $libraryFile->setType($this->getData('fileType'));
00072       $libraryFile->setMonographId($this->getData('monographId'));
00073 
00074       $fileId = $libraryFileDao->insertObject($libraryFile);
00075 
00076       // Clean up the temporary file
00077       import('classes.file.TemporaryFileManager');
00078       $temporaryFileManager = new TemporaryFileManager();
00079       $temporaryFileManager->deleteFile($this->getData('temporaryFileId'), $userId);
00080 
00081       return $fileId;
00082    }
00083 
00088    function getMonographId() {
00089       return $this->monographId;
00090    }
00091 }
00092 
00093 ?>

Generated on Mon Sep 17 2012 13:58:56 for Open Monograph Press by  doxygen 1.7.1