Make WordPress Core

Ticket #41052: 41052.video.patch

File 41052.video.patch, 2.3 KB (added by gk.loveweb, 7 years ago)

Fixes for video widget

  • src/wp-admin/js/widgets/media-widgets.js

    diff --git a/src/wp-admin/js/widgets/media-widgets.js b/src/wp-admin/js/widgets/media-widgets.js
    index 598d94d..19af187 100644
    a b wp.mediaWidgets = ( function( $ ) { 
    146146                                         */
    147147                                        fetch: function() {
    148148                                                var embedLinkView = this, fetchSuccess, matches, fileExt, urlParser; // eslint-disable-line consistent-this
     149                                                var url = embedLinkView.model.get( 'url' );
    149150
    150151                                                if ( embedLinkView.dfd && 'pending' === embedLinkView.dfd.state() ) {
    151152                                                        embedLinkView.dfd.abort();
    152153                                                }
    153154
    154155                                                // Abort if the URL field was emptied out.
    155                                                 if ( ! embedLinkView.model.get( 'url' ) ) {
     156                                                if ( ! url ) {
    156157                                                        embedLinkView.setErrorNotice( '' );
    157158                                                        return;
    158159                                                }
    159160
     161                                                // only proceed with embed if the field contains more than 11 characters
     162                                                // Example: http://a.io is 11 chars
     163                                                if ( url && ( url.length < 11 || ! url.match(/(http|https):\/\/(\w+:{0,1}\w*)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%!\-\/]))?/) ) ) {
     164                                                        var embedLinkView = this; // eslint-disable-line consistent-this
     165                                                        $( '#embed-url-field' ).addClass( 'invalid' );
     166                                                        embedLinkView.setAddToWidgetButtonDisabled( true );
     167                                                        return;
     168                                                }
     169
    160170                                                fetchSuccess = function( response ) {
    161171                                                        embedLinkView.renderoEmbed({
    162172                                                                data: {
    wp.mediaWidgets = ( function( $ ) { 
    170180                                                };
    171181
    172182                                                urlParser = document.createElement( 'a' );
    173                                                 urlParser.href = embedLinkView.model.get( 'url' );
     183                                                urlParser.href = url;
    174184                                                matches = urlParser.pathname.toLowerCase().match( /\.(\w+)$/ );
    175185                                                if ( matches ) {
    176186                                                        fileExt = matches[1];
  • src/wp-includes/js/media-views.js

    diff --git a/src/wp-includes/js/media-views.js b/src/wp-includes/js/media-views.js
    index 29b56c6..c875ad7 100644
    a b EmbedLink = wp.media.view.Settings.extend({ 
    46144614                this.$('.embed-container').hide().find('.embed-preview').empty();
    46154615                this.$( '.setting' ).hide();
    46164616
    4617                 // only proceed with embed if the field contains more than 11 characters
    4618                 // Example: http://a.io is 11 chars
    4619                 if ( url && ( url.length < 11 || ! url.match(/^http(s)?:\/\//) ) ) {
     4617                // If URL is blank.
     4618                if ( ! url ) {
    46204619                        return;
    46214620                }
    46224621