2016-05-10 13:11:30 +02:00
|
|
|
<?php
|
|
|
|
/**
|
2016-05-10 13:31:28 +02:00
|
|
|
* Upgrader API: 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
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Plugin Upgrader Skin for WordPress Plugin Upgrades.
|
|
|
|
*
|
|
|
|
* @since 2.8.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 WP_Upgrader_Skin
|
2016-05-10 13:11:30 +02:00
|
|
|
*/
|
|
|
|
class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
|
2020-07-28 13:57:03 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Holds the plugin slug in the Plugin Directory.
|
|
|
|
*
|
|
|
|
* @since 2.8.0
|
|
|
|
*
|
2020-10-10 21:14:04 +02:00
|
|
|
* @var string
|
2020-07-28 13:57:03 +02:00
|
|
|
*/
|
|
|
|
public $plugin = '';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Whether the plugin is active.
|
|
|
|
*
|
|
|
|
* @since 2.8.0
|
|
|
|
*
|
|
|
|
* @var bool
|
|
|
|
*/
|
|
|
|
public $plugin_active = false;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Whether the plugin is active for the entire network.
|
|
|
|
*
|
|
|
|
* @since 2.8.0
|
|
|
|
*
|
|
|
|
* @var bool
|
|
|
|
*/
|
2016-05-10 13:11:30 +02:00
|
|
|
public $plugin_network_active = false;
|
|
|
|
|
|
|
|
/**
|
2020-07-28 13:57:03 +02:00
|
|
|
* Constructor.
|
|
|
|
*
|
|
|
|
* Sets up the plugin upgrader skin.
|
|
|
|
*
|
|
|
|
* @since 2.8.0
|
|
|
|
*
|
|
|
|
* @param array $args Optional. The plugin upgrader skin arguments to
|
|
|
|
* override default options. Default empty array.
|
2016-05-10 13:11:30 +02:00
|
|
|
*/
|
|
|
|
public function __construct( $args = array() ) {
|
2017-12-01 00:11:00 +01:00
|
|
|
$defaults = array(
|
|
|
|
'url' => '',
|
|
|
|
'plugin' => '',
|
|
|
|
'nonce' => '',
|
|
|
|
'title' => __( 'Update Plugin' ),
|
|
|
|
);
|
|
|
|
$args = wp_parse_args( $args, $defaults );
|
2016-05-10 13:11:30 +02:00
|
|
|
|
|
|
|
$this->plugin = $args['plugin'];
|
|
|
|
|
2017-12-01 00:11:00 +01:00
|
|
|
$this->plugin_active = is_plugin_active( $this->plugin );
|
2016-05-10 13:11:30 +02:00
|
|
|
$this->plugin_network_active = is_plugin_active_for_network( $this->plugin );
|
|
|
|
|
2017-12-01 00:11:00 +01:00
|
|
|
parent::__construct( $args );
|
2016-05-10 13:11:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2020-07-28 13:57:03 +02:00
|
|
|
* Action to perform following a single plugin update.
|
|
|
|
*
|
|
|
|
* @since 2.8.0
|
2016-05-10 13:11:30 +02:00
|
|
|
*/
|
|
|
|
public function after() {
|
|
|
|
$this->plugin = $this->upgrader->plugin_info();
|
2017-12-01 00:11:00 +01:00
|
|
|
if ( ! empty( $this->plugin ) && ! is_wp_error( $this->result ) && $this->plugin_active ) {
|
2016-05-10 13:11:30 +02:00
|
|
|
// Currently used only when JS is off for a single plugin update?
|
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
|
|
|
printf(
|
2019-09-06 08:26:56 +02:00
|
|
|
'<iframe title="%s" style="border:0;overflow:hidden" width="100%%" height="170" src="%s"></iframe>',
|
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
|
|
|
esc_attr__( 'Update progress' ),
|
|
|
|
wp_nonce_url( 'update.php?action=activate-plugin&networkwide=' . $this->plugin_network_active . '&plugin=' . urlencode( $this->plugin ), 'activate-plugin_' . $this->plugin )
|
|
|
|
);
|
2016-05-10 13:11:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
$this->decrement_update_count( 'plugin' );
|
|
|
|
|
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
|
|
|
'activate_plugin' => sprintf(
|
|
|
|
'<a href="%s" target="_parent">%s</a>',
|
|
|
|
wp_nonce_url( 'plugins.php?action=activate&plugin=' . urlencode( $this->plugin ), 'activate-plugin_' . $this->plugin ),
|
|
|
|
__( 'Activate Plugin' )
|
|
|
|
),
|
|
|
|
'plugins_page' => sprintf(
|
|
|
|
'<a href="%s" target="_parent">%s</a>',
|
|
|
|
self_admin_url( 'plugins.php' ),
|
|
|
|
__( 'Return to Plugins page' )
|
|
|
|
),
|
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 ( $this->plugin_active || ! $this->result || is_wp_error( $this->result ) || ! current_user_can( 'activate_plugin', $this->plugin ) ) {
|
2016-05-10 13:11:30 +02:00
|
|
|
unset( $update_actions['activate_plugin'] );
|
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 a single plugin update.
|
2016-05-10 13:11:30 +02:00
|
|
|
*
|
|
|
|
* @since 2.7.0
|
|
|
|
*
|
2018-03-22 21:27:32 +01:00
|
|
|
* @param string[] $update_actions Array of plugin action links.
|
|
|
|
* @param string $plugin Path to the plugin file relative to the plugins directory.
|
2016-05-10 13:11:30 +02:00
|
|
|
*/
|
|
|
|
$update_actions = apply_filters( 'update_plugin_complete_actions', $update_actions, $this->plugin );
|
|
|
|
|
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
|
|
|
}
|
|
|
|
}
|