WordPress.org

Make WordPress Core

Ticket #20759: 20759.diff

File 20759.diff, 6.4 KB (added by ryan, 6 years ago)

Refresh of *_url() changes

  • wp-includes/link-template.php

     
    18761876 * @return string Home url link with optional path appended.
    18771877*/
    18781878function home_url( $path = '', $scheme = null ) {
    1879         return get_home_url(null, $path, $scheme);
     1879        return get_home_url( null, $path, $scheme );
    18801880}
    18811881
    18821882/**
     
    18971897function get_home_url( $blog_id = null, $path = '', $scheme = null ) {
    18981898        $orig_scheme = $scheme;
    18991899
    1900         if ( !in_array( $scheme, array( 'http', 'https', 'relative' ) ) )
     1900        if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) )
    19011901                $scheme = is_ssl() && !is_admin() ? 'https' : 'http';
    19021902
    19031903        if ( empty( $blog_id ) || !is_multisite() ) {
     
    19081908                restore_current_blog();
    19091909        }
    19101910
    1911         if ( 'relative' == $scheme )
    1912                 $url = preg_replace( '#^.+://[^/]*#', '', $url );
    1913         elseif ( 'http' != $scheme )
    1914                 $url = str_replace( 'http://', "$scheme://", $url );
     1911        $url = set_url_scheme( $url, $scheme );
    19151912
    19161913        if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
    19171914                $url .= '/' . ltrim( $path, '/' );
     
    19321929 * @uses get_site_url()
    19331930 *
    19341931 * @param string $path Optional. Path relative to the site url.
    1935  * @param string $scheme Optional. Scheme to give the site url context. Currently 'http', 'https', 'login', 'login_post', 'admin', or 'relative'.
     1932 * @param string $scheme Optional. Scheme to give the site url context. See set_url_scheme().
    19361933 * @return string Site url link with optional path appended.
    19371934*/
    19381935function site_url( $path = '', $scheme = null ) {
    1939         return get_site_url(null, $path, $scheme);
     1936        return get_site_url( null, $path, $scheme );
    19401937}
    19411938
    19421939/**
     
    19551952 * @return string Site url link with optional path appended.
    19561953*/
    19571954function get_site_url( $blog_id = null, $path = '', $scheme = null ) {
    1958         // should the list of allowed schemes be maintained elsewhere?
    1959         $orig_scheme = $scheme;
    1960         if ( !in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) {
    1961                 if ( ( 'login_post' == $scheme || 'rpc' == $scheme ) && ( force_ssl_login() || force_ssl_admin() ) )
    1962                         $scheme = 'https';
    1963                 elseif ( ( 'login' == $scheme ) && force_ssl_admin() )
    1964                         $scheme = 'https';
    1965                 elseif ( ( 'admin' == $scheme ) && force_ssl_admin() )
    1966                         $scheme = 'https';
    1967                 else
    1968                         $scheme = ( is_ssl() ? 'https' : 'http' );
    1969         }
    1970 
    19711955        if ( empty( $blog_id ) || !is_multisite() ) {
    19721956                $url = get_option( 'siteurl' );
    19731957        } else {
     
    19761960                restore_current_blog();
    19771961        }
    19781962
    1979         if ( 'relative' == $scheme )
    1980                 $url = preg_replace( '#^.+://[^/]*#', '', $url );
    1981         elseif ( 'http' != $scheme )
    1982                 $url = str_replace( 'http://', "{$scheme}://", $url );
     1963        $url = set_url_scheme( $url, $scheme );
    19831964
    1984         if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
     1965        if ( ! empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
    19851966                $url .= '/' . ltrim( $path, '/' );
    19861967
    1987         return apply_filters( 'site_url', $url, $path, $orig_scheme, $blog_id );
     1968        return apply_filters( 'site_url', $url, $path, $scheme, $blog_id );
    19881969}
    19891970
    19901971/**
     
    19981979 * @return string Admin url link with optional path appended.
    19991980*/
    20001981function admin_url( $path = '', $scheme = 'admin' ) {
    2001         return get_admin_url(null, $path, $scheme);
     1982        return get_admin_url( null, $path, $scheme );
    20021983}
    20031984
    20041985/**
     
    20151996function get_admin_url( $blog_id = null, $path = '', $scheme = 'admin' ) {
    20161997        $url = get_site_url($blog_id, 'wp-admin/', $scheme);
    20171998
    2018         if ( !empty($path) && is_string($path) && strpos($path, '..') === false )
    2019                 $url .= ltrim($path, '/');
     1999        if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
     2000                $url .= ltrim( $path, '/' );
    20202001
    2021         return apply_filters('admin_url', $url, $path, $blog_id);
     2002        return apply_filters( 'admin_url', $url, $path, $blog_id );
    20222003}
    20232004
    20242005/**
     
    21072088 * @since 3.0.0
    21082089 *
    21092090 * @param string $path Optional. Path relative to the site url.
    2110  * @param string $scheme Optional. Scheme to give the site url context. Currently 'http', 'https', 'login', 'login_post', 'admin', or 'relative'.
     2091 * @param string $scheme Optional. Scheme to give the site url context. See set_url_scheme().
    21112092 * @return string Site url link with optional path appended.
    21122093*/
    21132094function network_site_url( $path = '', $scheme = null ) {
    21142095        global $current_site;
    21152096
    2116         if ( !is_multisite() )
     2097        if ( ! is_multisite() )
    21172098                return site_url($path, $scheme);
    21182099
    2119         $orig_scheme = $scheme;
    2120         if ( !in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) {
    2121                 if ( ( 'login_post' == $scheme || 'rpc' == $scheme ) && ( force_ssl_login() || force_ssl_admin() ) )
    2122                         $scheme = 'https';
    2123                 elseif ( ('login' == $scheme) && ( force_ssl_admin() ) )
    2124                         $scheme = 'https';
    2125                 elseif ( ('admin' == $scheme) && force_ssl_admin() )
    2126                         $scheme = 'https';
    2127                 else
    2128                         $scheme = ( is_ssl() ? 'https' : 'http' );
    2129         }
    2130 
    21312100        if ( 'relative' == $scheme )
    21322101                $url = $current_site->path;
    21332102        else
    2134                 $url = $scheme . '://' . $current_site->domain . $current_site->path;
     2103                $url = set_url_scheme( 'http://' . $current_site->domain . $current_site->path, $scheme );
    21352104
    2136         if ( !empty($path) && is_string($path) && strpos($path, '..') === false )
    2137                 $url .= ltrim($path, '/');
     2105        if ( ! empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
     2106                $url .= ltrim( $path, '/' );
    21382107
    2139         return apply_filters('network_site_url', $url, $path, $orig_scheme);
     2108        return apply_filters( 'network_site_url', $url, $path, $scheme );
    21402109}
    21412110
    21422111/**
     
    21562125function network_home_url( $path = '', $scheme = null ) {
    21572126        global $current_site;
    21582127
    2159         if ( !is_multisite() )
     2128        if ( ! is_multisite() )
    21602129                return home_url($path, $scheme);
    21612130
    21622131        $orig_scheme = $scheme;
    21632132
    2164         if ( !in_array( $scheme, array( 'http', 'https', 'relative' ) ) )
    2165                 $scheme = is_ssl() && !is_admin() ? 'https' : 'http';
     2133        if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) )
     2134                $scheme = is_ssl() && ! is_admin() ? 'https' : 'http';
    21662135
    21672136        if ( 'relative' == $scheme )
    21682137                $url = $current_site->path;
    21692138        else
    2170                 $url = $scheme . '://' . $current_site->domain . $current_site->path;
     2139                $url = set_url_scheme( 'http://' . $current_site->domain . $current_site->path, $scheme );
    21712140
    2172         if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
     2141        if ( ! empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
    21732142                $url .= ltrim( $path, '/' );
    21742143
    21752144        return apply_filters( 'network_home_url', $url, $path, $orig_scheme);