- $blog_id = (int) $blog_id;
- $blog = get_blog_details( $blog_id );
- if ( $blog && isset( $blog->domain ) && ( $all || ( ! $blog->archived && ! $blog->spam && ! $blog->deleted ) ) ) {
- $blogs[ $blog_id ] = (object) array(
- 'userblog_id' => $blog_id,
- 'blogname' => $blog->blogname,
- 'domain' => $blog->domain,
- 'path' => $blog->path,
- 'site_id' => $blog->site_id,
- 'siteurl' => $blog->siteurl,
- 'archived' => $blog->archived,
- 'mature' => $blog->mature,
- 'spam' => $blog->spam,
- 'deleted' => $blog->deleted,
+ $site_ids[] = (int) $site_id;
+ }
+
+ $sites = array();
+
+ if ( ! empty( $site_ids ) ) {
+ $args = array(
+ 'number' => '',
+ 'site__in' => $site_ids,
+ );
+ if ( ! $all ) {
+ $args['archived'] = 0;
+ $args['spam'] = 0;
+ $args['deleted'] = 0;
+ }
+
+ $_sites = get_sites( $args );
+
+ foreach ( $_sites as $site ) {
+ $sites[ $site->id ] = (object) array(
+ 'userblog_id' => $site->id,
+ 'blogname' => $site->blogname,
+ 'domain' => $site->domain,
+ 'path' => $site->path,
+ 'site_id' => $site->network_id,
+ 'siteurl' => $site->siteurl,
+ 'archived' => $site->archived,
+ 'mature' => $site->mature,
+ 'spam' => $site->spam,
+ 'deleted' => $site->deleted,