Update WP and plugins

This commit is contained in:
Oliver Davies 2019-04-16 20:56:22 +01:00
parent 10a4713229
commit 1fb77fc4ff
864 changed files with 101724 additions and 78262 deletions

View file

@ -2,9 +2,7 @@
* Functions for ajaxified updates, deletions and installs inside the WordPress admin.
*
* @version 4.2.0
*
* @package WordPress
* @subpackage Administration
* @output wp-admin/js/updates.js
*/
/* global pagenow */
@ -38,7 +36,7 @@
*
* @since 4.2.0
*
* @type {object}
* @namespace wp.updates
*/
wp.updates = {};
@ -84,19 +82,19 @@
* @since 4.2.0
* @since 4.6.0 Added `available` property to indicate whether credentials have been provided.
*
* @type {object} filesystemCredentials Holds filesystem credentials.
* @type {object} filesystemCredentials.ftp Holds FTP credentials.
* @type {string} filesystemCredentials.ftp.host FTP host. Default empty string.
* @type {string} filesystemCredentials.ftp.username FTP user name. Default empty string.
* @type {string} filesystemCredentials.ftp.password FTP password. Default empty string.
* @type {string} filesystemCredentials.ftp.connectionType Type of FTP connection. 'ssh', 'ftp', or 'ftps'.
* Default empty string.
* @type {object} filesystemCredentials.ssh Holds SSH credentials.
* @type {string} filesystemCredentials.ssh.publicKey The public key. Default empty string.
* @type {string} filesystemCredentials.ssh.privateKey The private key. Default empty string.
* @type {string} filesystemCredentials.fsNonce Filesystem credentials form nonce.
* @type {bool} filesystemCredentials.available Whether filesystem credentials have been provided.
* Default 'false'.
* @type {Object}
* @property {Object} filesystemCredentials.ftp Holds FTP credentials.
* @property {string} filesystemCredentials.ftp.host FTP host. Default empty string.
* @property {string} filesystemCredentials.ftp.username FTP user name. Default empty string.
* @property {string} filesystemCredentials.ftp.password FTP password. Default empty string.
* @property {string} filesystemCredentials.ftp.connectionType Type of FTP connection. 'ssh', 'ftp', or 'ftps'.
* Default empty string.
* @property {Object} filesystemCredentials.ssh Holds SSH credentials.
* @property {string} filesystemCredentials.ssh.publicKey The public key. Default empty string.
* @property {string} filesystemCredentials.ssh.privateKey The private key. Default empty string.
* @property {string} filesystemCredentials.fsNonce Filesystem credentials form nonce.
* @property {bool} filesystemCredentials.available Whether filesystem credentials have been provided.
* Default 'false'.
*/
wp.updates.filesystemCredentials = {
ftp: {
@ -128,7 +126,7 @@
*
* @since 4.6.0
*
* @type {function} A function that lazily-compiles the template requested.
* @type {function}
*/
wp.updates.adminNotice = wp.template( 'wp-updates-admin-notice' );
@ -170,7 +168,9 @@
*
*/
wp.updates.addAdminNotice = function( data ) {
var $notice = $( data.selector ), $adminNotice;
var $notice = $( data.selector ),
$headerEnd = $( '.wp-header-end' ),
$adminNotice;
delete data.selector;
$adminNotice = wp.updates.adminNotice( data );
@ -182,6 +182,8 @@
if ( $notice.length ) {
$notice.replaceWith( $adminNotice );
} else if ( $headerEnd.length ) {
$headerEnd.after( $adminNotice );
} else {
if ( 'customize' === pagenow ) {
$( '.customize-themes-notifications' ).append( $adminNotice );
@ -407,7 +409,6 @@
* @since 4.2.0
* @since 4.6.0 More accurately named `updatePluginSuccess`.
*
* @typedef {object} updatePluginSuccess
* @param {object} response Response from the server.
* @param {string} response.slug Slug of the plugin to be updated.
* @param {string} response.plugin Basename of the plugin to be updated.
@ -452,7 +453,6 @@
* @since 4.2.0
* @since 4.6.0 More accurately named `updatePluginError`.
*
* @typedef {object} updatePluginError
* @param {object} response Response from the server.
* @param {string} response.slug Slug of the plugin to be updated.
* @param {string} response.plugin Basename of the plugin to be updated.
@ -574,7 +574,6 @@
*
* @since 4.6.0
*
* @typedef {object} installPluginSuccess
* @param {object} response Response from the server.
* @param {string} response.slug Slug of the installed plugin.
* @param {string} response.pluginName Name of the installed plugin.
@ -585,16 +584,10 @@
$message
.removeClass( 'updating-message' )
.addClass( 'updated-message installed' )
.addClass( 'updated-message installed button-disabled' )
.attr( 'aria-label', wp.updates.l10n.pluginInstalledLabel.replace( '%s', response.pluginName ) )
.text( wp.updates.l10n.pluginInstalled );
if ( $message.hasClass( 'button-primary' ) ) {
$message.addClass( 'button-primary-disabled' );
} else {
$message.addClass( 'button-disabled' );
}
wp.a11y.speak( wp.updates.l10n.installedMsg, 'polite' );
$document.trigger( 'wp-plugin-install-success', response );
@ -603,11 +596,10 @@
setTimeout( function() {
// Transform the 'Install' button into an 'Activate' button.
$message.removeClass( 'install-now installed button-primary-disabled button-secondary-disabled button-disabled updated-message' )
.addClass( 'activate-now' )
$message.removeClass( 'install-now installed button-disabled updated-message' ).addClass( 'activate-now button-primary' )
.attr( 'href', response.activateUrl )
.attr( 'aria-label', wp.updates.l10n.activatePluginLabel.replace( '%s', response.pluginName ) )
.text( response.activateLabel || wp.updates.l10n.activatePlugin );
.text( wp.updates.l10n.activatePlugin );
}, 1000 );
}
};
@ -617,7 +609,6 @@
*
* @since 4.6.0
*
* @typedef {object} installPluginError
* @param {object} response Response from the server.
* @param {string} response.slug Slug of the plugin to be installed.
* @param {string=} response.pluginName Optional. Name of the plugin to be installed.
@ -668,7 +659,6 @@
*
* @since 4.6.0
*
* @typedef {object} installImporterSuccess
* @param {object} response Response from the server.
* @param {string} response.slug Slug of the installed plugin.
* @param {string} response.pluginName Name of the installed plugin.
@ -700,7 +690,6 @@
*
* @since 4.6.0
*
* @typedef {object} installImporterError
* @param {object} response Response from the server.
* @param {string} response.slug Slug of the plugin to be installed.
* @param {string=} response.pluginName Optional. Name of the plugin to be installed.
@ -729,7 +718,7 @@
$installLink
.removeClass( 'updating-message' )
.text( wp.updates.l10n.installNow )
.attr( 'aria-label', wp.updates.l10n.installNowLabel.replace( '%s', pluginName ) );
.attr( 'aria-label', wp.updates.l10n.pluginInstallNowLabel.replace( '%s', pluginName ) );
wp.a11y.speak( errorMessage, 'assertive' );
@ -775,8 +764,7 @@
*
* @since 4.6.0
*
* @typedef {object} deletePluginSuccess
* @param {object} response Response from the server.
* @param {Object} response Response from the server.
* @param {string} response.slug Slug of the plugin that was deleted.
* @param {string} response.plugin Base name of the plugin that was deleted.
* @param {string} response.pluginName Name of the plugin that was deleted.
@ -790,7 +778,11 @@
$pluginRow = $( this ),
columnCount = $form.find( 'thead th:not(.hidden), thead td' ).length,
pluginDeletedRow = wp.template( 'item-deleted-row' ),
/** @type {object} plugins Base names of plugins in their different states. */
/**
* Plugins Base names of plugins in their different states.
*
* @type {Object}
*/
plugins = settings.plugins;
// Add a success message after deleting a plugin.
@ -865,7 +857,6 @@
*
* @since 4.6.0
*
* @typedef {object} deletePluginError
* @param {object} response Response from the server.
* @param {string} response.slug Slug of the plugin to be deleted.
* @param {string} response.plugin Base name of the plugin to be deleted
@ -978,7 +969,6 @@
*
* @since 4.6.0
*
* @typedef {object} updateThemeSuccess
* @param {object} response
* @param {string} response.slug Slug of the theme to be updated.
* @param {object} response.theme Updated theme.
@ -1040,7 +1030,6 @@
*
* @since 4.6.0
*
* @typedef {object} updateThemeError
* @param {object} response Response from the server.
* @param {string} response.slug Slug of the theme to be updated.
* @param {string} response.errorCode Error code for the error that occurred.
@ -1126,7 +1115,6 @@
*
* @since 4.6.0
*
* @typedef {object} installThemeSuccess
* @param {object} response Response from the server.
* @param {string} response.slug Slug of the theme to be installed.
* @param {string} response.customizeUrl URL to the Customizer for the just installed theme.
@ -1177,7 +1165,6 @@
*
* @since 4.6.0
*
* @typedef {object} installThemeError
* @param {object} response Response from the server.
* @param {string} response.slug Slug of the theme to be installed.
* @param {string} response.errorCode Error code for the error that occurred.
@ -1275,7 +1262,6 @@
*
* @since 4.6.0
*
* @typedef {object} deleteThemeSuccess
* @param {object} response Response from the server.
* @param {string} response.slug Slug of the theme that was deleted.
*/
@ -1334,7 +1320,6 @@
*
* @since 4.6.0
*
* @typedef {object} deleteThemeError
* @param {object} response Response from the server.
* @param {string} response.slug Slug of the theme to be deleted.
* @param {string} response.errorCode Error code for the error that occurred.
@ -1608,7 +1593,6 @@
*
* @since 4.6.0
*
* @typedef {object} maybeHandleCredentialError
* @param {object} response Response from the server.
* @param {string} response.errorCode Error code for the error that occurred.
* @param {string} response.errorMessage The error that occurred.
@ -1947,7 +1931,7 @@
$button
.removeClass( 'updating-message' )
.text( wp.updates.l10n.installNow )
.attr( 'aria-label', wp.updates.l10n.installNowLabel.replace( '%s', pluginName ) );
.attr( 'aria-label', wp.updates.l10n.pluginInstallNowLabel.replace( '%s', pluginName ) );
wp.a11y.speak( wp.updates.l10n.updateCancel, 'polite' );
} );
@ -2339,14 +2323,14 @@
$( 'input.wp-filter-search' ).trigger( 'input' );
} );
/**
* Trigger a search event when the "Try Again" button is clicked.
*
/**
* Trigger a search event when the "Try Again" button is clicked.
*
* @since 4.9.0
*/
$document.on( 'click', '.try-again', function( event ) {
event.preventDefault();
$pluginInstallSearch.trigger( 'input' );
*/
$document.on( 'click', '.try-again', function( event ) {
event.preventDefault();
$pluginInstallSearch.trigger( 'input' );
} );
/**