113 lines
3.5 KiB
PHP
113 lines
3.5 KiB
PHP
<?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;
|
|
}
|
|
}
|