first commit
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @file classes/section/Section.php
|
||||
*
|
||||
* Copyright (c) 2014-2023 Simon Fraser University
|
||||
* Copyright (c) 2003-2023 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* @class PKPSection
|
||||
*
|
||||
* @ingroup section
|
||||
*
|
||||
* @see DAO
|
||||
*
|
||||
* @brief Basic class describing a section.
|
||||
*/
|
||||
|
||||
namespace PKP\section;
|
||||
|
||||
use PKP\security\Role;
|
||||
|
||||
class PKPSection extends \PKP\core\DataObject
|
||||
{
|
||||
/**
|
||||
* What user roles are allowed to submit to sections
|
||||
* that have restricted submissions to editors
|
||||
*
|
||||
* @return int[] One or more ROLE_ID_* constants
|
||||
*/
|
||||
public static function getEditorRestrictedRoles(): array
|
||||
{
|
||||
return [
|
||||
Role::ROLE_ID_SITE_ADMIN,
|
||||
Role::ROLE_ID_MANAGER,
|
||||
Role::ROLE_ID_SUB_EDITOR
|
||||
];
|
||||
}
|
||||
|
||||
public function getContextId(): int
|
||||
{
|
||||
return $this->getData('contextId');
|
||||
}
|
||||
|
||||
public function setContextId(int $contextId): void
|
||||
{
|
||||
$this->setData('contextId', $contextId);
|
||||
}
|
||||
|
||||
public function getSequence(): float
|
||||
{
|
||||
return $this->getData('sequence');
|
||||
}
|
||||
|
||||
public function setSequence(float $sequence): void
|
||||
{
|
||||
$this->setData('sequence', $sequence);
|
||||
}
|
||||
|
||||
/* Because title is required, there must be at least one title */
|
||||
public function getLocalizedTitle(): string
|
||||
{
|
||||
return $this->getLocalizedData('title');
|
||||
}
|
||||
|
||||
public function getTitle(?string $locale): string|array|null
|
||||
{
|
||||
return $this->getData('title', $locale);
|
||||
}
|
||||
|
||||
public function setTitle(string|array $title, string $locale = null): void
|
||||
{
|
||||
$this->setData('title', $title, $locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return boolean indicating whether or not submissions are restricted to [sub]Editors.
|
||||
*/
|
||||
public function getEditorRestricted(): bool
|
||||
{
|
||||
return $this->getData('editorRestricted');
|
||||
}
|
||||
|
||||
/**
|
||||
* Set whether or not submissions are restricted to [sub]Editors.
|
||||
*/
|
||||
public function setEditorRestricted(bool $editorRestricted): void
|
||||
{
|
||||
$this->setData('editorRestricted', $editorRestricted);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return boolean indicating if section is not active.
|
||||
*/
|
||||
public function getIsInactive(): bool
|
||||
{
|
||||
return $this->getData('isInactive');
|
||||
}
|
||||
|
||||
/**
|
||||
* Set if section should be inactivated.
|
||||
*/
|
||||
public function setIsInactive(bool $isInactive): void
|
||||
{
|
||||
$this->setData('isInactive', $isInactive);
|
||||
}
|
||||
}
|
||||
|
||||
if (!PKP_STRICT_MODE) {
|
||||
class_alias('\PKP\section\PKPSection', '\PKPSection');
|
||||
}
|
||||
Reference in New Issue
Block a user