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 Theme Upgrader Skin for WordPress Theme 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_Theme_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
|
|
|
|
|
|
|
/**
|
|
|
|
* Theme info.
|
|
|
|
*
|
|
|
|
* The Theme_Upgrader::bulk_upgrade() method will fill this in
|
|
|
|
* with info retrieved from the Theme_Upgrader::theme_info() method,
|
|
|
|
* which in turn calls the wp_get_theme() 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 WP_Theme|false The theme's info object, or false.
|
|
|
|
*/
|
|
|
|
public $theme_info = false;
|
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: Theme name, 2: Number of the theme, 3: Total number of themes being updated. */
|
2017-12-01 00:11:00 +01:00
|
|
|
$this->upgrader->strings['skin_before_update_header'] = __( 'Updating Theme %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 theme 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->theme_info->display( 'Name' ) );
|
2016-05-10 13:11:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2024-05-02 19:20:10 +02:00
|
|
|
* Performs an action following a bulk theme 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->theme_info->display( 'Name' ) );
|
2016-05-10 13:11:30 +02:00
|
|
|
$this->decrement_update_count( 'theme' );
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
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
|
|
|
'themes_page' => sprintf(
|
|
|
|
'<a href="%s" target="_parent">%s</a>',
|
|
|
|
self_admin_url( 'themes.php' ),
|
2020-11-09 11:53:10 +01:00
|
|
|
__( 'Go to Themes 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( 'switch_themes' ) && ! current_user_can( 'edit_theme_options' ) ) {
|
2016-05-10 13:11:30 +02:00
|
|
|
unset( $update_actions['themes_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 theme 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 theme action links.
|
2018-02-09 17:22:45 +01:00
|
|
|
* @param WP_Theme $theme_info Theme object for the last-updated theme.
|
2016-05-10 13:11:30 +02:00
|
|
|
*/
|
|
|
|
$update_actions = apply_filters( 'update_bulk_theme_complete_actions', $update_actions, $this->theme_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
|
|
|
}
|
|
|
|
}
|