| Server IP : 195.130.67.5 / Your IP : 216.73.217.154 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Old Sites/Libteiser - Ojs/ojs2/classes/author/form/submit/ |
Upload File : |
<?php
/**
* @file classes/author/form/submit/AuthorSubmitSuppFileForm.inc.php
*
* Copyright (c) 2003-2009 John Willinsky
* Distributed under the GNU GPL v2. For full terms see the file docs/COPYING.
*
* @class AuthorSubmitSuppFileForm
* @ingroup author_form_submit
*
* @brief Supplementary file author submission form.
*/
// $Id: AuthorSubmitSuppFileForm.inc.php,v 1.25.2.1 2009/04/08 19:42:46 asmecher Exp $
import('form.Form');
class AuthorSubmitSuppFileForm extends Form {
/** @var int the ID of the article */
var $articleId;
/** @var int the ID of the supplementary file */
var $suppFileId;
/** @var Article current article */
var $article;
/** @var SuppFile current file */
var $suppFile;
/**
* Constructor.
* @param $article object
* @param $suppFileId int (optional)
*/
function AuthorSubmitSuppFileForm($article, $suppFileId = null) {
parent::Form('author/submit/suppFile.tpl');
$this->articleId = $article->getArticleId();
if (isset($suppFileId) && !empty($suppFileId)) {
$suppFileDao = &DAORegistry::getDAO('SuppFileDAO');
$this->suppFile = &$suppFileDao->getSuppFile($suppFileId, $article->getArticleId());
if (isset($this->suppFile)) {
$this->suppFileId = $suppFileId;
}
}
// Validation checks for this form
$this->addCheck(new FormValidatorLocale($this, 'title', 'required', 'author.submit.suppFile.form.titleRequired'));
$this->addCheck(new FormValidatorPost($this));
}
/**
* Get the names of fields for which data should be localized
* @return array
*/
function getLocaleFieldNames() {
$suppFileDao =& DAORegistry::getDAO('SuppFileDAO');
return $suppFileDao->getLocaleFieldNames();
}
/**
* Display the form.
*/
function display() {
$templateMgr = &TemplateManager::getManager();
$templateMgr->assign('articleId', $this->articleId);
$templateMgr->assign('suppFileId', $this->suppFileId);
$templateMgr->assign('submitStep', 4);
$typeOptionsOutput = array(
'author.submit.suppFile.researchInstrument',
'author.submit.suppFile.researchMaterials',
'author.submit.suppFile.researchResults',
'author.submit.suppFile.transcripts',
'author.submit.suppFile.dataAnalysis',
'author.submit.suppFile.dataSet',
'author.submit.suppFile.sourceText'
);
$typeOptionsValues = $typeOptionsOutput;
array_push($typeOptionsOutput, 'common.other');
array_push($typeOptionsValues, '');
$templateMgr->assign('typeOptionsOutput', $typeOptionsOutput);
$templateMgr->assign('typeOptionsValues', $typeOptionsValues);
if (isset($this->article)) {
$templateMgr->assign('submissionProgress', $this->article->getSubmissionProgress());
}
if (isset($this->suppFile)) {
$templateMgr->assign_by_ref('suppFile', $this->suppFile);
}
$templateMgr->assign('helpTopicId','submission.supplementaryFiles');
parent::display();
}
/**
* Initialize form data from current supplementary file (if applicable).
*/
function initData() {
if (isset($this->suppFile)) {
$suppFile = &$this->suppFile;
$this->_data = array(
'title' => $suppFile->getTitle(null), // Localized
'creator' => $suppFile->getCreator(null), // Localized
'subject' => $suppFile->getSubject(null), // Localized
'type' => $suppFile->getType(),
'typeOther' => $suppFile->getTypeOther(null), // Localized
'description' => $suppFile->getDescription(null), // Localized
'publisher' => $suppFile->getPublisher(null), // Localized
'sponsor' => $suppFile->getSponsor(null), // Localized
'dateCreated' => $suppFile->getDateCreated(),
'source' => $suppFile->getSource(null), // Localized
'language' => $suppFile->getLanguage(),
'showReviewers' => $suppFile->getShowReviewers()
);
} else {
$this->_data = array(
'type' => ''
);
}
}
/**
* Assign form data to user-submitted data.
*/
function readInputData() {
$this->readUserVars(
array(
'title',
'creator',
'subject',
'type',
'typeOther',
'description',
'publisher',
'sponsor',
'dateCreated',
'source',
'language',
'showReviewers'
)
);
}
/**
* Save changes to the supplementary file.
* @return int the supplementary file ID
*/
function execute() {
import("file.ArticleFileManager");
$articleFileManager = &new ArticleFileManager($this->articleId);
$suppFileDao = &DAORegistry::getDAO('SuppFileDAO');
$fileName = 'uploadSuppFile';
// edit an existing supp file, otherwise create new supp file entry
if (isset($this->suppFile)) {
$suppFile = &$this->suppFile;
// Remove old file and upload new, if file is selected.
if ($articleFileManager->uploadedFileExists($fileName)) {
$articleFileDao = &DAORegistry::getDAO('ArticleFileDAO');
$suppFileId = $articleFileManager->uploadSuppFile($fileName, $suppFile->getFileId(), true);
$suppFile->setFileId($suppFileId);
}
// Update existing supplementary file
$this->setSuppFileData($suppFile);
$suppFileDao->updateSuppFile($suppFile);
} else {
// Upload file, if file selected.
if ($articleFileManager->uploadedFileExists($fileName)) {
$fileId = $articleFileManager->uploadSuppFile($fileName);
} else {
$fileId = 0;
}
// Insert new supplementary file
$suppFile = &new SuppFile();
$suppFile->setArticleId($this->articleId);
$suppFile->setFileId($fileId);
$this->setSuppFileData($suppFile);
$suppFileDao->insertSuppFile($suppFile);
$this->suppFileId = $suppFile->getSuppFileId();
}
return $this->suppFileId;
}
/**
* Assign form data to a SuppFile.
* @param $suppFile SuppFile
*/
function setSuppFileData(&$suppFile) {
$suppFile->setTitle($this->getData('title'), null); // Null
$suppFile->setCreator($this->getData('creator'), null); // Null
$suppFile->setSubject($this->getData('subject'), null); // Null
$suppFile->setType($this->getData('type'));
$suppFile->setTypeOther($this->getData('typeOther'), null); // Null
$suppFile->setDescription($this->getData('description'), null); // Null
$suppFile->setPublisher($this->getData('publisher'), null); // Null
$suppFile->setSponsor($this->getData('sponsor'), null); // Null
$suppFile->setDateCreated($this->getData('dateCreated') == '' ? Core::getCurrentDate() : $this->getData('dateCreated'));
$suppFile->setSource($this->getData('source'), null); // Null
$suppFile->setLanguage($this->getData('language'));
$suppFile->setShowReviewers($this->getData('showReviewers'));
}
}
?>