Make WordPress Core

Ticket #25716: 25716.3.diff

File 25716.3.diff, 8.3 KB (added by nacin, 11 years ago)

Only issue E_WARNING if WP_DEBUG or headers_sent(), otherwise E_NOTICE.

  • wp-admin/includes/plugin-install.php

     
    6060        $res = apply_filters( 'plugins_api', false, $action, $args );
    6161
    6262        if ( false === $res ) {
    63                 $url = 'http://api.wordpress.org/plugins/info/1.0/';
    64                 if ( wp_http_supports( array( 'ssl' ) ) )
     63                $url = $http_url = 'http://api.wordpress.org/plugins/info/1.0/';
     64                if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
    6565                        $url = set_url_scheme( $url, 'https' );
    6666
    67                 $request = wp_remote_post( $url, array(
     67                $args = array(
    6868                        'timeout' => 15,
    6969                        'body' => array(
    7070                                'action' => $action,
    7171                                'request' => serialize( $args )
    7272                        )
    73                 ) );
     73                );
     74                $request = wp_remote_post( $url, $args );
    7475
     76                if ( $ssl && is_wp_error( $request ) ) {
     77                        trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ) . ' ' . __( '(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 );
     78                        $request = wp_remote_post( $http_url, $args );
     79                }
     80
    7581                if ( is_wp_error($request) ) {
    7682                        $res = new WP_Error('plugins_api_failed', __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ), $request->get_error_message() );
    7783                } else {
  • wp-admin/includes/theme.php

     
    282282        $res = apply_filters('themes_api', false, $action, $args); //NOTE: Allows a theme to completely override the builtin WordPress.org API.
    283283
    284284        if ( ! $res ) {
    285                 $url = 'http://api.wordpress.org/themes/info/1.0/';
    286                 if ( wp_http_supports( array( 'ssl' ) ) )
     285                $url = $http_url = 'http://api.wordpress.org/themes/info/1.0/';
     286                if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
    287287                        $url = set_url_scheme( $url, 'https' );
    288288
    289                 $request = wp_remote_post( $url, array(
     289                $args = array(
    290290                        'body' => array(
    291291                                'action' => $action,
    292292                                'request' => serialize( $args )
    293293                        )
    294                 ) );
     294                );
     295                $request = wp_remote_post( $url, $args );
    295296
     297                if ( $ssl && is_wp_error( $request ) ) {
     298                        trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ) . ' ' . __( '(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 );
     299                        $request = wp_remote_post( $http_url, $args );
     300                }
     301
    296302                if ( is_wp_error($request) ) {
    297303                        $res = new WP_Error('themes_api_failed', __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ), $request->get_error_message() );
    298304                } else {
  • wp-admin/includes/update.php

     
    103103function get_core_checksums( $version, $locale ) {
    104104        $return = array();
    105105
    106         $url = 'http://api.wordpress.org/core/checksums/1.0/?' . http_build_query( compact( 'version', 'locale' ), null, '&' );
     106        $url = $http_url = 'http://api.wordpress.org/core/checksums/1.0/?' . http_build_query( compact( 'version', 'locale' ), null, '&' );
    107107
    108         if ( wp_http_supports( array( 'ssl' ) ) )
     108        if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
    109109                $url = set_url_scheme( $url, 'https' );
    110110
    111111        $options = array(
     
    113113        );
    114114
    115115        $response = wp_remote_get( $url, $options );
     116        if ( $ssl && is_wp_error( $response ) ) {
     117                trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ) . ' ' . __( '(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 );
     118                $response = wp_remote_get( $http_url, $options );
     119        }
    116120
    117121        if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
    118122                return false;
  • wp-includes/update.php

     
    9393        if ( $extra_stats )
    9494                $post_body = array_merge( $post_body, $extra_stats );
    9595
    96         $url = 'http://api.wordpress.org/core/version-check/1.7/?' . http_build_query( $query, null, '&' );
    97         if ( wp_http_supports( array( 'ssl' ) ) )
     96        $url = $http_url = 'http://api.wordpress.org/core/version-check/1.7/?' . http_build_query( $query, null, '&' );
     97        if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
    9898                $url = set_url_scheme( $url, 'https' );
    9999
    100100        $options = array(
     
    108108        );
    109109
    110110        $response = wp_remote_post( $url, $options );
     111        if ( $ssl && is_wp_error( $response ) ) {
     112                trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ) . ' ' . __( '(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 );
     113                $response = wp_remote_post( $http_url, $options );
     114        }
    111115
    112116        if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
    113117                return false;
     
    246250                'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
    247251        );
    248252
    249         $url = 'http://api.wordpress.org/plugins/update-check/1.1/';
    250         if ( wp_http_supports( array( 'ssl' ) ) )
     253        $url = $http_url = 'http://api.wordpress.org/plugins/update-check/1.1/';
     254        if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
    251255                $url = set_url_scheme( $url, 'https' );
    252256
    253257        $raw_response = wp_remote_post( $url, $options );
     258        if ( $ssl && is_wp_error( $raw_response ) ) {
     259                trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ) . ' ' . __( '(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 );
     260                $raw_response = wp_remote_post( $http_url, $options );
     261        }
    254262
    255263        if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) )
    256264                return false;
     
    382390                'user-agent'    => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
    383391        );
    384392
    385         $url = 'http://api.wordpress.org/themes/update-check/1.1/';
    386         if ( wp_http_supports( array( 'ssl' ) ) )
     393        $url = $http_url = 'http://api.wordpress.org/themes/update-check/1.1/';
     394        if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
    387395                $url = set_url_scheme( $url, 'https' );
    388396
    389397        $raw_response = wp_remote_post( $url, $options );
     398        if ( $ssl && is_wp_error( $raw_response ) ) {
     399                trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ) . ' ' . __( '(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 );
     400                $raw_response = wp_remote_post( $http_url, $options );
     401        }
    390402
    391403        if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) )
    392404                return false;