[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
Backup
/
05122024
/
htdocs
/
jurnal-kesmas
/
v1
/
lib
/
pkp
/
classes
/
author
/
[
Home
]
File: Author.php
<?php /** * @file classes/author/Author.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 \PKP\author\Author * * @ingroup author * * @see DAO * * @brief Author metadata class. */ namespace PKP\author; use APP\facades\Repo; use PKP\facades\Locale; use PKP\identity\Identity; class Author extends Identity { /** * Get the default/fall back locale the values should exist for */ public function getDefaultLocale(): ?string { return $this->getSubmissionLocale(); } /** * @copydoc Identity::getLocalizedGivenName() */ public function getLocalizedGivenName() { return $this->getLocalizedData(self::IDENTITY_SETTING_GIVENNAME); } /** * @copydoc Identity::getLocalizedFamilyName() */ public function getLocalizedFamilyName() { // Prioritize the current locale, then the default locale. $locale = Locale::getLocale(); $givenName = $this->getGivenName($locale); // Only use the family name if a given name exists (to avoid mixing locale data) if (!empty($givenName)) { return $this->getFamilyName($locale); } // Fall back on the submission locale. return $this->getFamilyName($this->getSubmissionLocale()); } // // Get/set methods // /** * Get ID of submission. * * @return int */ public function getSubmissionId() { return $this->getData('submissionId'); } /** * Set ID of submission. * * @param int $submissionId */ public function setSubmissionId($submissionId) { $this->setData('submissionId', $submissionId); } /** * Get submission locale. * * @return string */ public function getSubmissionLocale() { return $this->getData('locale'); } /** * Set submission locale. * * @param string $locale */ public function setSubmissionLocale($locale) { return $this->setData('locale', $locale); } /** * Set the user group id * * @param int $userGroupId */ public function setUserGroupId($userGroupId) { $this->setData('userGroupId', $userGroupId); } /** * Get the user group id * * @return int */ public function getUserGroupId() { return $this->getData('userGroupId'); } /** * Set whether or not to include in browse lists. * * @param bool $include */ public function setIncludeInBrowse($include) { $this->setData('includeInBrowse', $include); } /** * Get whether or not to include in browse lists. * * @return bool */ public function getIncludeInBrowse() { return $this->getData('includeInBrowse'); } /** * Get the "show title" flag (whether or not the title of the role * should be included in the list of submission contributor names). * This is fetched from the user group for performance reasons. * * @return bool */ public function getShowTitle() { return $this->getData('showTitle'); } /** * Set the "show title" flag. This attribute belongs to the user group, * NOT the author; fetched for performance reasons only. * * @param bool $showTitle */ public function _setShowTitle($showTitle) { $this->setData('showTitle', $showTitle); } /** * Get primary contact. * * @return bool */ public function getPrimaryContact() { return $this->getData('primaryContact'); } /** * Set primary contact. * * @param bool $primaryContact */ public function setPrimaryContact($primaryContact) { $this->setData('primaryContact', $primaryContact); } /** * Get sequence of author in submissions' author list. * * @return float */ public function getSequence() { return $this->getData('seq'); } /** * Set sequence of author in submissions' author list. * * @param float $sequence */ public function setSequence($sequence) { $this->setData('seq', $sequence); } /** * Get the user group for this contributor. * * @return \PKP\userGroup\UserGroup */ public function getUserGroup() { //FIXME: should this be queried when fetching Author from DB? - see #5231. static $userGroup; // Frequently we'll fetch the same one repeatedly if (!$userGroup || $this->getUserGroupId() != $userGroup->getId()) { $userGroup = Repo::userGroup()->get($this->getUserGroupId()); } return $userGroup; } /** * Get a localized version of the User Group * * @return string */ public function getLocalizedUserGroupName() { $userGroup = $this->getUserGroup(); return $userGroup->getLocalizedName(); } /** * Get competing interests. * @return string|array|null */ function getCompetingInterests(?string $locale) { return $this->getData('competingInterests', $locale); } /** * Set competing interests. * @param $competingInterests string|array|null */ function setCompetingInterests($competingInterests, ?string $locale) { $this->setData('competingInterests', $competingInterests, $locale); } /** * Get a localized version competing interest statement */ function getLocalizedCompetingInterests(): ?string { return $this->getLocalizedData('competingInterests'); } }