function user_profile_form in Drupal 7
Same name and namespace in other branches
- 6 modules/user/user.pages.inc \user_profile_form()
Form builder; edit a user account or one of their profile categories.
See also
user_cancel_confirm_form_submit()
Related topics
3 string references to 'user_profile_form'
- locale_form_alter in modules/
locale/ locale.module - Implements hook_form_alter().
- profile_form_alter in modules/
profile/ profile.module - Implements hook_form_alter().
- user_menu in modules/
user/ user.module - Implements hook_menu().
File
- modules/
user/ user.pages.inc, line 362 - User page callback file for the user module.
Code
function user_profile_form($form, &$form_state, $account, $category = 'account') {
global $user;
// During initial form build, add the entity to the form state for use during
// form building and processing. During a rebuild, use what is in the form
// state.
if (!isset($form_state['user'])) {
$form_state['user'] = $account;
}
else {
$account = $form_state['user'];
}
// @todo Legacy support. Modules are encouraged to access the entity using
// $form_state. Remove in Drupal 8.
$form['#user'] = $account;
$form['#user_category'] = $category;
if ($category == 'account') {
user_account_form($form, $form_state);
// Attach field widgets.
$langcode = entity_language('user', $account);
field_attach_form('user', $account, $form, $form_state, $langcode);
}
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
);
if ($category == 'account') {
$form['actions']['cancel'] = array(
'#type' => 'submit',
'#value' => t('Cancel account'),
'#submit' => array(
'user_edit_cancel_submit',
),
'#access' => $account->uid > 1 && ($account->uid == $user->uid && user_access('cancel account') || user_access('administer users')),
);
}
$form['#validate'][] = 'user_profile_form_validate';
// Add the final user profile form submit handler.
$form['#submit'][] = 'user_profile_form_submit';
return $form;
}