Make WordPress Core

Ticket #40635: 40635.diff

File 40635.diff, 3.6 KB (added by adamsilverstein, 7 years ago)
  • src/wp-admin/js/press-this.js

    diff --git src/wp-admin/js/press-this.js src/wp-admin/js/press-this.js
    index bf2e830..4f5da56 100644
     
    88                        $window               = $( window ),
    99                        $document             = $( document ),
    1010                        saveAlert             = false,
    11                         textarea              = document.createElement( 'textarea' ),
    1211                        sidebarIsOpen         = false,
    1312                        settings              = window.wpPressThisConfig || {},
    1413                        data                  = window.wpPressThisData || {},
     
    5655                }
    5756
    5857                /**
    59                  * Strips HTML tags
    60                  *
    61                  * @param string string Text to have the HTML tags striped out of.
    62                  * @returns string Stripped text.
    63                  */
    64                 function stripTags( string ) {
    65                         string = string || '';
    66 
    67                         return string
    68                                 .replace( /<!--[\s\S]*?(-->|$)/g, '' )
    69                                 .replace( /<(script|style)[^>]*>[\s\S]*?(<\/\1>|$)/ig, '' )
    70                                 .replace( /<\/?[a-z][\s\S]*?(>|$)/ig, '' );
    71                 }
    72 
    73                 /**
    74                  * Strip HTML tags and convert HTML entities.
    75                  *
    76                  * @param text string Text.
    77                  * @returns string Sanitized text.
    78                  */
    79                 function sanitizeText( text ) {
    80                         var _text = stripTags( text );
    81 
    82                         try {
    83                                 textarea.innerHTML = _text;
    84                                 _text = stripTags( textarea.value );
    85                         } catch ( er ) {}
    86 
    87                         return _text;
    88                 }
    89 
    90                 /**
    9158                 * Allow only HTTP or protocol relative URLs.
    9259                 *
    9360                 * @param url string The URL.
     
    9764                        url = $.trim( url || '' );
    9865
    9966                        if ( /^(?:https?:)?\/\//.test( url ) ) {
    100                                 url = stripTags( url );
     67                                url = wp.utils.stripTags( url );
    10168                                return url.replace( /["\\]+/g, '' );
    10269                        }
    10370
     
    224191                                $image.replaceWith( $( '<span>' ).text( $image.attr( 'alt' ) ) );
    225192                        });
    226193
    227                         return sanitizeText( $element.text() );
     194                        return wp.utils.sanitizeText( $element.text() );
    228195                }
    229196
    230197                /**
  • src/wp-includes/js/utils.js

    diff --git src/wp-includes/js/utils.js src/wp-includes/js/utils.js
    index d8fa7d8..f43b362 100644
    function getAllUserSettings() { 
    195195
    196196        return wpCookies.getHash( 'wp-settings-' + userSettings.uid ) || {};
    197197}
     198
     199window.wp = window.wp || {};
     200wp.utils = {
     201
     202                /**
     203                 * Strip HTML tags.
     204                 *
     205                 * @param string string Text to have the HTML tags striped out of.
     206                 * @return Stripped text.
     207                 */
     208                stripTags: function( string ) {
     209                        string = string || '';
     210
     211                        return string
     212                                .replace( /<!--[\s\S]*?(-->|$)/g, '' )
     213                                .replace( /<(script|style)[^>]*>[\s\S]*?(<\/\1>|$)/ig, '' )
     214                                .replace( /<\/?[a-z][\s\S]*?(>|$)/ig, '' );
     215                },
     216
     217                /**
     218                 * Strip HTML tags and convert HTML entities.
     219                 *
     220                 * @param text string Text.
     221                 * @return Sanitized text.
     222                 */
     223                sanitizeText: function( text ) {
     224                        var _text = wp.utils.stripTags( text ),
     225                                textarea = document.createElement( 'textarea' );
     226
     227                        try {
     228                                textarea.innerHTML = _text;
     229                                _text = wp.utils.stripTags( textarea.value );
     230                        } catch ( er ) {}
     231
     232                        return _text;
     233                }
     234};
  • src/wp-includes/script-loader.php

    diff --git src/wp-includes/script-loader.php src/wp-includes/script-loader.php
    index def438c..5c152a1 100644
    function wp_default_scripts( &$scripts ) { 
    576576                        'permalinkSaved' => __( 'Permalink saved' ),
    577577                ) );
    578578
    579                 $scripts->add( 'press-this', "/wp-admin/js/press-this$suffix.js", array( 'jquery', 'tags-box' ), false, 1 );
     579                $scripts->add( 'press-this', "/wp-admin/js/press-this$suffix.js", array( 'jquery', 'tags-box', 'utils' ), false, 1 );
    580580                did_action( 'init' ) && $scripts->localize( 'press-this', 'pressThisL10n', array(
    581581                        'newPost' => __( 'Title' ),
    582582                        'serverError' => __( 'Connection lost or the server is busy. Please try again later.' ),