function cimy_uef_activate_signup($key)
{
    global $wpdb, $current_site, $cimy_uef_domain;
    // seems no more required since WP 3.1
    // 	require_once( ABSPATH . WPINC . '/registration.php');
    $signup = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . $wpdb->prefix . "signups WHERE activation_key = %s", $key));
    if (empty($signup)) {
        return new WP_Error('invalid_key', __('Invalid activation key.', $cimy_uef_domain));
    }
    if ($signup->active) {
        return new WP_Error('already_active', __('The site is already active.', $cimy_uef_domain), $signup);
    }
    $meta = unserialize($signup->meta);
    $user_login = $wpdb->escape($signup->user_login);
    $user_email = $wpdb->escape($signup->user_email);
    if (!empty($meta["cimy_uef_wp_PASSWORD"])) {
        $password = $meta["cimy_uef_wp_PASSWORD"];
    } else {
        $password = wp_generate_password();
    }
    $user_id = username_exists($user_login);
    if (!$user_id) {
        $user_id = wp_create_user($user_login, $password, $user_email);
    } else {
        $user_already_exists = true;
    }
    if (!$user_id) {
        return new WP_Error('create_user', __('Could not create user'), $signup);
    } else {
        cimy_register_user_extra_fields($user_id, $password, $meta);
    }
    if (empty($meta["cimy_uef_wp_PASSWORD"]) && $user_already_exists) {
        update_user_option($user_id, 'default_password_nag', true, true);
    }
    //Set up the Password change nag.
    $now = current_time('mysql', true);
    $wpdb->update($wpdb->prefix . "signups", array('active' => 1, 'activated' => $now), array('activation_key' => $key));
    if (isset($user_already_exists)) {
        return new WP_Error('user_already_exists', __('That username is already activated.', $cimy_uef_domain), $signup);
    }
    $options = cimy_get_options();
    wp_new_user_notification_original($user_id, $password, $options["mail_include_fields"], $meta, $options["welcome_email"]);
    return array('user_id' => $user_id, 'password' => $password, 'meta' => $meta);
}
function cimy_register_user_extra_fields_mu_wrapper($blog_id, $user_id, $password, $signup, $meta)
{
    cimy_register_user_extra_fields($user_id, $password, $meta);
}