One Hat Cyber Team
Your IP :
216.73.216.182
Server IP :
203.175.9.166
Server :
Linux tanggamus.iixcp.rumahweb.net 5.14.0-427.28.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Aug 2 03:44:10 EDT 2024 x86_64
Server Software :
LiteSpeed
PHP Version :
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
cite5577
/
www
/
lib
/
pkp
/
classes
/
user
/
View File Name :
User.inc.php
<?php /** * @defgroup user User * Implements data objects and DAOs concerned with managing user accounts. */ /** * @file classes/user/User.inc.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 User * @ingroup user * @see UserDAO * * @brief Basic class describing users existing in the system. */ import('lib.pkp.classes.identity.Identity'); class User extends Identity { /** @var array Roles assigned to this user grouped by context */ protected $_roles = array(); // // Get/set methods // /** * Get username. * @return string */ function getUsername() { return $this->getData('username'); } /** * Set username. * @param $username string */ function setUsername($username) { $this->setData('username', $username); } /** * Get implicit auth ID string. * @return String */ function getAuthStr() { return $this->getData('authStr'); } /** * Set Shib ID string for this user. * @param $authStr string */ function setAuthStr($authStr) { $this->setData('authStr', $authStr); } /** * Get localized user signature. */ function getLocalizedSignature() { return $this->getLocalizedData('signature'); } /** * Get email signature. * @param $locale string * @return string */ function getSignature($locale) { return $this->getData('signature', $locale); } /** * Set signature. * @param $signature string * @param $locale string */ function setSignature($signature, $locale) { $this->setData('signature', $signature, $locale); } /** * Get password (encrypted). * @return string */ function getPassword() { return $this->getData('password'); } /** * Set password (assumed to be already encrypted). * @param $password string */ function setPassword($password) { $this->setData('password', $password); } /** * Get phone number. * @return string */ function getPhone() { return $this->getData('phone'); } /** * Set phone number. * @param $phone string */ function setPhone($phone) { $this->setData('phone', $phone); } /** * Get mailing address. * @return string */ function getMailingAddress() { return $this->getData('mailingAddress'); } /** * Set mailing address. * @param $mailingAddress string */ function setMailingAddress($mailingAddress) { $this->setData('mailingAddress', $mailingAddress); } /** * Get billing address. * @return string */ function getBillingAddress() { return $this->getData('billingAddress'); } /** * Set billing address. * @param $billingAddress string */ function setBillingAddress($billingAddress) { $this->setData('billingAddress', $billingAddress); } /** * Get the user's interests displayed as a comma-separated string * @return string */ function getInterestString() { import('lib.pkp.classes.user.InterestManager'); $interestManager = new InterestManager(); return $interestManager->getInterestsString($this); } /** * Get user gossip. * @return string */ function getGossip() { return $this->getData('gossip'); } /** * Set user gossip. * @param $gossip string */ function setGossip($gossip) { $this->setData('gossip', $gossip); } /** * Get user's working languages. * @return array */ function getLocales() { $locales = $this->getData('locales'); return isset($locales) ? $locales : array(); } /** * Set user's working languages. * @param $locales array */ function setLocales($locales) { $this->setData('locales', $locales); } /** * Get date user last sent an email. * @return datestamp (YYYY-MM-DD HH:MM:SS) */ function getDateLastEmail() { return $this->getData('dateLastEmail'); } /** * Set date user last sent an email. * @param $dateLastEmail datestamp (YYYY-MM-DD HH:MM:SS) */ function setDateLastEmail($dateLastEmail) { $this->setData('dateLastEmail', $dateLastEmail); } /** * Get date user registered with the site. * @return datestamp (YYYY-MM-DD HH:MM:SS) */ function getDateRegistered() { return $this->getData('dateRegistered'); } /** * Set date user registered with the site. * @param $dateRegistered datestamp (YYYY-MM-DD HH:MM:SS) */ function setDateRegistered($dateRegistered) { $this->setData('dateRegistered', $dateRegistered); } /** * Get date user email was validated with the site. * @return datestamp (YYYY-MM-DD HH:MM:SS) */ function getDateValidated() { return $this->getData('dateValidated'); } /** * Set date user email was validated with the site. * @param $dateValidated datestamp (YYYY-MM-DD HH:MM:SS) */ function setDateValidated($dateValidated) { $this->setData('dateValidated', $dateValidated); } /** * Get date user last logged in to the site. * @return datestamp */ function getDateLastLogin() { return $this->getData('dateLastLogin'); } /** * Set date user last logged in to the site. * @param $dateLastLogin datestamp */ function setDateLastLogin($dateLastLogin) { $this->setData('dateLastLogin', $dateLastLogin); } /** * Check if user must change their password on their next login. * @return boolean */ function getMustChangePassword() { return $this->getData('mustChangePassword'); } /** * Set whether or not user must change their password on their next login. * @param $mustChangePassword boolean */ function setMustChangePassword($mustChangePassword) { $this->setData('mustChangePassword', $mustChangePassword); } /** * Check if user is disabled. * @return boolean */ function getDisabled() { return $this->getData('disabled'); } /** * Set whether or not user is disabled. * @param $disabled boolean */ function setDisabled($disabled) { $this->setData('disabled', $disabled); } /** * Get the reason the user was disabled. * @return string */ function getDisabledReason() { return $this->getData('disabled_reason'); } /** * Set the reason the user is disabled. * @param $reasonDisabled string */ function setDisabledReason($reasonDisabled) { $this->setData('disabled_reason', $reasonDisabled); } /** * Get ID of authentication source for this user. * @return int */ function getAuthId() { return $this->getData('authId'); } /** * Set ID of authentication source for this user. * @param $authId int */ function setAuthId($authId) { $this->setData('authId', $authId); } /** * Get the inline help display status for this user. * @return int */ function getInlineHelp() { return $this->getData('inlineHelp'); } /** * Set the inline help display status for this user. * @param $inlineHelp int */ function setInlineHelp($inlineHelp) { $this->setData('inlineHelp', $inlineHelp); } function getContactSignature() { $signature = htmlspecialchars($this->getFullName()); AppLocale::requireComponents(LOCALE_COMPONENT_PKP_USER); if ($a = $this->getLocalizedAffiliation()) $signature .= '<br/>' . htmlspecialchars($a); if ($p = $this->getPhone()) $signature .= '<br/>' . __('user.phone') . ' ' . htmlspecialchars($p); $signature .= '<br/>' . htmlspecialchars($this->getEmail()); return $signature; } /** * Check if this user has a role in a context * * @param int|array $roles Role(s) to check for * @param int $contextId The context to check for roles in. * @return bool */ public function hasRole($roles, $contextId) { $contextRoles = $this->getRoles($contextId); if (empty($contextRoles)) { return false; } if (!is_array($roles)) { $roles = array($roles); } foreach($contextRoles as $contextRole) { if (in_array((int) $contextRole->getId(), $roles)) { return true; } } return false; } /** * Get this user's roles in a context * * @param int $contextId The context to retrieve roles in. * @param bool $noCache Force the roles to be retrieved from the database * @return array */ public function getRoles($contextId, $noCache = false) { if ($noCache || empty($this->_roles[$contextId])) { import('lib.pkp.classes.security.RoleDAO'); $userRolesDao = DAORegistry::getDAO('RoleDAO'); /* @var $userRolesDao RoleDAO */ $this->setRoles($userRolesDao->getByUserId($this->getId(), $contextId), $contextId); } return isset($this->_roles[$contextId]) ? $this->_roles[$contextId] : array(); } /** * Set this user's roles in a context * * @param array $roles The roles to assign this user * @param int $contextId The context to assign these roles */ public function setRoles($roles, $contextId) { $this->_roles[$contextId] = $roles; } /** * Retrieve array of user settings. * @param contextId int * @return array */ function getSettings($contextId = null) { $userSettingsDao = DAORegistry::getDAO('UserSettingsDAO'); /* @var $userSettingsDao UserSettingsDAO */ return $userSettingsDao->getSettingsByContextId($this->getId(), $contextId); } /** * Retrieve a user setting value. * @param $name * @param $contextId int * @return mixed */ function getSetting($name, $contextId = null) { $userSettingsDao = DAORegistry::getDAO('UserSettingsDAO'); /* @var $userSettingsDao UserSettingsDAO */ return $userSettingsDao->getSetting($this->getId(), $name, $contextId); } /** * Set a user setting value. * @param $name string * @param $value mixed * @param $type string optional * @param $contextId int optional */ function updateSetting($name, $value, $type = null, $contextId = null) { $userSettingsDao = DAORegistry::getDAO('UserSettingsDAO'); /* @var $userSettingsDao UserSettingsDAO */ return $userSettingsDao->updateSetting($this->getId(), $name, $value, $type, $contextId); } }