WordPress.org

Make WordPress Core

Ticket #21081: 21081.2.diff

File 21081.2.diff, 1.4 KB (added by markjaquith, 3 years ago)
  • wp-admin/includes/user.php

    function edit_user( $user_id = 0 ) { 
    6969                        $user->user_url = ''; 
    7070                } else { 
    7171                        $user->user_url = esc_url_raw( $_POST['url'] ); 
    72                         $user->user_url = preg_match('/^(https?|ftps?|mailto|news|irc|gopher|nntp|feed|telnet):/is', $user->user_url) ? $user->user_url : 'http://'.$user->user_url; 
     72                        $protocols = implode( '|', array_map( 'preg_quote', wp_allowed_protocols() ) ); 
     73                        $user->user_url = preg_match('/^(' . $protocols . '):/is', $user->user_url) ? $user->user_url : 'http://'.$user->user_url; 
    7374                } 
    7475        } 
    7576        if ( isset( $_POST['first_name'] ) ) 
  • wp-includes/functions.php

    function wp_allowed_protocols() { 
    35083508        static $protocols; 
    35093509 
    35103510        if ( empty( $protocols ) ) { 
    3511                 $protocols = array( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn' ); 
     3511                $protocols = array( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn', 'tel', 'fax' ); 
    35123512                $protocols = apply_filters( 'kses_allowed_protocols', $protocols ); 
    35133513        } 
    35143514