sites = get_sites(); add_filter( 'acui_restricted_fields', array( $this, 'restricted_fields' ), 10, 1 ); add_action( 'acui_documentation_after_plugins_activated', array( $this, 'documentation' ) ); add_action( 'acui_post_import_single_user', array( $this, 'assign' ), 10, 4 ); add_filter( 'acui_email_apply_wildcards', array( $this, 'email_apply_wildcards' ), 10, 2 ); add_action( 'acui_email_wildcards_list_elements', array( $this, 'email_wildcards_list_elements' ) ); } function restricted_fields( $acui_restricted_fields ){ global $wpdb; foreach ( $this->sites as $site ) { $prefix = $wpdb->get_blog_prefix( $site->blog_id ); $acui_restricted_fields[] = $prefix . 'capabilities'; $acui_restricted_fields[] = $prefix . 'user_level'; } return array_merge( $acui_restricted_fields, array( 'blogs' ) ); } function documentation(){ ?> sites as $site ) { $user_blogs_csv[] = $site->blog_id; } } else{ $user_blogs_csv = explode( ',', $row[ $pos ] ); $user_blogs_csv = array_filter( $user_blogs_csv, function( $value ){ return $value !== ''; } ); } foreach ( $user_blogs_csv as $blog_id ) { $blog_id = (int) $blog_id; if ( ! is_super_admin() && ! current_user_can_for_blog( $blog_id, 'promote_users' ) ) continue; switch_to_blog( $blog_id ); foreach( $role as $current_role ){ $this->add_user_to_blog_modified( $blog_id, $user_id, $current_role ); do_action( 'add_user_to_blog', $user_id, $role, $blog_id ); } clean_user_cache( $user_id ); wp_cache_delete( $blog_id . '_user_count', 'blog-details' ); restore_current_blog(); } } function add_user_to_blog_modified( $blog_id, $user_id, $role ) { $user = get_userdata( $user_id ); if ( !get_user_meta( $user_id, 'primary_blog', true ) ) { update_user_meta( $user_id, 'primary_blog', $blog_id ); $site = get_site( $blog_id ); update_user_meta( $user_id, 'source_domain', $site->domain ); } $user->add_role( $role ); } function email_apply_wildcards( $string, $args ){ foreach( $this->sites as $subsite ) { $subsite_id = get_object_vars( $subsite )["blog_id"]; $passwordreseturl_subsite = get_site_url( $subsite_id, 'wp-login.php?action=rp&key=' . $args['key'] . '&login=' . rawurlencode( $args['user_login'] ), 'login' ); $string = str_replace( "**passwordreseturl_" . $subsite_id . "**", $passwordreseturl_subsite, $string ); } return $string; } function email_wildcards_list_elements(){ ?>