function og_usermerge_merge_users in User Merge 6
Implement hook_usermerge_merge_users() on behalf of og.
File
- ./
usermerge.module, line 211 - Main file for the user merge module, which re-assigns data from an abandoned account to a live one.
Code
function og_usermerge_merge_users($user_to_delete, $user_to_keep) {
// Get groups kept-user is not a member of but blocked-user is.
$result = db_query("SELECT nid FROM {og_uid} WHERE uid = %d AND nid NOT IN (SELECT nid FROM {og_uid} WHERE uid = %d)", $user_to_delete->uid, $user_to_keep->uid);
while ($record = db_fetch_array($result)) {
$groups[] = $record['nid'];
}
if (!empty($groups)) {
// Update old user's groups to kept-user if kept-user is not already a member.
db_query("UPDATE {og_uid} SET uid = %d WHERE uid = %d AND nid IN (%s)", $user_to_keep->uid, $user_to_delete->uid, implode(',', $groups));
}
// Set blocked-user to inactive.
db_query("UPDATE {og_uid} SET is_active = 0 WHERE uid = %d", $user_to_delete->uid);
}