Open Journal Systems  3.3.0
IdentityForm.inc.php
1 <?php
2 
16 import('lib.pkp.classes.user.form.BaseProfileForm');
17 
19 
25  function __construct($user) {
26  parent::__construct('user/identityForm.tpl', $user);
27 
28  // the users register for the site, thus
29  // the site primary locale is the required default locale
30  $site = Application::get()->getRequest()->getSite();
31  $this->addSupportedFormLocale($site->getPrimaryLocale());
32 
33  // Validation checks for this form
34  $form = $this;
35  $this->addCheck(new FormValidatorLocale($this, 'givenName', 'required', 'user.profile.form.givenNameRequired', $site->getPrimaryLocale()));
36  $this->addCheck(new FormValidatorCustom($this, 'familyName', 'optional', 'user.profile.form.givenNameRequired.locale', function($familyName) use ($form) {
37  $givenNames = $form->getData('givenName');
38  foreach ($familyName as $locale => $value) {
39  if (!empty($value) && empty($givenNames[$locale])) {
40  return false;
41  }
42  }
43  return true;
44  }));
45  }
46 
50  function fetch($request, $template = null, $display = false) {
51  $templateMgr = TemplateManager::getManager($request);
52 
53  $user = $this->getUser();
54  $userDao = DAORegistry::getDAO('UserDAO'); /* @var $userDao UserDAO */
55  $templateMgr->assign(array(
56  'username' => $user->getUsername(),
57  ));
58 
59  return parent::fetch($request, $template, $display);
60  }
61 
65  function initData() {
66  $user = $this->getUser();
67 
68  $this->_data = array(
69  'givenName' => $user->getGivenName(null),
70  'familyName' => $user->getFamilyName(null),
71  'preferredPublicName' => $user->getPreferredPublicName(null),
72  );
73  }
74 
78  function readInputData() {
79  parent::readInputData();
80 
81  $this->readUserVars(array(
82  'givenName', 'familyName', 'preferredPublicName',
83  ));
84  }
85 
89  function execute(...$functionArgs) {
90  $request = Application::get()->getRequest();
91  $user = $request->getUser();
92 
93  $user->setGivenName($this->getData('givenName'), null);
94  $user->setFamilyName($this->getData('familyName'), null);
95  $user->setPreferredPublicName($this->getData('preferredPublicName'), null);
96 
97  parent::execute(...$functionArgs);
98  }
99 }
100 
101 
IdentityForm\__construct
__construct($user)
Definition: IdentityForm.inc.php:25
IdentityForm\readInputData
readInputData()
Definition: IdentityForm.inc.php:78
IdentityForm
Definition: IdentityForm.inc.php:18
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
IdentityForm\execute
execute(... $functionArgs)
Definition: IdentityForm.inc.php:89
FormValidatorLocale
Class to represent a form validation check for localized fields.
Definition: FormValidatorLocale.inc.php:16
IdentityForm\fetch
fetch($request, $template=null, $display=false)
Definition: IdentityForm.inc.php:50
Form\readUserVars
readUserVars($vars)
Definition: Form.inc.php:378
Form\getData
getData($key)
Definition: Form.inc.php:220
IdentityForm\initData
initData()
Definition: IdentityForm.inc.php:65
Form\addSupportedFormLocale
addSupportedFormLocale($supportedLocale)
Definition: Form.inc.php:364
PKPTemplateManager\getManager
static & getManager($request=null)
Definition: PKPTemplateManager.inc.php:1239
BaseProfileForm
Base form to edit an aspect of user profile.
Definition: BaseProfileForm.inc.php:18
Form\addCheck
addCheck($formValidator)
Definition: Form.inc.php:395
BaseProfileForm\getUser
getUser()
Definition: BaseProfileForm.inc.php:44
PKPApplication\get
static get()
Definition: PKPApplication.inc.php:235
FormValidatorCustom
Form validation check with a custom user function performing the validation check.
Definition: FormValidatorCustom.inc.php:18