WordPress.org

Make WordPress Core

Ticket #33547: 33547.diff

File 33547.diff, 2.8 KB (added by wonderboymusic, 6 years ago)
  • src/wp-includes/formatting.php

     
    23042304         * @param string $img        Filename for the smiley image.
    23052305         * @param string $site_url   Site URL, as returned by site_url().
    23062306         */
    2307         $src_url = apply_filters( 'smilies_src', includes_url( "images/smilies/$img" ), $img, site_url() );
     2307        $src_url = apply_filters( 'smilies_src', includes_url( "images/smilies/$img", 'none' ), $img, site_url() );
    23082308
    23092309        return sprintf( '<img src="%s" alt="%s" class="wp-smiley" style="height: 1em; max-height: 1em;" />', esc_url( $src_url ), esc_attr( $smiley ) );
    23102310}
  • src/wp-includes/link-template.php

     
    31593159
    31603160        if ( ! $scheme ) {
    31613161                $scheme = is_ssl() ? 'https' : 'http';
    3162         } elseif ( $scheme === 'admin' || $scheme === 'login' || $scheme === 'login_post' || $scheme === 'rpc' ) {
     3162        } elseif ( in_array( $scheme, array( 'admin', 'login', 'login_post', 'rpc' ) ) ) {
    31633163                $scheme = is_ssl() || force_ssl_admin() ? 'https' : 'http';
    3164         } elseif ( $scheme !== 'http' && $scheme !== 'https' && $scheme !== 'relative' ) {
     3164        } elseif ( ! in_array( $scheme, array( 'http', 'https', 'relative', 'none' ) ) ) {
    31653165                $scheme = is_ssl() ? 'https' : 'http';
    31663166        }
    31673167
    31683168        $url = trim( $url );
    3169         if ( substr( $url, 0, 2 ) === '//' )
     3169        if ( substr( $url, 0, 2 ) === '//' && 'none' !== $scheme )
    31703170                $url = 'http:' . $url;
    31713171
    31723172        if ( 'relative' == $scheme ) {
     
    31733173                $url = ltrim( preg_replace( '#^\w+://[^/]*#', '', $url ) );
    31743174                if ( $url !== '' && $url[0] === '/' )
    31753175                        $url = '/' . ltrim($url , "/ \t\n\r\0\x0B" );
     3176        } elseif ( 'none' === $scheme ) {
     3177                $url = preg_replace( '#^\w+://#', '//', $url );
    31763178        } else {
    31773179                $url = preg_replace( '#^\w+://#', $scheme . '://', $url );
    31783180        }
  • tests/phpunit/tests/url.php

     
    425425                                call_user_func( $function, null, 'something...here' ) );
    426426                }
    427427        }
     428
     429        public function test_set_url_scheme_none() {
     430                $home_host = parse_url( home_url(), PHP_URL_HOST );
     431                $this->assertEquals( '//' . $home_host, set_url_scheme( home_url(), 'none' ) );
     432
     433                $site_host = parse_url( site_url(), PHP_URL_HOST );
     434                $this->assertEquals( '//' . $site_host, set_url_scheme( site_url(), 'none' ) );
     435
     436                $schemeless_includes = '//' . $site_host . '/' . WPINC . '/';
     437                $this->assertEquals( $schemeless_includes, set_url_scheme( includes_url(), 'none' ) );
     438        }
    428439}