function hook_user_presave

7.x user.api.php hook_user_presave(&$edit, $account, $category)

A user account is about to be created or updated.

This hook is primarily intended for modules that want to store properties in the serialized {users}.data column, which is automatically loaded whenever a user account object is loaded, modules may add to $edit['data'] in order to have their data serialized on save.

Parameters

$edit: The array of form values submitted by the user. Assign values to this array to save changes in the database.

$account: The user object on which the operation is performed. Values assigned in this object will not be saved in the database.

$category: The active category of user information being edited.

See also

hook_user_insert()

hook_user_update()

Related topics

6 functions implement hook_user_presave()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

block_user_presave in drupal/modules/block/block.module
Implements hook_user_presave().
contact_user_presave in drupal/modules/contact/contact.module
Implements hook_user_presave().
entity_crud_hook_test_user_presave in drupal/modules/simpletest/tests/entity_crud_hook_test.module
Implements hook_user_presave().
overlay_user_presave in drupal/modules/overlay/overlay.module
Implements hook_user_presave().
profile_user_presave in drupal/modules/profile/profile.module
Implements hook_user_presave().

... See full list

2 invocations of hook_user_presave()
field_attach_presave in drupal/modules/field/field.attach.inc
Perform necessary operations just before fields data get saved.
user_save in drupal/modules/user/user.module
Save changes to a user account or add a new user.

File

drupal/modules/user/user.api.php, line 228
Hooks provided by the User module.

Code

function hook_user_presave(&$edit, $account, $category) {
  // Make sure that our form value 'mymodule_foo' is stored as
  // 'mymodule_bar' in the 'data' (serialized) column.
  if (isset($edit['mymodule_foo'])) {
    $edit['data']['mymodule_bar'] = $edit['mymodule_foo'];
  }
}