PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.5.0
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.5.0
4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 All 149 releases
← All changes | vendor/codeinwp/themeisle-sdk/src/Modules/Rollback.php +4 -37 4.0.33.5.0 View file →
@@ -12,9 +12,8 @@
12 12 namespace ThemeisleSDK\Modules;
13 13
14 14 // Exit if accessed directly.
15 15 use ThemeisleSDK\Common\Abstract_Module;
16 -use ThemeisleSDK\Loader;
17 16 use ThemeisleSDK\Product;
18 17
19 18 if ( ! defined( 'ABSPATH' ) ) {
20 19 exit;
@@ -98,9 +97,9 @@
98 97 * @return array Array of versions.
99 98 */
100 99 private function get_api_versions() {
101 100
102 - $cache_key = $this->product->get_cache_key();
101 + $cache_key = $this->product->get_key() . '_' . preg_replace( '/[^0-9a-zA-Z ]/m', '', $this->product->get_version() ) . 'versions';
103 102 $cache_versions = get_transient( $cache_key );
104 103 if ( false === $cache_versions ) {
105 104 $versions = $this->get_remote_versions();
106 105 set_transient( $cache_key, $versions, 5 * DAY_IN_SECONDS );
@@ -120,10 +119,10 @@
120 119 $url = $this->get_versions_api_url();
121 120 if ( empty( $url ) ) {
122 121 return [];
123 122 }
124 - $response = function_exists( 'vip_safe_wp_remote_get' )
125 - ? vip_safe_wp_remote_get( $url )
123 + $response = function_exists( 'wp_remote_get_wp_remote_get' )
124 + ? wp_remote_get_wp_remote_get( $url )
126 125 : wp_remote_get( $url ); //phpcs:ignore WordPressVIPMinimum.Functions.RestrictedFunctions.wp_remote_get_wp_remote_get
127 126 if ( is_wp_error( $response ) ) {
128 127 return array();
129 128 }
@@ -184,9 +183,9 @@
184 183 $version = $this->get_rollback();
185 184 if ( empty( $version ) ) {
186 185 return $links;
187 186 }
188 - $links[] = '<a href="' . wp_nonce_url( admin_url( 'admin-post.php?action=' . $this->product->get_key() . '_rollback' ), $this->product->get_key() . '_rollback' ) . '">' . sprintf( apply_filters( $this->product->get_key() . '_rollback_label', Loader::$labels['rollback']['cta'] ), $version['version'] ) . '</a>';
187 + $links[] = '<a href="' . wp_nonce_url( admin_url( 'admin-post.php?action=' . $this->product->get_key() . '_rollback' ), $this->product->get_key() . '_rollback' ) . '">' . sprintf( apply_filters( $this->product->get_key() . '_rollback_label', 'Rollback to v%s' ), $version['version'] ) . '</a>';
189 188
190 189 return $links;
191 190 }
192 191
@@ -284,24 +283,8 @@
284 283 $theme = $folder . '/style.css';
285 284 $nonce = 'upgrade-theme_' . $theme;
286 285 $url = 'update.php?action=upgrade-theme&theme=' . urlencode( $theme );
287 286
288 - /**
289 - * The rollback will attach a temporary theme for the rollback to the transient.
290 - * However, when executing the upgrade for the attached theme we need to change the slug to the original theme slug.
291 - * This is because it will use the slug to create a temp folder for the theme used during the upgrade.
292 - */
293 - add_filter(
294 - 'upgrader_package_options',
295 - function ( $options ) use ( $folder, $theme ) {
296 - if ( isset( $options['hook_extra']['theme'] ) && $options['hook_extra']['theme'] === $theme && isset( $options['hook_extra']['temp_backup']['slug'] ) ) {
297 - $options['hook_extra']['temp_backup']['slug'] = $folder;
298 - }
299 -
300 - return $options;
301 - }
302 - );
303 -
304 287 $upgrader = new \Theme_Upgrader( new \Theme_Upgrader_Skin( compact( 'title', 'nonce', 'url', 'theme' ) ) );
305 288 $upgrader->upgrade( $theme );
306 289 delete_transient( $this->product->get_key() . '_warning_rollback' );
307 290 wp_die(
@@ -391,27 +374,11 @@
391 374 );
392 375 }
393 376
394 377 /**
395 - * Fires after the option has been updated.
396 - *
397 - * @param mixed $old_value The old option value.
398 - * @param mixed $value The new option value.
399 - * @param string $option Option name.
400 - */
401 - public function update_active_plugins_action( $old_value, $value, $option ) {
402 - delete_site_transient( 'update_plugins' );
403 - wp_cache_delete( 'plugins', 'plugins' );
404 - }
405 -
406 - /**
407 378 * Set the rollback hook. Strangely, this does not work if placed in the ThemeIsle_SDK_Rollback class, so it is being called from there instead.
408 379 */
409 380 public function add_hooks() {
410 381 add_action( 'admin_post_' . $this->product->get_key() . '_rollback', array( $this, 'start_rollback' ) );
411 382 add_action( 'admin_footer', array( $this, 'add_footer' ) );
412 -
413 - // This hook will be invoked after the plugin activation.
414 - // We use this to force an update of the cache so that Update is present immediate after a rollback.
415 - add_action( 'update_option_active_plugins', array( $this, 'update_active_plugins_action' ), 10, 3 );
416 383 }
417 384 }