function multiple_email_usermerge_merge_accounts in User Merge 7.2
Implements hook_usermerge_merge_accounts() on behalf of multiple_email.
File
- includes/
multiple_email.usermerge.inc, line 93 - Adds support for Multiple E-mail. Supplemental include loaded via usermerge_load_includes().
Code
function multiple_email_usermerge_merge_accounts($user_to_delete, $user_to_keep, $review) {
$emails_to_keep = $review['multiple_email']['multiple_email']['options'];
if ($emails_to_keep == 'merge') {
$query = db_update('multiple_email')
->fields(array(
'uid' => $user_to_keep->uid,
))
->condition('uid', $user_to_delete->uid)
->execute();
// Make sure $user_to_keep's primary email remains primary
// Necessary because support for regular mail property is disabled by this extension
multiple_email_make_primary(multiple_email_find_address($user_to_keep->mail));
}
else {
$emails_to_delete = $emails_to_keep == 'user_to_keep' ? 'user_to_delete' : 'user_to_keep';
$query_delete = db_delete('multiple_email')
->condition('uid', ${$emails_to_delete}->uid)
->execute();
// This fires only if the emails to keep are those of the account to delete
// If not, this would be redundant
if ($emails_to_keep == 'user_to_delete') {
$query_update = db_update('multiple_email')
->fields(array(
'uid' => $user_to_keep->uid,
))
->condition('uid', ${$emails_to_keep}->uid)
->execute();
}
// Make sure $emails_to_keep's primary email remains primary
multiple_email_make_primary(multiple_email_find_address(${$emails_to_keep}->mail));
}
}