You are here

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);
}