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
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
00067 $libraryFile =& $libraryFileManager->copyFromTemporaryFile($temporaryFile, $this->getData('fileType'));
00068 assert($libraryFile);
00069 $libraryFile->setPressId($this->pressId);
00070 $libraryFile->setName($this->getData('libraryFileName'), null);
00071 $libraryFile->setType($this->getData('fileType'));
00072 $libraryFile->setMonographId($this->getData('monographId'));
00073
00074 $fileId = $libraryFileDao->insertObject($libraryFile);
00075
00076
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 ?>