function merge_users(GDO_Database $db_from, GDO_Database $db_to, array &$db_offsets, $prefix, $prevar) { $db_offsets['user_name'] = array(); GDO::setCurrentDB($db_from); $users = GDO::table('GWF_User'); if (false === ($result = $users->select('*', '', 'user_id ASC'))) { echo GWF_Error::err('ERR_DATABASE', array(__FILE__, __LINE__)); return false; } GDO::setCurrentDB($db_to); $to_users = GDO::table('GWF_User'); $off = $db_offsets['GWF_User']; while (false !== ($user = $users->fetch($result, GDO::ARRAY_A))) { $oldname = $user['user_name']; $newname = merge_user_name($user['user_name'], $to_users, $prefix, $prevar); $user['user_name'] = $newname; if ($oldname !== $newname) { $db_offsets['user_name'][$oldname] = $newname; } $user['user_id'] += $off; $to_users->insertAssoc($user); GWF_Cronjob::log('Added user ' . $user['user_name'] . ' with id ' . $user['user_id']); } $users->free($result); return true; }