%PDF-1.7 GIF89;
| Server IP : 104.20.45.2 / Your IP : 172.16.20.3 Web Server : Apache/2.4.25 (Debian) System : Linux f64a392e70de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : application ( 1000) PHP Version : 5.6.40 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /app/plugins/generic/dataverse/classes/form/ |
Upload File : |
<?php
/**
* @file plugins/generic/dataverse/classes/form/DataverseSelectForm.inc.php
*
* Copyright (c) 2013-2019 Simon Fraser University
* Copyright (c) 2003-2019 John Willinsky
* Distributed under the GNU GPL v2. For full terms see the file docs/COPYING.
*
* @class DataverseSelectForm
* @ingroup plugins_generic_dataverse
*
* @brief Plugin settings: select Dataverse to hold studies created from journal submissions
*
*/
import('lib.pkp.classes.form.Form');
class DataverseSelectForm extends Form {
/** @var $_plugin DataversePlugin */
var $_plugin;
/** @var $_journalId int */
var $_journalId;
/**
* Constructor
* @param $plugin DataversePlugin
* @param $journalId int
* @see Form::Form()
*/
function DataverseSelectForm(&$plugin, $journalId) {
$this->_plugin =& $plugin;
$this->_journalId = $journalId;
parent::Form($plugin->getTemplatePath() . 'dataverseSelectForm.tpl');
$this->addCheck(new FormValidator($this, 'dataverse', FORM_VALIDATOR_REQUIRED_VALUE, 'plugins.generic.dataverse.settings.dataverseRequired'));
$this->addCheck(new FormValidatorPost($this));
}
/**
* @see Form::initData()
*/
function initData() {
// Get service document
$sd = $this->_plugin->getServiceDocument($this->_journalId);
$dataverses = array();
if (isset($sd)) {
foreach ($sd->sac_workspaces as $workspace) {
foreach ($workspace->sac_collections as $collection) {
$dataverses["$collection->sac_href"] = "$collection->sac_colltitle";
}
}
}
$this->setData('dataverses', $dataverses);
$dataverseUri = $this->_plugin->getSetting($this->_journalId, 'dvUri');
if (isset($dataverseUri) and array_key_exists($dataverseUri, $dataverses)) {
$this->setData('dataverseUri', $dataverseUri);
}
}
/**
* @see Form::readInputData()
*/
function readInputData() {
$this->readUserVars(array('dataverse'));
}
/**
* @see Form::execute()
*/
function execute() {
$this->_plugin->updateSetting($this->_journalId, 'dvUri', $this->getData('dataverse'), 'string');
}
}