first commit
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @file classes/security/Role.php
|
||||
*
|
||||
* Copyright (c) 2014-2021 Simon Fraser University
|
||||
* Copyright (c) 2003-2021 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* @class Role
|
||||
*
|
||||
* @ingroup security
|
||||
*
|
||||
* @see RoleDAO
|
||||
*
|
||||
* @brief Describes generic PKP user roles within the system and the associated permissions.
|
||||
*/
|
||||
|
||||
namespace PKP\security;
|
||||
|
||||
class Role extends \PKP\core\DataObject
|
||||
{
|
||||
// ID codes and paths for all default roles
|
||||
public const ROLE_ID_MANAGER = 16;
|
||||
public const ROLE_ID_SITE_ADMIN = 1;
|
||||
public const ROLE_ID_SUB_EDITOR = 17;
|
||||
public const ROLE_ID_AUTHOR = 65536;
|
||||
public const ROLE_ID_REVIEWER = 4096;
|
||||
public const ROLE_ID_ASSISTANT = 4097;
|
||||
public const ROLE_ID_READER = 1048576;
|
||||
public const ROLE_ID_SUBSCRIPTION_MANAGER = 2097152;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param int $roleId for this role. Default to null for backwards
|
||||
* compatibility
|
||||
*/
|
||||
public function __construct($roleId = null)
|
||||
{
|
||||
parent::__construct();
|
||||
$this->setId($roleId);
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Get/set methods
|
||||
//
|
||||
/**
|
||||
* Get role ID of this role.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getRoleId()
|
||||
{
|
||||
return $this->getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set role ID of this role.
|
||||
*
|
||||
* @param int $roleId
|
||||
*/
|
||||
public function setRoleId($roleId)
|
||||
{
|
||||
return $this->setId($roleId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all of the possible roles
|
||||
*/
|
||||
public static function getAllRoles(): array
|
||||
{
|
||||
return [
|
||||
self::ROLE_ID_MANAGER,
|
||||
self::ROLE_ID_SITE_ADMIN,
|
||||
self::ROLE_ID_SUB_EDITOR,
|
||||
self::ROLE_ID_AUTHOR,
|
||||
self::ROLE_ID_REVIEWER,
|
||||
self::ROLE_ID_ASSISTANT,
|
||||
self::ROLE_ID_READER,
|
||||
self::ROLE_ID_SUBSCRIPTION_MANAGER,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
if (!PKP_STRICT_MODE) {
|
||||
class_alias('\PKP\security\Role', '\Role');
|
||||
foreach ([
|
||||
'ROLE_ID_MANAGER',
|
||||
'ROLE_ID_SITE_ADMIN',
|
||||
'ROLE_ID_SUB_EDITOR',
|
||||
'ROLE_ID_AUTHOR',
|
||||
'ROLE_ID_REVIEWER',
|
||||
'ROLE_ID_ASSISTANT',
|
||||
'ROLE_ID_READER',
|
||||
'ROLE_ID_SUBSCRIPTION_MANAGER',
|
||||
] as $constantName) {
|
||||
define($constantName, constant('\Role::' . $constantName));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user