<?php
/**
* @file classes/components/form/FieldPubId.php
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2000-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @class FieldPubId
*
* @ingroup classes_controllers_form
*
* @brief A field for generating a pub id, like a DOI.
*/
namespace PKP\components\forms;
class FieldPubId extends Field
{
/** @copydoc Field::$component */
public $component = 'field-pub-id';
/** @var string A localized label for the button to assign the pubid */
public $assignIdLabel;
/** @var string A localized label for the button to clear the pubid */
public $clearIdLabel;
/** @var string The journal/press initials to use when generating a pub id */
public $contextInitials;
/** @var bool If a %p in the pattern should stand for press (OMP). Otherwise it means pages (OJS). */
public $isPForPress = false;
/** @var string The issue number to use when generating a pub id */
public $issueNumber;
/** @var string The issue volume to use when generating a pub id */
public $issueVolume;
/** @var string A localized message when the pub id can not be generated due to missing information */
public $missingPartsLabel;
/** @var string The page numbers use when generating a pub id */
public $pages;
/** @var string The pattern to use when generating a pub id */
public $pattern;
/** @var string The pub id prefix for this context */
public $prefix;
/** @var string The publisher id to use when generating a pub id */
public $publisherId;
/** @var string Optional separator to add between prefix and suffix when generating pub id */
public $separator = '';
/** @var string The submission ID to use when generating a pub id */
public $submissionId;
/** @var string The publication ID to use when generating a pub id */
public $publicationId;
/** @var string The year of publication to use when generating a pub id */
public $year;
/**
* @copydoc Field::getConfig()
*/
public function getConfig()
{
$config = parent::getConfig();
$config['assignIdLabel'] = $this->assignIdLabel;
$config['clearIdLabel'] = $this->clearIdLabel;
$config['missingPartsLabel'] = $this->missingPartsLabel;
if (isset($this->contextInitials)) {
$config['contextInitials'] = $this->contextInitials;
}
if (isset($this->issueNumber)) {
$config['issueNumber'] = $this->issueNumber;
}
if (isset($this->issueVolume)) {
$config['issueVolume'] = $this->issueVolume;
}
if (isset($this->pages)) {
$config['pages'] = $this->pages;
}
if (isset($this->pattern)) {
$config['pattern'] = $this->pattern;
}
if (isset($this->prefix)) {
$config['prefix'] = $this->prefix;
}
if (isset($this->publisherId)) {
$config['publisherId'] = $this->publisherId;
}
if (isset($this->submissionId)) {
$config['submissionId'] = $this->submissionId;
}
if (isset($this->publicationId)) {
$config['publicationId'] = $this->publicationId;
}
if (isset($this->year)) {
$config['year'] = $this->year;
}
$config['isPForPress'] = $this->isPForPress;
$config['separator'] = $this->separator;
return $config;
}
}
|