WordPress.org

Make WordPress Core

Ticket #24449: 24449.diff

File 24449.diff, 3.7 KB (added by nacin, 20 months ago)
  • wp-includes/js/media-editor.js

     
    4444 
    4545                        props.title = props.title || attachment.title; 
    4646 
    47                         link = props.link || defaultProps.link || getUserSetting( 'urlbutton', 'file' ); 
     47                        link = props.embed || props.link || defaultProps.link || getUserSetting( 'urlbutton', 'file' ); 
    4848                        if ( 'file' === link ) 
    4949                                linkUrl = attachment.url; 
    5050                        else if ( 'post' === link ) 
     
    102102                        props = wp.media.string.props( props, attachment ); 
    103103                        shortcode = {}; 
    104104 
     105                        if ( props.embed !== 'embed' ) 
     106                                return wp.media.string.link( props ); 
     107 
    105108                        if ( props.mime ) { 
    106109                                switch ( props.mime ) { 
    107110                                case 'audio/mpeg': 
    108                                         if ( attachment.url.indexOf( 'mp3' ) ) 
     111                                        if ( attachment.filename.indexOf( 'mp3' ) ) 
    109112                                                shortcode.mp3 = attachment.url; 
    110                                         else if ( attachment.url.indexOf( 'm4a' ) ) 
     113                                        else if ( attachment.filename.indexOf( 'm4a' ) ) 
    111114                                                shortcode.m4a = attachment.url; 
    112115                                        break; 
    113116                                case 'audio/mp3': 
  • wp-includes/js/media-views.js

     
    441441                        this._defaultDisplaySettings = { 
    442442                                align: defaultProps.align || getUserSetting( 'align', 'none' ), 
    443443                                size:  defaultProps.size  || getUserSetting( 'imgsize', 'medium' ), 
    444                                 link:  defaultProps.link  || getUserSetting( 'urlbutton', 'file' ) 
     444                                link:  defaultProps.link  || getUserSetting( 'urlbutton', 'file' ), 
     445                                embed: 'embed' 
    445446                        }; 
    446447                }, 
    447448 
     
    36523653                        if ( attachment ) { 
    36533654                                _.extend( this.options, { 
    36543655                                        sizes: attachment.get('sizes'), 
    3655                                         type:  attachment.get('type') 
     3656                                        type:  attachment.get('type'), 
     3657                                        canEmbed: this.canEmbed( attachment ) 
    36563658                                }); 
    36573659                        } 
    36583660 
     
    36613663                        return this; 
    36623664                }, 
    36633665 
     3666                canEmbed: function( attachment ) { 
     3667                        var subtype, type = attachment.get('type'); 
     3668                        if ( type !== 'audio' && type !== 'video' ) 
     3669                                return false; 
     3670 
     3671                        subtype = attachment.get('subtype'); 
     3672                        if ( 'audio' === type ) 
     3673                                return _.contains( [ 'mpeg', 'mp3', 'm4a', 'wav', 'ogg', 'x-ms-wma', 'wma' ], subtype ); 
     3674                        else 
     3675                                return _.contains( [ 'mp4', 'm4v', 'webm', 'ogg', 'x-ms-wmv', 'wmv', 'asf', 'flv', 'x-flv' ], subtype ); 
     3676                }, 
     3677 
    36643678                updateLinkTo: function() { 
    36653679                        var linkTo = this.model.get('link'), 
    36663680                                $input = this.$('.link-to-custom'), 
  • wp-includes/media-template.php

     
    279279                        </label> 
    280280                <# } #> 
    281281 
     282                <# if ( data.canEmbed ) { #> 
     283                        <label class="setting"> 
     284                                <span><?php _e('Embed or Link'); ?></span> 
     285                                <select class="embed-or-link" 
     286                                        data-setting="embed"> 
     287                                <# if ( 'audio' === data.type ) { #> 
     288                                        <option value="embed" selected> 
     289                                                <?php esc_attr_e('Embed Audio Player'); ?> 
     290                                        </option> 
     291                                <# } else { #> 
     292                                        <option value="embed" selected> 
     293                                                <?php esc_attr_e('Embed as Video Player'); ?> 
     294                                        </option> 
     295                                <# } #> 
     296                                        <option value="file"> 
     297                                                <?php esc_attr_e('Link to Media File'); ?> 
     298                                        </option> 
     299                                        <option value="post"> 
     300                                                <?php esc_attr_e('Link to Attachment Page'); ?> 
     301                                        </option> 
     302                                </select> 
     303                        </label> 
     304                <# } else { #> 
     305 
    282306                <div class="setting"> 
    283307                        <label> 
    284308                                <span><?php _e('Link To'); ?></span> 
     
    305329                        <input type="text" class="link-to-custom" data-setting="linkUrl" /> 
    306330                </div> 
    307331 
     332                <# } #> 
     333 
    308334                <# if ( 'undefined' !== typeof data.sizes ) { #> 
    309335                        <label class="setting"> 
    310336                                <span><?php _e('Size'); ?></span>