From 0b1b0f86abf7b8578d248b69809bd2edc555e3da Mon Sep 17 00:00:00 2001 From: nacin Date: Thu, 16 Dec 2010 07:58:57 +0000 Subject: [PATCH] Add scheme arguments to get_blogaddress_by_domain and get_blogaddress_by_id. props adambackstrom for initial patch, fixes #14867. git-svn-id: http://svn.automattic.com/wordpress/trunk@16987 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/ms-blogs.php | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/wp-includes/ms-blogs.php b/wp-includes/ms-blogs.php index 0deca99ad..b567594e2 100644 --- a/wp-includes/ms-blogs.php +++ b/wp-includes/ms-blogs.php @@ -30,11 +30,15 @@ function wpmu_update_blogs_date() { * @since MU * * @param int $blog_id Blog ID + * @param string $scheme Optional. Scheme to give the URL. Currently 'http', 'https' * @return string */ -function get_blogaddress_by_id( $blog_id ) { +function get_blogaddress_by_id( $blog_id, $scheme = null ) { + if ( ! in_array( $scheme, array( 'http', 'https' ) ) ) + $scheme = is_ssl() ? 'https' : 'http'; + $bloginfo = get_blog_details( (int) $blog_id, false ); // only get bare details! - return esc_url( 'http://' . $bloginfo->domain . $bloginfo->path ); + return esc_url( "$scheme://" . $bloginfo->domain . $bloginfo->path ); } /** @@ -67,20 +71,24 @@ function get_blogaddress_by_name( $blogname ) { * * @param string $domain * @param string $path + * @param string $scheme Optional. Scheme to give the URL. Currently 'http', 'https' * @return string */ -function get_blogaddress_by_domain( $domain, $path ) { +function get_blogaddress_by_domain( $domain, $path, $scheme = null ) { + if ( ! in_array( $scheme, array( 'http', 'https' ) ) ) + $scheme = is_ssl() ? 'https' : 'http'; + if ( is_subdomain_install() ) { - $url = "http://".$domain.$path; + $url = "$scheme://" . $domain.$path; } else { if ( $domain != $_SERVER['HTTP_HOST'] ) { $blogname = substr( $domain, 0, strpos( $domain, '.' ) ); - $url = 'http://' . substr( $domain, strpos( $domain, '.' ) + 1 ) . $path; + $url = "$scheme://" . substr( $domain, strpos( $domain, '.' ) + 1 ) . $path; // we're not installing the main blog if ( $blogname != 'www.' ) $url .= $blogname . '/'; } else { // main blog - $url = 'http://' . $domain . $path; + $url = "$scheme://" . $domain . $path; } } return esc_url( $url );