Open Journal Systems  3.3.0
User.inc.php
1 <?php
21 import('lib.pkp.classes.identity.Identity');
22 
23 class User extends Identity {
25  protected $_roles = array();
26 
27  //
28  // Get/set methods
29  //
30 
35  function getUsername() {
36  return $this->getData('username');
37  }
38 
43  function setUsername($username) {
44  $this->setData('username', $username);
45  }
46 
51  function getAuthStr() {
52  return $this->getData('authStr');
53  }
54 
59  function setAuthStr($authStr) {
60  $this->setData('authStr', $authStr);
61  }
62 
66  function getLocalizedSignature() {
67  return $this->getLocalizedData('signature');
68  }
69 
75  function getSignature($locale) {
76  return $this->getData('signature', $locale);
77  }
78 
84  function setSignature($signature, $locale) {
85  $this->setData('signature', $signature, $locale);
86  }
87 
92  function getPassword() {
93  return $this->getData('password');
94  }
95 
100  function setPassword($password) {
101  $this->setData('password', $password);
102  }
103 
108  function getPhone() {
109  return $this->getData('phone');
110  }
111 
116  function setPhone($phone) {
117  $this->setData('phone', $phone);
118  }
119 
124  function getMailingAddress() {
125  return $this->getData('mailingAddress');
126  }
127 
132  function setMailingAddress($mailingAddress) {
133  $this->setData('mailingAddress', $mailingAddress);
134  }
135 
140  function getBillingAddress() {
141  return $this->getData('billingAddress');
142  }
143 
148  function setBillingAddress($billingAddress) {
149  $this->setData('billingAddress', $billingAddress);
150  }
151 
156  function getInterestString() {
157  import('lib.pkp.classes.user.InterestManager');
158  $interestManager = new InterestManager();
159  return $interestManager->getInterestsString($this);
160  }
161 
166  function getGossip() {
167  return $this->getData('gossip');
168  }
169 
174  function setGossip($gossip) {
175  $this->setData('gossip', $gossip);
176  }
177 
182  function getLocales() {
183  $locales = $this->getData('locales');
184  return isset($locales) ? $locales : array();
185  }
186 
191  function setLocales($locales) {
192  $this->setData('locales', $locales);
193  }
194 
199  function getDateLastEmail() {
200  return $this->getData('dateLastEmail');
201  }
202 
207  function setDateLastEmail($dateLastEmail) {
208  $this->setData('dateLastEmail', $dateLastEmail);
209  }
210 
215  function getDateRegistered() {
216  return $this->getData('dateRegistered');
217  }
218 
223  function setDateRegistered($dateRegistered) {
224  $this->setData('dateRegistered', $dateRegistered);
225  }
226 
231  function getDateValidated() {
232  return $this->getData('dateValidated');
233  }
234 
239  function setDateValidated($dateValidated) {
240  $this->setData('dateValidated', $dateValidated);
241  }
242 
247  function getDateLastLogin() {
248  return $this->getData('dateLastLogin');
249  }
250 
255  function setDateLastLogin($dateLastLogin) {
256  $this->setData('dateLastLogin', $dateLastLogin);
257  }
258 
263  function getMustChangePassword() {
264  return $this->getData('mustChangePassword');
265  }
266 
271  function setMustChangePassword($mustChangePassword) {
272  $this->setData('mustChangePassword', $mustChangePassword);
273  }
274 
279  function getDisabled() {
280  return $this->getData('disabled');
281  }
282 
287  function setDisabled($disabled) {
288  $this->setData('disabled', $disabled);
289  }
290 
295  function getDisabledReason() {
296  return $this->getData('disabled_reason');
297  }
298 
303  function setDisabledReason($reasonDisabled) {
304  $this->setData('disabled_reason', $reasonDisabled);
305  }
306 
311  function getAuthId() {
312  return $this->getData('authId');
313  }
314 
319  function setAuthId($authId) {
320  $this->setData('authId', $authId);
321  }
322 
327  function getInlineHelp() {
328  return $this->getData('inlineHelp');
329  }
330 
335  function setInlineHelp($inlineHelp) {
336  $this->setData('inlineHelp', $inlineHelp);
337  }
338 
339  function getContactSignature() {
340  $signature = htmlspecialchars($this->getFullName());
341  AppLocale::requireComponents(LOCALE_COMPONENT_PKP_USER);
342  if ($a = $this->getLocalizedAffiliation()) $signature .= '<br/>' . htmlspecialchars($a);
343  if ($p = $this->getPhone()) $signature .= '<br/>' . __('user.phone') . ' ' . htmlspecialchars($p);
344  $signature .= '<br/>' . htmlspecialchars($this->getEmail());
345  return $signature;
346  }
347 
355  public function hasRole($roles, $contextId) {
356 
357  $contextRoles = $this->getRoles($contextId);
358 
359  if (empty($contextRoles)) {
360  return false;
361  }
362 
363  if (!is_array($roles)) {
364  $roles = array($roles);
365  }
366 
367  foreach($contextRoles as $contextRole) {
368  if (in_array((int) $contextRole->getId(), $roles)) {
369  return true;
370  }
371  }
372 
373  return false;
374  }
375 
383  public function getRoles($contextId, $noCache = false) {
384 
385  if ($noCache || empty($this->_roles[$contextId])) {
386  import('lib.pkp.classes.security.RoleDAO');
387  $userRolesDao = DAORegistry::getDAO('RoleDAO'); /* @var $userRolesDao RoleDAO */
388  $this->setRoles($userRolesDao->getByUserId($this->getId(), $contextId), $contextId);
389  }
390 
391  return isset($this->_roles[$contextId]) ? $this->_roles[$contextId] : array();
392  }
393 
400  public function setRoles($roles, $contextId) {
401  $this->_roles[$contextId] = $roles;
402  }
403 
409  function getSettings($contextId = null) {
410  $userSettingsDao = DAORegistry::getDAO('UserSettingsDAO'); /* @var $userSettingsDao UserSettingsDAO */
411  return $userSettingsDao->getSettingsByContextId($this->getId(), $contextId);
412  }
413 
420  function getSetting($name, $contextId = null) {
421  $userSettingsDao = DAORegistry::getDAO('UserSettingsDAO'); /* @var $userSettingsDao UserSettingsDAO */
422  return $userSettingsDao->getSetting($this->getId(), $name, $contextId);
423  }
424 
432  function updateSetting($name, $value, $type = null, $contextId = null) {
433  $userSettingsDao = DAORegistry::getDAO('UserSettingsDAO'); /* @var $userSettingsDao UserSettingsDAO */
434  return $userSettingsDao->updateSetting($this->getId(), $name, $value, $type, $contextId);
435  }
436 }
437 
User\getInlineHelp
getInlineHelp()
Definition: User.inc.php:330
User\setAuthStr
setAuthStr($authStr)
Definition: User.inc.php:62
User\setSignature
setSignature($signature, $locale)
Definition: User.inc.php:87
User\setPhone
setPhone($phone)
Definition: User.inc.php:119
DataObject\getData
& getData($key, $locale=null)
Definition: DataObject.inc.php:100
User\getGossip
getGossip()
Definition: User.inc.php:169
AppLocale\requireComponents
static requireComponents()
Definition: env1/MockAppLocale.inc.php:56
User\getPassword
getPassword()
Definition: User.inc.php:95
Identity\getEmail
getEmail()
Definition: Identity.inc.php:215
User\getUsername
getUsername()
Definition: User.inc.php:38
User\setPassword
setPassword($password)
Definition: User.inc.php:103
User\setDateRegistered
setDateRegistered($dateRegistered)
Definition: User.inc.php:226
User\getDateValidated
getDateValidated()
Definition: User.inc.php:234
User\$_roles
$_roles
Definition: User.inc.php:28
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
User\setDisabled
setDisabled($disabled)
Definition: User.inc.php:290
User\getDisabled
getDisabled()
Definition: User.inc.php:282
User\setMailingAddress
setMailingAddress($mailingAddress)
Definition: User.inc.php:135
User\getMustChangePassword
getMustChangePassword()
Definition: User.inc.php:266
User\setDateLastLogin
setDateLastLogin($dateLastLogin)
Definition: User.inc.php:258
User\getLocalizedSignature
getLocalizedSignature()
Definition: User.inc.php:69
User\getRoles
getRoles($contextId, $noCache=false)
Definition: User.inc.php:386
User\setUsername
setUsername($username)
Definition: User.inc.php:46
User\setDateValidated
setDateValidated($dateValidated)
Definition: User.inc.php:242
User\updateSetting
updateSetting($name, $value, $type=null, $contextId=null)
Definition: User.inc.php:435
User\setInlineHelp
setInlineHelp($inlineHelp)
Definition: User.inc.php:338
User\getDateLastEmail
getDateLastEmail()
Definition: User.inc.php:202
Identity\getLocalizedAffiliation
getLocalizedAffiliation()
Definition: Identity.inc.php:207
User\hasRole
hasRole($roles, $contextId)
Definition: User.inc.php:358
User\getAuthId
getAuthId()
Definition: User.inc.php:314
User\setGossip
setGossip($gossip)
Definition: User.inc.php:177
User\getAuthStr
getAuthStr()
Definition: User.inc.php:54
User\setAuthId
setAuthId($authId)
Definition: User.inc.php:322
User\getDisabledReason
getDisabledReason()
Definition: User.inc.php:298
User\getInterestString
getInterestString()
Definition: User.inc.php:159
User\getDateRegistered
getDateRegistered()
Definition: User.inc.php:218
User\getSetting
getSetting($name, $contextId=null)
Definition: User.inc.php:423
User\setLocales
setLocales($locales)
Definition: User.inc.php:194
InterestManager
Handle user interest functions.
Definition: InterestManager.inc.php:16
User\getSignature
getSignature($locale)
Definition: User.inc.php:78
User\getContactSignature
getContactSignature()
Definition: User.inc.php:342
User\getSettings
getSettings($contextId=null)
Definition: User.inc.php:412
User\setDateLastEmail
setDateLastEmail($dateLastEmail)
Definition: User.inc.php:210
DataObject\getId
getId()
Definition: DataObject.inc.php:206
User\setRoles
setRoles($roles, $contextId)
Definition: User.inc.php:403
User\setBillingAddress
setBillingAddress($billingAddress)
Definition: User.inc.php:151
Identity
Basic class providing common functionality for users and authors in the system.
Definition: Identity.inc.php:25
User\getPhone
getPhone()
Definition: User.inc.php:111
User\getDateLastLogin
getDateLastLogin()
Definition: User.inc.php:250
User\setDisabledReason
setDisabledReason($reasonDisabled)
Definition: User.inc.php:306
User\getLocales
getLocales()
Definition: User.inc.php:185
User\getBillingAddress
getBillingAddress()
Definition: User.inc.php:143
Identity\getFullName
getFullName($preferred=true, $familyFirst=false, $defaultLocale=null)
Definition: Identity.inc.php:72
User
Basic class describing users existing in the system.
Definition: User.inc.php:23
User\getMailingAddress
getMailingAddress()
Definition: User.inc.php:127
DataObject\setData
setData($key, $value, $locale=null)
Definition: DataObject.inc.php:132
User\setMustChangePassword
setMustChangePassword($mustChangePassword)
Definition: User.inc.php:274
Identity\getLocalizedData
& getLocalizedData($key, $preferredLocale=null)
Definition: Identity.inc.php:34