2016-05-10 13:11:30 +02:00
|
|
|
<?php
|
|
|
|
/**
|
2016-05-10 13:31:28 +02:00
|
|
|
* Upgrader API: Bulk_Plugin_Upgrader_Skin class
|
2016-05-10 13:11:30 +02:00
|
|
|
*
|
|
|
|
* @package WordPress
|
|
|
|
* @subpackage Upgrader
|
2016-05-10 13:31:28 +02:00
|
|
|
* @since 4.6.0
|
2016-05-10 13:11:30 +02:00
|
|
|
*/
|
|
|
|
|
2016-05-10 13:31:28 +02:00
|
|
|
/**
|
|
|
|
* Bulk Plugin Upgrader Skin for WordPress Plugin Upgrades.
|
|
|
|
*
|
|
|
|
* @since 3.0.0
|
2016-05-13 22:59:27 +02:00
|
|
|
* @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader-skins.php.
|
2016-07-09 15:45:33 +02:00
|
|
|
*
|
|
|
|
* @see Bulk_Upgrader_Skin
|
2016-05-10 13:31:28 +02:00
|
|
|
*/
|
2016-05-10 13:11:30 +02:00
|
|
|
class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin {
|
Code Modernization: Explicitly declare all properties in `WP_Ajax_Upgrader_Skin`.
Dynamic (non-explicitly declared) properties are deprecated as of PHP 8.2 and are expected to become a fatal error in PHP 9.0.
In this case, the `$plugin_info` and `$theme_info` properties are set in `Plugin_Upgrader::bulk_upgrade()` and `Theme_Upgrader::bulk_upgrade()` specifically.
The `Bulk_Plugin_Upgrader_Skin` class and the `Bulk_Theme_Upgrader_Skin` class both already allow for this, but the `wp_ajax_update_plugin()` and `wp_ajax_update_theme()` functions also call the `*_Upgrader::bulk_upgrade()` methods, so the `WP_Ajax_Upgrader_Skin` class also needs to have these properties explicitly declared.
Includes adding proper DocBlocks for the pre-existing properties in the `Bulk_Plugin_Upgrader_Skin` and the `Bulk_Theme_Upgrader_Skin` classes.
Follow-up to [13686], [37714], [38199], [42677], [42873], [53557], [53558], [53850], [53851], [53852], [53853], [53854], [53856], [53916], [53935], [53936], [53937], [53938], [53942], [53945], [53948], [53949].
Props jrf, costdev.
See #56033.
Built from https://develop.svn.wordpress.org/trunk@53952
git-svn-id: http://core.svn.wordpress.org/trunk@53511 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-08-29 14:46:10 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Plugin info.
|
|
|
|
*
|
|
|
|
* The Plugin_Upgrader::bulk_upgrade() method will fill this in
|
|
|
|
* with info retrieved from the get_plugin_data() function.
|
|
|
|
*
|
2024-05-02 19:20:10 +02:00
|
|
|
* @since 3.0.0
|
Code Modernization: Explicitly declare all properties in `WP_Ajax_Upgrader_Skin`.
Dynamic (non-explicitly declared) properties are deprecated as of PHP 8.2 and are expected to become a fatal error in PHP 9.0.
In this case, the `$plugin_info` and `$theme_info` properties are set in `Plugin_Upgrader::bulk_upgrade()` and `Theme_Upgrader::bulk_upgrade()` specifically.
The `Bulk_Plugin_Upgrader_Skin` class and the `Bulk_Theme_Upgrader_Skin` class both already allow for this, but the `wp_ajax_update_plugin()` and `wp_ajax_update_theme()` functions also call the `*_Upgrader::bulk_upgrade()` methods, so the `WP_Ajax_Upgrader_Skin` class also needs to have these properties explicitly declared.
Includes adding proper DocBlocks for the pre-existing properties in the `Bulk_Plugin_Upgrader_Skin` and the `Bulk_Theme_Upgrader_Skin` classes.
Follow-up to [13686], [37714], [38199], [42677], [42873], [53557], [53558], [53850], [53851], [53852], [53853], [53854], [53856], [53916], [53935], [53936], [53937], [53938], [53942], [53945], [53948], [53949].
Props jrf, costdev.
See #56033.
Built from https://develop.svn.wordpress.org/trunk@53952
git-svn-id: http://core.svn.wordpress.org/trunk@53511 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-08-29 14:46:10 +02:00
|
|
|
* @var array Plugin data. Values will be empty if not supplied by the plugin.
|
|
|
|
*/
|
|
|
|
public $plugin_info = array();
|
2016-05-10 13:11:30 +02:00
|
|
|
|
2024-05-02 19:20:10 +02:00
|
|
|
/**
|
|
|
|
* Sets up the strings used in the update process.
|
|
|
|
*
|
|
|
|
* @since 3.0.0
|
|
|
|
*/
|
2016-05-10 13:11:30 +02:00
|
|
|
public function add_strings() {
|
|
|
|
parent::add_strings();
|
2019-09-03 02:41:05 +02:00
|
|
|
/* translators: 1: Plugin name, 2: Number of the plugin, 3: Total number of plugins being updated. */
|
2017-12-01 00:11:00 +01:00
|
|
|
$this->upgrader->strings['skin_before_update_header'] = __( 'Updating Plugin %1$s (%2$d/%3$d)' );
|
2016-05-10 13:11:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2024-05-02 19:20:10 +02:00
|
|
|
* Performs an action before a bulk plugin update.
|
|
|
|
*
|
|
|
|
* @since 3.0.0
|
|
|
|
*
|
2016-05-10 13:11:30 +02:00
|
|
|
* @param string $title
|
|
|
|
*/
|
2017-12-01 00:11:00 +01:00
|
|
|
public function before( $title = '' ) {
|
|
|
|
parent::before( $this->plugin_info['Title'] );
|
2016-05-10 13:11:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2024-05-02 19:20:10 +02:00
|
|
|
* Performs an action following a bulk plugin update.
|
|
|
|
*
|
|
|
|
* @since 3.0.0
|
|
|
|
*
|
2016-05-10 13:11:30 +02:00
|
|
|
* @param string $title
|
|
|
|
*/
|
2017-12-01 00:11:00 +01:00
|
|
|
public function after( $title = '' ) {
|
|
|
|
parent::after( $this->plugin_info['Title'] );
|
2016-05-10 13:11:30 +02:00
|
|
|
$this->decrement_update_count( 'plugin' );
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2024-05-02 19:20:10 +02:00
|
|
|
* Displays the footer following the bulk update process.
|
|
|
|
*
|
|
|
|
* @since 3.0.0
|
2016-05-10 13:11:30 +02:00
|
|
|
*/
|
|
|
|
public function bulk_footer() {
|
|
|
|
parent::bulk_footer();
|
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 19:13:59 +02:00
|
|
|
|
2017-12-01 00:11:00 +01:00
|
|
|
$update_actions = array(
|
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 19:13:59 +02:00
|
|
|
'plugins_page' => sprintf(
|
|
|
|
'<a href="%s" target="_parent">%s</a>',
|
|
|
|
self_admin_url( 'plugins.php' ),
|
2020-11-09 11:53:10 +01:00
|
|
|
__( 'Go to Plugins page' )
|
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 19:13:59 +02:00
|
|
|
),
|
|
|
|
'updates_page' => sprintf(
|
|
|
|
'<a href="%s" target="_parent">%s</a>',
|
|
|
|
self_admin_url( 'update-core.php' ),
|
2020-11-09 11:53:10 +01:00
|
|
|
__( 'Go to WordPress Updates page' )
|
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 19:13:59 +02:00
|
|
|
),
|
2016-05-10 13:11:30 +02:00
|
|
|
);
|
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 19:13:59 +02:00
|
|
|
|
2017-12-01 00:11:00 +01:00
|
|
|
if ( ! current_user_can( 'activate_plugins' ) ) {
|
2016-05-10 13:11:30 +02:00
|
|
|
unset( $update_actions['plugins_page'] );
|
2017-12-01 00:11:00 +01:00
|
|
|
}
|
2016-05-10 13:11:30 +02:00
|
|
|
|
|
|
|
/**
|
2016-05-22 20:01:30 +02:00
|
|
|
* Filters the list of action links available following bulk plugin updates.
|
2016-05-10 13:11:30 +02:00
|
|
|
*
|
|
|
|
* @since 3.0.0
|
|
|
|
*
|
2018-03-22 21:27:32 +01:00
|
|
|
* @param string[] $update_actions Array of plugin action links.
|
2018-03-23 01:34:29 +01:00
|
|
|
* @param array $plugin_info Array of information for the last-updated plugin.
|
2016-05-10 13:11:30 +02:00
|
|
|
*/
|
|
|
|
$update_actions = apply_filters( 'update_bulk_plugins_complete_actions', $update_actions, $this->plugin_info );
|
|
|
|
|
2017-12-01 00:11:00 +01:00
|
|
|
if ( ! empty( $update_actions ) ) {
|
|
|
|
$this->feedback( implode( ' | ', (array) $update_actions ) );
|
|
|
|
}
|
2016-05-10 13:11:30 +02:00
|
|
|
}
|
|
|
|
}
|