diff --git a/src/wp-admin/includes/plugin-install.php b/src/wp-admin/includes/plugin-install.php
index 66747b7acf..aca7d630c7 100644
--- a/src/wp-admin/includes/plugin-install.php
+++ b/src/wp-admin/includes/plugin-install.php
@@ -651,7 +651,7 @@ function install_plugin_information() {
break;
case 'update_available':
if ( $status['url'] ) {
- echo '' . __( 'Install Update Now' ) .'';
+ echo '' . __( 'Install Update Now' ) .'';
}
break;
case 'newer_installed':
diff --git a/src/wp-admin/js/updates.js b/src/wp-admin/js/updates.js
index 3f1dba71e3..deb92f155a 100644
--- a/src/wp-admin/js/updates.js
+++ b/src/wp-admin/js/updates.js
@@ -150,7 +150,7 @@ window.wp = window.wp || {};
$card = $( '.plugin-card-' + slug );
if ( 'plugins' === pagenow || 'plugins-network' === pagenow ) {
- $message = $( '[data-slug="' + slug + '"]' ).next().find( '.update-message' );
+ $message = $( '[data-plugin="' + plugin + '"]' ).next().find( '.update-message' );
} else if ( 'plugin-install' === pagenow ) {
$message = $card.find( '.update-now' );
name = $message.data( 'name' );
@@ -207,7 +207,7 @@ window.wp = window.wp || {};
wp.updates.updateSuccess = function( response ) {
var $updateMessage, name, $pluginRow, newText;
if ( 'plugins' === pagenow || 'plugins-network' === pagenow ) {
- $pluginRow = $( '[data-slug="' + response.slug + '"]' ).first();
+ $pluginRow = $( '[data-plugin="' + response.plugin + '"]' ).first();
$updateMessage = $pluginRow.next().find( '.update-message' );
$pluginRow.addClass( 'updated' ).removeClass( 'update' );
@@ -268,7 +268,7 @@ window.wp = window.wp || {};
error_message = wp.updates.l10n.updateFailed.replace( '%s', response.error );
if ( 'plugins' === pagenow || 'plugins-network' === pagenow ) {
- $message = $( '[data-slug="' + response.slug + '"]' ).next().find( '.update-message' );
+ $message = $( '[data-plugin="' + response.plugin + '"]' ).next().find( '.update-message' );
$message.html( error_message ).removeClass( 'updating-message' );
} else if ( 'plugin-install' === pagenow ) {
$button = $card.find( '.update-now' );
@@ -431,13 +431,13 @@ window.wp = window.wp || {};
*/
wp.updates.requestForCredentialsModalCancel = function() {
// no updateLock and no updateQueue means we already have cleared things up
- var slug, $message;
+ var data, $message;
if( wp.updates.updateLock === false && wp.updates.updateQueue.length === 0 ){
return;
}
- slug = wp.updates.updateQueue[0].data.slug,
+ data = wp.updates.updateQueue[0].data;
// remove the lock, and clear the queue
wp.updates.updateLock = false;
@@ -445,9 +445,9 @@ window.wp = window.wp || {};
wp.updates.requestForCredentialsModalClose();
if ( 'plugins' === pagenow || 'plugins-network' === pagenow ) {
- $message = $( '[data-slug="' + slug + '"]' ).next().find( '.update-message' );
+ $message = $( '[data-plugin="' + data.plugin + '"]' ).next().find( '.update-message' );
} else if ( 'plugin-install' === pagenow ) {
- $message = $( '.plugin-card-' + slug ).find( '.update-now' );
+ $message = $( '.plugin-card-' + data.slug ).find( '.update-now' );
}
$message.removeClass( 'updating-message' );
@@ -516,7 +516,7 @@ window.wp = window.wp || {};
}
var updateRow = $( e.target ).parents( '.plugin-update-tr' );
// Return the user to the input box of the plugin's table row after closing the modal.
- wp.updates.$elToReturnFocusToFromCredentialsModal = $( '#' + updateRow.data( 'slug' ) ).find( '.check-column input' );
+ wp.updates.$elToReturnFocusToFromCredentialsModal = updateRow.prev().find( '.check-column input' );
wp.updates.updatePlugin( updateRow.data( 'plugin' ), updateRow.data( 'slug' ) );
} );
@@ -532,7 +532,7 @@ window.wp = window.wp || {};
} );
$( '#plugin_update_from_iframe' ).on( 'click' , function( e ) {
- var target, data;
+ var target, job;
target = window.parent == window ? null : window.parent,
$.support.postMessage = !! window.postMessage;
@@ -542,12 +542,16 @@ window.wp = window.wp || {};
e.preventDefault();
- data = {
- 'action' : 'updatePlugin',
- 'slug' : $(this).data('slug')
+ job = {
+ action: 'updatePlugin',
+ type: 'update-plugin',
+ data: {
+ plugin: $( this ).data( 'plugin' ),
+ slug: $( this ).data( 'slug' )
+ }
};
- target.postMessage( JSON.stringify( data ), window.location.origin );
+ target.postMessage( JSON.stringify( job ), window.location.origin );
});
} );
@@ -574,15 +578,9 @@ window.wp = window.wp || {};
break;
case 'updatePlugin' :
tb_remove();
- if ( 'plugins' === pagenow || 'plugins-network' === pagenow ) {
- // Return the user to the input box of the plugin's table row after closing the modal.
- $( '#' + message.slug ).find( '.check-column input' ).focus();
- // trigger the update
- $( '.plugin-update-tr[data-slug="' + message.slug + '"]' ).find( '.update-link' ).trigger( 'click' );
- } else if ( 'plugin-install' === pagenow ) {
- $( '.plugin-card-' + message.slug ).find( '.column-name a' ).focus();
- $( '.plugin-card-' + message.slug ).find( '[data-slug="' + message.slug + '"]' ).trigger( 'click' );
- }
+
+ wp.updates.updateQueue.push( message );
+ wp.updates.queueChecker();
break;
}