Open Journal Systems  3.3.0
settings/library/form/NewLibraryFileForm.inc.php
1 <?php
2 
17 import('lib.pkp.controllers.grid.files.form.LibraryFileForm');
18 
19 class NewLibraryFileForm extends LibraryFileForm {
24  function __construct($contextId) {
25  parent::__construct('controllers/grid/settings/library/form/newFileForm.tpl', $contextId);
26  $this->addCheck(new FormValidator($this, 'temporaryFileId', 'required', 'settings.libraryFiles.fileRequired'));
27  }
28 
33  function readInputData() {
34  $this->readUserVars(array('temporaryFileId'));
35  return parent::readInputData();
36  }
37 
42  function execute(...$functionArgs) {
43  $userId = Application::get()->getRequest()->getUser()->getId();
44 
45  // Fetch the temporary file storing the uploaded library file
46  $temporaryFileDao = DAORegistry::getDAO('TemporaryFileDAO'); /* @var $temporaryFileDao TemporaryFileDAO */
47  $temporaryFile = $temporaryFileDao->getTemporaryFile(
48  $this->getData('temporaryFileId'),
49  $userId
50  );
51  $libraryFileDao = DAORegistry::getDAO('LibraryFileDAO'); /* @var $libraryFileDao LibraryFileDAO */
52  $libraryFileManager = new LibraryFileManager($this->contextId);
53 
54  // Convert the temporary file to a library file and store
55  $libraryFile = $libraryFileManager->copyFromTemporaryFile($temporaryFile, $this->getData('fileType'));
56  assert(isset($libraryFile));
57  $libraryFile->setContextId($this->contextId);
58  $libraryFile->setName($this->getData('libraryFileName'), null); // Localized
59  $libraryFile->setType($this->getData('fileType'));
60  $libraryFile->setPublicAccess($this->getData('publicAccess'));
61 
62  $fileId = $libraryFileDao->insertObject($libraryFile);
63 
64  // Clean up the temporary file
65  import('lib.pkp.classes.file.TemporaryFileManager');
66  $temporaryFileManager = new TemporaryFileManager();
67  $temporaryFileManager->deleteById($this->getData('temporaryFileId'), $userId);
68  parent::execute(...$functionArgs);
69  return $fileId;
70  }
71 }
72 
73 
TemporaryFileManager
Definition: TemporaryFileManager.inc.php:19
NewLibraryFileForm
Definition: files/submissionDocuments/form/NewLibraryFileForm.inc.php:18
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
NewLibraryFileForm\execute
execute(... $functionArgs)
Definition: settings/library/form/NewLibraryFileForm.inc.php:42
NewLibraryFileForm\__construct
__construct($contextId)
Definition: settings/library/form/NewLibraryFileForm.inc.php:24
Form\readUserVars
readUserVars($vars)
Definition: Form.inc.php:378
Form\getData
getData($key)
Definition: Form.inc.php:220
LibraryFileForm\$libraryFileManager
$libraryFileManager
Definition: LibraryFileForm.inc.php:24
LibraryFileForm\$contextId
$contextId
Definition: LibraryFileForm.inc.php:21
LibraryFileManager
Wrapper class for uploading files to a site/context' library directory.
Definition: LibraryFileManager.inc.php:18
FormValidator
Class to represent a form validation check.
Definition: FormValidator.inc.php:23
Form\addCheck
addCheck($formValidator)
Definition: Form.inc.php:395
PKPApplication\get
static get()
Definition: PKPApplication.inc.php:235
LibraryFileForm
Form for adding/editing a file.
Definition: LibraryFileForm.inc.php:19
NewLibraryFileForm\readInputData
readInputData()
Definition: settings/library/form/NewLibraryFileForm.inc.php:33