WordPress.org

Make WordPress Core

Ticket #20759: 20759.patch

File 20759.patch, 10.0 KB (added by johnbillion, 3 years ago)
  • wp-admin/includes/meta-boxes.php

     
    4242        $preview_button = __( 'Preview Changes' ); 
    4343} else { 
    4444        $preview_link = get_permalink( $post->ID ); 
    45         if ( is_ssl() ) 
    46                 $preview_link = str_replace( 'http://', 'https://', $preview_link ); 
     45        $preview_link = set_url_scheme( $preview_link ); 
    4746        $preview_link = esc_url( apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ) ) ); 
    4847        $preview_button = __( 'Preview' ); 
    4948} 
  • wp-admin/includes/plugin.php

     
    902902 
    903903        if ( empty($icon_url) ) 
    904904                $icon_url = esc_url( admin_url( 'images/generic.png' ) ); 
    905         elseif ( is_ssl() && 0 === strpos($icon_url, 'http://') ) 
    906                 $icon_url = 'https://' . substr($icon_url, 7); 
     905        elseif ( 0 === strpos($icon_url, 'http') ) 
     906                $icon_url = set_url_scheme( $icon_url ); 
    907907 
    908908        $new_menu = array( $menu_title, $capability, $menu_slug, $page_title, 'menu-top ' . $hookname, $hookname, $icon_url ); 
    909909 
  • wp-includes/class-wp-editor.php

     
    209209 
    210210                                                foreach ( $mce_external_plugins as $name => $url ) { 
    211211 
    212                                                         if ( is_ssl() ) $url = str_replace('http://', 'https://', $url); 
     212                                                        $url = set_url_scheme( $url ); 
    213213 
    214214                                                        $plugins[] = '-' . $name; 
    215215 
  • wp-includes/functions.php

     
    26492649function url_is_accessable_via_ssl($url) 
    26502650{ 
    26512651        if (in_array('curl', get_loaded_extensions())) { 
    2652                 $ssl = preg_replace( '/^http:\/\//', 'https://',  $url ); 
     2652                $ssl = set_url_scheme( $url, 'https' ); 
    26532653 
    26542654                $ch = curl_init(); 
    26552655                curl_setopt($ch, CURLOPT_URL, $ssl); 
  • wp-includes/link-template.php

     
    18381838 * @uses get_home_url() 
    18391839 * 
    18401840 * @param  string $path   (optional) Path relative to the home url. 
    1841  * @param  string $scheme (optional) Scheme to give the home url context. Currently 'http', 'https', or 'relative'. 
     1841 * @param  string $scheme (optional) Scheme to give the home url context. See set_url_scheme(). 
    18421842 * @return string Home url link with optional path appended. 
    18431843*/ 
    18441844function home_url( $path = '', $scheme = null ) { 
     
    18571857 * 
    18581858 * @param  int $blog_id   (optional) Blog ID. Defaults to current blog. 
    18591859 * @param  string $path   (optional) Path relative to the home url. 
    1860  * @param  string $scheme (optional) Scheme to give the home url context. Currently 'http', 'https', or 'relative'. 
     1860 * @param  string $scheme (optional) Scheme to give the home url context. See set_url_scheme(). 
    18611861 * @return string Home url link with optional path appended. 
    18621862*/ 
    18631863function get_home_url( $blog_id = null, $path = '', $scheme = null ) { 
    1864         $orig_scheme = $scheme; 
    18651864 
    1866         if ( !in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) 
    1867                 $scheme = is_ssl() && !is_admin() ? 'https' : 'http'; 
    1868  
    18691865        if ( empty( $blog_id ) || !is_multisite() ) 
    18701866                $url = get_option( 'home' ); 
    18711867        else 
    18721868                $url = get_blog_option( $blog_id, 'home' ); 
    18731869 
    1874         if ( 'relative' == $scheme ) 
    1875                 $url = preg_replace( '#^.+://[^/]*#', '', $url ); 
    1876         elseif ( 'http' != $scheme ) 
    1877                 $url = str_replace( 'http://', "$scheme://", $url ); 
     1870        $url = set_url_scheme( $url, $scheme ); 
    18781871 
    18791872        if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false ) 
    18801873                $url .= '/' . ltrim( $path, '/' ); 
    18811874 
    1882         return apply_filters( 'home_url', $url, $path, $orig_scheme, $blog_id ); 
     1875        return apply_filters( 'home_url', $url, $path, $scheme, $blog_id ); 
    18831876} 
    18841877 
    18851878/** 
     
    18951888 * @uses get_site_url() 
    18961889 * 
    18971890 * @param string $path Optional. Path relative to the site url. 
    1898  * @param string $scheme Optional. Scheme to give the site url context. Currently 'http', 'https', 'login', 'login_post', 'admin', or 'relative'. 
     1891 * @param string $scheme Optional. Scheme to give the site url context. See set_url_scheme(). 
    18991892 * @return string Site url link with optional path appended. 
    19001893*/ 
    19011894function site_url( $path = '', $scheme = null ) { 
     
    19141907 * 
    19151908 * @param int $blog_id (optional) Blog ID. Defaults to current blog. 
    19161909 * @param string $path Optional. Path relative to the site url. 
    1917  * @param string $scheme Optional. Scheme to give the site url context. Currently 'http', 'https', 'login', 'login_post', 'admin', or 'relative'. 
     1910 * @param string $scheme Optional. Scheme to give the site url context. See set_url_scheme(). 
    19181911 * @return string Site url link with optional path appended. 
    19191912*/ 
    19201913function get_site_url( $blog_id = null, $path = '', $scheme = null ) { 
    1921         // should the list of allowed schemes be maintained elsewhere? 
    1922         $orig_scheme = $scheme; 
    1923         if ( !in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) { 
    1924                 if ( ( 'login_post' == $scheme || 'rpc' == $scheme ) && ( force_ssl_login() || force_ssl_admin() ) ) 
    1925                         $scheme = 'https'; 
    1926                 elseif ( ( 'login' == $scheme ) && force_ssl_admin() ) 
    1927                         $scheme = 'https'; 
    1928                 elseif ( ( 'admin' == $scheme ) && force_ssl_admin() ) 
    1929                         $scheme = 'https'; 
    1930                 else 
    1931                         $scheme = ( is_ssl() ? 'https' : 'http' ); 
    1932         } 
    19331914 
    19341915        if ( empty( $blog_id ) || !is_multisite() ) 
    19351916                $url = get_option( 'siteurl' ); 
    19361917        else 
    19371918                $url = get_blog_option( $blog_id, 'siteurl' ); 
    19381919 
    1939         if ( 'relative' == $scheme ) 
    1940                 $url = preg_replace( '#^.+://[^/]*#', '', $url ); 
    1941         elseif ( 'http' != $scheme ) 
    1942                 $url = str_replace( 'http://', "{$scheme}://", $url ); 
     1920        $url = set_url_scheme( $url, $scheme ); 
    19431921 
    19441922        if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false ) 
    19451923                $url .= '/' . ltrim( $path, '/' ); 
    19461924 
    1947         return apply_filters( 'site_url', $url, $path, $orig_scheme, $blog_id ); 
     1925        return apply_filters( 'site_url', $url, $path, $scheme, $blog_id ); 
    19481926} 
    19491927 
    19501928/** 
     
    20101988*/ 
    20111989function content_url($path = '') { 
    20121990        $url = WP_CONTENT_URL; 
    2013         if ( 0 === strpos($url, 'http') && is_ssl() ) 
    2014                 $url = str_replace( 'http://', 'https://', $url ); 
     1991        if ( 0 === strpos($url, 'http') ) 
     1992                $url = set_scheme_url( $url ); 
    20151993 
    20161994        if ( !empty($path) && is_string($path) && strpos($path, '..') === false ) 
    20171995                $url .= '/' . ltrim($path, '/'); 
     
    20432021        else 
    20442022                $url = WP_PLUGIN_URL; 
    20452023 
    2046         if ( 0 === strpos($url, 'http') && is_ssl() ) 
    2047                 $url = str_replace( 'http://', 'https://', $url ); 
     2024        if ( 0 === strpos($url, 'http') ) 
     2025                $url = set_url_scheme( $url ); 
    20482026 
    20492027        if ( !empty($plugin) && is_string($plugin) ) { 
    20502028                $folder = dirname(plugin_basename($plugin)); 
     
    20692047 * @since 3.0.0 
    20702048 * 
    20712049 * @param string $path Optional. Path relative to the site url. 
    2072  * @param string $scheme Optional. Scheme to give the site url context. Currently 'http', 'https', 'login', 'login_post', 'admin', or 'relative'. 
     2050 * @param string $scheme Optional. Scheme to give the site url context. See set_url_scheme(). 
    20732051 * @return string Site url link with optional path appended. 
    20742052*/ 
    20752053function network_site_url( $path = '', $scheme = null ) { 
     
    20782056        if ( !is_multisite() ) 
    20792057                return site_url($path, $scheme); 
    20802058 
    2081         $orig_scheme = $scheme; 
    2082         if ( !in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) { 
    2083                 if ( ( 'login_post' == $scheme || 'rpc' == $scheme ) && ( force_ssl_login() || force_ssl_admin() ) ) 
    2084                         $scheme = 'https'; 
    2085                 elseif ( ('login' == $scheme) && ( force_ssl_admin() ) ) 
    2086                         $scheme = 'https'; 
    2087                 elseif ( ('admin' == $scheme) && force_ssl_admin() ) 
    2088                         $scheme = 'https'; 
    2089                 else 
    2090                         $scheme = ( is_ssl() ? 'https' : 'http' ); 
    2091         } 
    2092  
    20932059        if ( 'relative' == $scheme ) 
    20942060                $url = $current_site->path; 
    20952061        else 
    2096                 $url = $scheme . '://' . $current_site->domain . $current_site->path; 
     2062                $url = set_url_scheme( 'http://' . $current_site->domain . $current_site->path, $scheme ); 
    20972063 
    20982064        if ( !empty($path) && is_string($path) && strpos($path, '..') === false ) 
    20992065                $url .= ltrim($path, '/'); 
    21002066 
    2101         return apply_filters('network_site_url', $url, $path, $orig_scheme); 
     2067        return apply_filters('network_site_url', $url, $path, $scheme); 
    21022068} 
    21032069 
    21042070/** 
     
    21122078 * @since 3.0.0 
    21132079 * 
    21142080 * @param  string $path   (optional) Path relative to the home url. 
    2115  * @param  string $scheme (optional) Scheme to give the home url context. Currently 'http', 'https', or 'relative'. 
     2081 * @param  string $scheme (optional) Scheme to give the home url context. See set_url_scheme(). 
    21162082 * @return string Home url link with optional path appended. 
    21172083*/ 
    21182084function network_home_url( $path = '', $scheme = null ) { 
     
    21212087        if ( !is_multisite() ) 
    21222088                return home_url($path, $scheme); 
    21232089 
    2124         $orig_scheme = $scheme; 
    2125  
    2126         if ( !in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) 
    2127                 $scheme = is_ssl() && !is_admin() ? 'https' : 'http'; 
    2128  
    21292090        if ( 'relative' == $scheme ) 
    21302091                $url = $current_site->path; 
    21312092        else 
    2132                 $url = $scheme . '://' . $current_site->domain . $current_site->path; 
     2093                $url = set_url_scheme( 'http://' . $current_site->domain . $current_site->path, $scheme ); 
    21332094 
    21342095        if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false ) 
    21352096                $url .= ltrim( $path, '/' ); 
    21362097 
    2137         return apply_filters( 'network_home_url', $url, $path, $orig_scheme); 
     2098        return apply_filters( 'network_home_url', $url, $path, $scheme); 
    21382099} 
    21392100 
    21402101/** 
  • wp-includes/theme.php

     
    869869        if ( is_random_header_image() ) 
    870870                $url = get_random_header_image(); 
    871871 
    872         if ( is_ssl() ) 
    873                 $url = str_replace( 'http://', 'https://', $url ); 
    874         else 
    875                 $url = str_replace( 'https://', 'http://', $url ); 
     872        $url = set_url_scheme( $url ); 
    876873 
    877874        return esc_url_raw( $url ); 
    878875}