Make WordPress Core

Ticket #25716: 25716.diff

File 25716.diff, 1.3 KB (added by nacin, 11 years ago)
  • src/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                        $request = wp_remote_post( $http_url, $args );
     78
    7579                if ( is_wp_error($request) ) {
    7680                        $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() );
    7781                } else {