function usermerge_merge_accounts in User Merge 7.2
Merges the selected accounts.
Parameters
object $user_to_delete: A fully loaded user object from user_load() that will be merged and blocked or deleted.
object $user_to_keep: A fully loaded user object from user_load() that will be merged and retained.
$form_values: The values from the submitted data-review form.
Return value
boolean TRUE if they are merged, FALSE if the validation failed.
1 call to usermerge_merge_accounts()
- usermerge_merge_form_submit in ./
usermerge.module - Displays the userdata-review form, or merges the selected accounts.
File
- ./
usermerge.module, line 289 - Main file for the User Merge module.
Code
function usermerge_merge_accounts($user_to_delete, $user_to_keep, $form_values) {
if (usermerge_validate_merge($user_to_delete, $user_to_keep)) {
$merged_account = usermerge_invoke_all('usermerge_merge_accounts', $user_to_delete, $user_to_keep, $form_values['review']);
// This allows modules to modify the array without merging values
drupal_alter('usermerge_merge_accounts', $merged_account, $user_to_delete, $user_to_keep);
$merged_account = (object) $merged_account;
// Save $merged_account
$merged_account->pass = $user_to_keep->pass;
$merged_account->status = 1;
// Block or delete old account. Do this before saving the new account in
// case the merged account is using the deleted account's mail or name.
switch ($form_values['usermerge_user_delete_action']) {
case 'block':
user_block_user_action($user_to_delete);
break;
case 'delete':
user_delete($user_to_delete->uid);
break;
}
// Save merged account
user_save($merged_account);
drupal_set_message(t('%user_to_delete was successfully merged into %user_to_keep', array(
'%user_to_delete' => $user_to_delete->name,
'%user_to_keep' => $user_to_keep->name,
)));
return TRUE;
}
else {
return FALSE;
}
}