From 8cbd79e3dcc6ea5eeca7c07426e8419574259b15 Mon Sep 17 00:00:00 2001 From: John Blackbourn Date: Fri, 30 Oct 2015 02:02:24 +0000 Subject: [PATCH] Ensure that the scheme used in the URL returned by `get_blogaddress_by_id()` always reflects the blog's URL, instead of using `http`. Props thomaswm Fixes #14867 Built from https://develop.svn.wordpress.org/trunk@35446 git-svn-id: http://core.svn.wordpress.org/trunk@35410 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/ms-blogs.php | 19 ++++++++++++++----- wp-includes/version.php | 2 +- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/wp-includes/ms-blogs.php b/wp-includes/ms-blogs.php index 5418ce0be0..84f63ed71d 100644 --- a/wp-includes/ms-blogs.php +++ b/wp-includes/ms-blogs.php @@ -38,8 +38,16 @@ function wpmu_update_blogs_date() { * @return string Full URL of the blog if found. Empty string if not. */ function get_blogaddress_by_id( $blog_id ) { - $bloginfo = get_blog_details( (int) $blog_id, false ); // only get bare details! - return ( $bloginfo ) ? esc_url( 'http://' . $bloginfo->domain . $bloginfo->path ) : ''; + $bloginfo = get_blog_details( (int) $blog_id ); + + if ( empty( $bloginfo ) ) { + return ''; + } + + $scheme = parse_url( $bloginfo->home, PHP_URL_SCHEME ); + $scheme = empty( $scheme ) ? 'http' : $scheme; + + return esc_url( $scheme . '://' . $bloginfo->domain . $bloginfo->path ); } /** @@ -216,9 +224,10 @@ function get_blog_details( $fields = null, $get_all = true ) { } switch_to_blog( $blog_id ); - $details->blogname = get_option( 'blogname' ); - $details->siteurl = get_option( 'siteurl' ); - $details->post_count = get_option( 'post_count' ); + $details->blogname = get_option( 'blogname' ); + $details->siteurl = get_option( 'siteurl' ); + $details->post_count = get_option( 'post_count' ); + $details->home = get_option( 'home' ); restore_current_blog(); /** diff --git a/wp-includes/version.php b/wp-includes/version.php index 76b75afd30..d1b71966c4 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.4-beta2-35445'; +$wp_version = '4.4-beta2-35446'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.