diff --git a/wp-admin/includes/class-wp-press-this.php b/wp-admin/includes/class-wp-press-this.php index d44326e986..92d6f95fe3 100644 --- a/wp-admin/includes/class-wp-press-this.php +++ b/wp-admin/includes/class-wp-press-this.php @@ -1080,6 +1080,7 @@ class WP_Press_This { $site_data = array( 'v' => ! empty( $data['v'] ) ? $data['v'] : '', + 'u' => ! empty( $data['u'] ) ? $data['u'] : '', 'hasData' => ! empty( $data ), ); diff --git a/wp-admin/js/press-this.js b/wp-admin/js/press-this.js index 0b83384af9..727948260e 100644 --- a/wp-admin/js/press-this.js +++ b/wp-admin/js/press-this.js @@ -194,32 +194,31 @@ * @param src string Source URL * @param link string Optional destination link, for images (defaults to src) */ - function insertSelectedMedia( type, src, link ) { - var newContent = ''; + function insertSelectedMedia( $element ) { + var src, link, newContent = ''; if ( ! editor ) { return; } - src = checkUrl( src ); - link = checkUrl( link ); + src = checkUrl( $element.attr( 'data-wp-src' ) || '' ); + link = checkUrl( data.u ); - if ( 'img' === type ) { + if ( $element.hasClass( 'is-image' ) ) { if ( ! link ) { link = src; } - newContent = '\n'; + newContent = ''; } else { - newContent = '[embed]' + src + '[/embed]\n'; + newContent = '[embed]' + src + '[/embed]'; } if ( ! hasSetFocus ) { - editor.focus(); + editor.setContent( '

' + newContent + '

' + editor.getContent() ); + } else { + editor.execCommand( 'mceInsertContent', false, newContent ); } - - editor.execCommand( 'mceInsertContent', false, newContent ); - hasSetFocus = true; } /** @@ -334,14 +333,10 @@ function addImg( src, displaySrc, i ) { var $element = $mediaThumbWrap.clone().addClass( 'is-image' ); - $element.css( 'background-image', 'url(' + displaySrc + ')' ) + $element.attr( 'data-wp-src', src ).css( 'background-image', 'url(' + displaySrc + ')' ) .find( 'span' ).text( __( 'suggestedImgAlt' ).replace( '%d', i + 1 ) ); - $element.on( 'click keypress', function ( event ) { - if ( event.type === 'click' || event.keyCode === 13 ) { - insertSelectedMedia( 'img', src, data.u ); - } - } ).appendTo( $mediaList ); + $mediaList.append( $element ); } /** @@ -378,18 +373,13 @@ cssClass += ' is-video'; } - $element.find( 'span' ).text( __( 'suggestedEmbedAlt' ).replace( '%d', i + 1 ) ); + $element.attr( 'data-wp-src', src ).find( 'span' ).text( __( 'suggestedEmbedAlt' ).replace( '%d', i + 1 ) ); if ( displaySrc ) { $element.css( 'background-image', 'url(' + displaySrc + ')' ); } - $element.on( 'click keypress', function ( event ) { - if ( event.type === 'click' || event.keyCode === 13 ) { - insertSelectedMedia( 'embed', src ); - } - } ).appendTo( $mediaList ); - + $mediaList.append( $element ); found++; } ); } @@ -579,6 +569,10 @@ ed.on( 'focus', function() { hasSetFocus = true; } ); + }).on( 'click.press-this keypress.press-this', '.suggested-media-thumbnail', function( event ) { + if ( event.type === 'click' || event.keyCode === 13 ) { + insertSelectedMedia( $( this ) ); + } }); // Publish, Draft and Preview buttons diff --git a/wp-admin/js/press-this.min.js b/wp-admin/js/press-this.min.js index c7786fda97..ae9a4ab426 100644 --- a/wp-admin/js/press-this.min.js +++ b/wp-admin/js/press-this.min.js @@ -1 +1 @@ -!function(a,b){var c=function(){function c(a){return a&&b.pressThisL10n?b.pressThisL10n[a]||a:a||""}function d(a){return a=a||"",a.replace(/|$)/g,"").replace(/<(script|style)[^>]*>[\s\S]*?(<\/\1>|$)/gi,"").replace(/<\/?[a-z][\s\S]*?(>|$)/gi,"")}function e(a){var b=d(a);try{F.innerHTML=b,b=d(F.value)}catch(c){}return b}function f(b){return b=a.trim(b||""),/^(?:https?:)?\/\//.test(b)?(b=d(b),b.replace(/["\\]+/g,"")):""}function g(){a("#spinner").addClass("show"),a(".post-actions button").each(function(){a(this).attr("disabled","disabled")})}function h(){a("#spinner").removeClass("show"),a(".post-actions button").each(function(){a(this).removeAttr("disabled")})}function i(){var c=a("#pressthis-form"),d=a('');B&&B.save(),a("#post_title").val(e(a("#title-container").text())),b.tagBox&&a("div.tagsdiv").each(function(){b.tagBox.flushTags(this,!1,1)}),a(".categories-select .category").each(function(b,e){var f=a(e);f.hasClass("selected")&&c.append(d.clone().val(f.attr("data-term-id")||""))})}function j(c){var d;E=!1,g(),"publish"===c&&a("#post_status").val("publish"),i(),d=a("#pressthis-form").serialize(),a.ajax({type:"post",url:b.ajaxurl,data:d,success:function(a){if(a.success){if(a.data.redirect)if(b.opener&&H.redirInParent){try{b.opener.location.href=a.data.redirect}catch(c){}b.self.close()}else b.location.href=a.data.redirect}else o(a.data.errorMessage),h()}})}function k(a,b,c){var d="";B&&(b=f(b),c=f(c),"img"===a?(c||(c=b),d='\n'):d="[embed]"+b+"[/embed]\n",K||B.focus(),B.execCommand("mceInsertContent",!1,d),K=!0)}function l(){var c,d=a("#new-category").val();d&&(c={action:"press-this-add-category",post_id:a("#post_ID").val()||0,name:d,new_cat_nonce:a("#_ajax_nonce-add-category").val()||"",parent:a("#new-category-parent").val()||0},a.post(b.ajaxurl,c,function(b){if(b.success){var c,d,e=a("ul.categories-select");a.each(b.data,function(b,f){var g=a("
  • ").append(a('