WordPress.org

Make WordPress Core

Changeset 31868


Ignore:
Timestamp:
03/24/2015 01:32:17 AM (5 years ago)
Author:
azaozz
Message:

Press This:

  • Fix the links on inserted images to point to the source site.
  • Fix inserting of images above the blockquote when the editor has not been focused.

Fixes #31745.

Location:
trunk/src/wp-admin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/class-wp-press-this.php

    r31837 r31868  
    10811081        $site_data = array(
    10821082            'v' => ! empty( $data['v'] ) ? $data['v'] : '',
     1083            'u' => ! empty( $data['u'] ) ? $data['u'] : '',
    10831084            'hasData' => ! empty( $data ),
    10841085        );
  • trunk/src/wp-admin/js/press-this.js

    r31807 r31868  
    195195         * @param link string Optional destination link, for images (defaults to src)
    196196         */
    197         function insertSelectedMedia( type, src, link ) {
    198             var newContent = '';
     197        function insertSelectedMedia( $element ) {
     198            var src, link, newContent = '';
    199199
    200200            if ( ! editor ) {
     
    202202            }
    203203
    204             src = checkUrl( src );
    205             link = checkUrl( link );
    206 
    207             if ( 'img' === type ) {
     204            src = checkUrl( $element.attr( 'data-wp-src' ) || '' );
     205            link = checkUrl( data.u );
     206
     207            if ( $element.hasClass( 'is-image' ) ) {
    208208                if ( ! link ) {
    209209                    link = src;
    210210                }
    211211
    212                 newContent = '<a href="' + link + '"><img class="alignnone size-full" src="' + src + '" /></a>\n';
     212                newContent = '<a href="' + link + '"><img class="alignnone size-full" src="' + src + '" /></a>';
    213213            } else {
    214                 newContent = '[embed]' + src + '[/embed]\n';
     214                newContent = '[embed]' + src + '[/embed]';
    215215            }
    216216
    217217            if ( ! hasSetFocus ) {
    218                 editor.focus();
    219             }
    220 
    221             editor.execCommand( 'mceInsertContent', false, newContent );
    222             hasSetFocus = true;
     218                editor.setContent( '<p>' + newContent + '</p>' + editor.getContent() );
     219            } else {
     220                editor.execCommand( 'mceInsertContent', false, newContent );
     221            }
    223222        }
    224223
     
    335334            var $element = $mediaThumbWrap.clone().addClass( 'is-image' );
    336335
    337             $element.css( 'background-image', 'url(' + displaySrc + ')' )
     336            $element.attr( 'data-wp-src', src ).css( 'background-image', 'url(' + displaySrc + ')' )
    338337                .find( 'span' ).text( __( 'suggestedImgAlt' ).replace( '%d', i + 1 ) );
    339338
    340             $element.on( 'click keypress', function ( event ) {
    341                 if ( event.type === 'click' || event.keyCode === 13 ) {
    342                     insertSelectedMedia( 'img', src, data.u );
    343                 }
    344             } ).appendTo( $mediaList );
     339            $mediaList.append( $element );
    345340        }
    346341
     
    379374                    }
    380375
    381                     $element.find( 'span' ).text( __( 'suggestedEmbedAlt' ).replace( '%d', i + 1 ) );
     376                    $element.attr( 'data-wp-src', src ).find( 'span' ).text( __( 'suggestedEmbedAlt' ).replace( '%d', i + 1 ) );
    382377
    383378                    if ( displaySrc ) {
     
    385380                    }
    386381
    387                     $element.on( 'click keypress', function ( event ) {
    388                         if ( event.type === 'click' || event.keyCode === 13 ) {
    389                             insertSelectedMedia( 'embed', src );
    390                         }
    391                     } ).appendTo( $mediaList );
    392 
     382                    $mediaList.append( $element );
    393383                    found++;
    394384                } );
     
    580570                    hasSetFocus = true;
    581571                } );
     572            }).on( 'click.press-this keypress.press-this', '.suggested-media-thumbnail', function( event ) {
     573                if ( event.type === 'click' || event.keyCode === 13 ) {
     574                    insertSelectedMedia( $( this ) );
     575                }
    582576            });
    583577
Note: See TracChangeset for help on using the changeset viewer.