X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/fa11948979fd6a4ea5705dc613b239699a459db3..53a5df18dd17a11c18781e78349feb3e139096b4:/wp-includes/update.php
diff --git a/wp-includes/update.php b/wp-includes/update.php
index 9979ae99..bc666fd2 100644
--- a/wp-includes/update.php
+++ b/wp-includes/update.php
@@ -93,8 +93,8 @@ function wp_version_check( $extra_stats = array() ) {
if ( $extra_stats )
$post_body = array_merge( $post_body, $extra_stats );
- $url = 'http://api.wordpress.org/core/version-check/1.7/?' . http_build_query( $query, null, '&' );
- if ( wp_http_supports( array( 'ssl' ) ) )
+ $url = $http_url = 'http://api.wordpress.org/core/version-check/1.7/?' . http_build_query( $query, null, '&' );
+ if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
$url = set_url_scheme( $url, 'https' );
$options = array(
@@ -108,6 +108,10 @@ function wp_version_check( $extra_stats = array() ) {
);
$response = wp_remote_post( $url, $options );
+ if ( $ssl && is_wp_error( $response ) ) {
+ trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)', headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
+ $response = wp_remote_post( $http_url, $options );
+ }
if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
return false;
@@ -246,11 +250,15 @@ function wp_update_plugins() {
'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
);
- $url = 'http://api.wordpress.org/plugins/update-check/1.1/';
- if ( wp_http_supports( array( 'ssl' ) ) )
+ $url = $http_url = 'http://api.wordpress.org/plugins/update-check/1.1/';
+ if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
$url = set_url_scheme( $url, 'https' );
$raw_response = wp_remote_post( $url, $options );
+ if ( $ssl && is_wp_error( $raw_response ) ) {
+ trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)', headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
+ $raw_response = wp_remote_post( $http_url, $options );
+ }
if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) )
return false;
@@ -382,11 +390,15 @@ function wp_update_themes() {
'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
);
- $url = 'http://api.wordpress.org/themes/update-check/1.1/';
- if ( wp_http_supports( array( 'ssl' ) ) )
+ $url = $http_url = 'http://api.wordpress.org/themes/update-check/1.1/';
+ if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
$url = set_url_scheme( $url, 'https' );
$raw_response = wp_remote_post( $url, $options );
+ if ( $ssl && is_wp_error( $raw_response ) ) {
+ trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)', headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
+ $raw_response = wp_remote_post( $http_url, $options );
+ }
if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) )
return false;