110 lines
2.5 KiB
PHP
110 lines
2.5 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @defgroup journal Journal
|
|
* Extensions to the pkp-lib "context" concept to specialize it for use in OJS
|
|
* in representing Journal objects and journal-specific concerns.
|
|
*/
|
|
|
|
/**
|
|
* @file classes/journal/Journal.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 Journal
|
|
*
|
|
* @ingroup journal
|
|
*
|
|
* @see JournalDAO
|
|
*
|
|
* @brief Describes basic journal properties.
|
|
*/
|
|
|
|
namespace APP\journal;
|
|
|
|
use APP\core\Application;
|
|
use PKP\context\Context;
|
|
use PKP\db\DAORegistry;
|
|
use PKP\facades\Locale;
|
|
|
|
class Journal extends Context
|
|
{
|
|
public const PUBLISHING_MODE_OPEN = 0;
|
|
public const PUBLISHING_MODE_SUBSCRIPTION = 1;
|
|
public const PUBLISHING_MODE_NONE = 2;
|
|
|
|
/**
|
|
* Get "localized" journal page title (if applicable).
|
|
*
|
|
* @return string|null
|
|
*
|
|
* @deprecated 3.3.0, use getLocalizedData() instead
|
|
*/
|
|
public function getLocalizedPageHeaderTitle()
|
|
{
|
|
$titleArray = $this->getData('name');
|
|
|
|
foreach ([Locale::getLocale(), Locale::getPrimaryLocale()] as $locale) {
|
|
if (isset($titleArray[$locale])) {
|
|
return $titleArray[$locale];
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/**
|
|
* Get "localized" journal page logo (if applicable).
|
|
*
|
|
* @return array|null
|
|
*
|
|
* @deprecated 3.3.0, use getLocalizedData() instead
|
|
*/
|
|
public function getLocalizedPageHeaderLogo()
|
|
{
|
|
$logoArray = $this->getData('pageHeaderLogoImage');
|
|
foreach ([Locale::getLocale(), Locale::getPrimaryLocale()] as $locale) {
|
|
if (isset($logoArray[$locale])) {
|
|
return $logoArray[$locale];
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
//
|
|
// Get/set methods
|
|
//
|
|
|
|
/**
|
|
* Get the association type for this context.
|
|
*
|
|
* @return int
|
|
*/
|
|
public function getAssocType()
|
|
{
|
|
return Application::ASSOC_TYPE_JOURNAL;
|
|
}
|
|
|
|
/**
|
|
* @copydoc \PKP\core\DataObject::getDAO()
|
|
*
|
|
* @return JournalDAO
|
|
*/
|
|
public function getDAO()
|
|
{
|
|
return DAORegistry::getDAO('JournalDAO');
|
|
}
|
|
}
|
|
|
|
if (!PKP_STRICT_MODE) {
|
|
class_alias('\APP\journal\Journal', '\Journal');
|
|
foreach ([
|
|
'PUBLISHING_MODE_OPEN',
|
|
'PUBLISHING_MODE_SUBSCRIPTION',
|
|
'PUBLISHING_MODE_NONE',
|
|
] as $constantName) {
|
|
define($constantName, constant('\Journal::' . $constantName));
|
|
}
|
|
}
|