103 lines
2.0 KiB
PHP
103 lines
2.0 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @defgroup institution Institution
|
|
* Implements institutions that are used for subscriptions and statistics.
|
|
*/
|
|
|
|
/**
|
|
* @file classes/institution/Institution.php
|
|
*
|
|
* Copyright (c) 2022 Simon Fraser University
|
|
* Copyright (c) 2022 John Willinsky
|
|
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
|
*
|
|
* @class Institution
|
|
*
|
|
* @ingroup institution
|
|
*
|
|
* @see DAO
|
|
*
|
|
* @brief Basic class describing an institution.
|
|
*/
|
|
|
|
namespace PKP\institution;
|
|
|
|
class Institution extends \PKP\core\DataObject
|
|
{
|
|
public const IP_RANGE_RANGE = '-';
|
|
public const IP_RANGE_WILDCARD = '*';
|
|
|
|
/**
|
|
* Get the context ID
|
|
*/
|
|
public function getContextId(): int
|
|
{
|
|
return $this->getData('contextId');
|
|
}
|
|
|
|
/**
|
|
* Set the context ID
|
|
*/
|
|
public function setContextId(int $contextId): void
|
|
{
|
|
$this->setData('contextId', $contextId);
|
|
}
|
|
|
|
/**
|
|
* Get the ROR
|
|
*/
|
|
public function getROR(): ?string
|
|
{
|
|
return $this->getData('ror');
|
|
}
|
|
|
|
/**
|
|
* Set the ROR
|
|
*/
|
|
public function setROR(string $ror): void
|
|
{
|
|
$this->setData('ror', $ror);
|
|
}
|
|
|
|
/**
|
|
* Get the localized name of the institution
|
|
*/
|
|
public function getLocalizedName(string $preferredLocale = null): string
|
|
{
|
|
return $this->getLocalizedData('name', $preferredLocale);
|
|
}
|
|
|
|
/**
|
|
* Get the name of the institution
|
|
*/
|
|
public function getName(string $locale = null): string|array
|
|
{
|
|
return $this->getData('name', $locale);
|
|
}
|
|
|
|
/**
|
|
* Set the name of the institution
|
|
*/
|
|
public function setName(string $name, string $locale = null): void
|
|
{
|
|
$this->setData('name', $name, $locale);
|
|
}
|
|
|
|
/**
|
|
* Get institution ip ranges.
|
|
*/
|
|
public function getIPRanges(): array
|
|
{
|
|
return $this->getData('ipRanges');
|
|
}
|
|
|
|
/**
|
|
* Set institution ip ranges.
|
|
*/
|
|
public function setIPRanges(array $ipRanges): void
|
|
{
|
|
$this->setData('ipRanges', $ipRanges);
|
|
}
|
|
}
|