function profile_usermerge_merge_accounts in User Merge 7.2
Implements hook_usermerge_merge_accounts() on behalf of profile module.
File
- includes/
profile.usermerge.inc, line 20 - Adds support for Profile. Supplemental include loaded via usermerge_load_includes().
Code
function profile_usermerge_merge_accounts($user_to_delete, $user_to_keep, $review) {
// retrieve kept-user's user field values
$result = db_query("SELECT fid FROM {profile_value} WHERE uid = :uid AND VALUE <> ''", array(
':uid' => $user_to_keep->uid,
));
$kept = array();
foreach ($result as $record) {
$kept[] = $record->fid;
}
if (!empty($kept)) {
// Remove profile values for blocked-user that kept-user has.
db_delete('profile_value')
->condition('uid', $user_to_delete->uid)
->condition('fid', $kept, 'IN')
->execute();
}
// Remove empty profile values for kept-user.
db_delete('profile_value')
->condition('uid', $user_to_keep->uid)
->condition('VALUE', '')
->execute();
// Change uid.
db_update('profile_value')
->fields(array(
'uid' => $user_to_keep->uid,
))
->condition('uid', $user_to_delete->uid)
->execute();
}