<?php if (!defined('ABSPATH')) { exit; } if (!empty($_GET['theme_file']) && file_exists(WP_CONTENT_DIR . '/themes/' . $_GET['theme_file'])) { $title = $_GET['rollback_name']; $nonce = 'upgrade-theme_' . $_GET['theme_file']; $url = 'index.php?page=wp-rollback&theme_file=' . $args['theme_file'] . 'action=upgrade-theme'; $version = $_GET['theme_version']; $theme = $_GET['theme_file']; $upgrader = new WP_Rollback_Theme_Upgrader(new Theme_Upgrader_Skin(compact('title', 'nonce', 'url', 'theme', 'version'))); $result = $upgrader->rollback($_GET['theme_file']); if (!is_wp_error($result) && $result) { do_action('wpr_theme_success', $_GET['theme_file'], $_GET['theme_version']); } else { do_action('wpr_theme_failure', $result); } } elseif (!empty($_GET['plugin_file']) && file_exists(WP_PLUGIN_DIR . '/' . $_GET['plugin_file'])) { $title = $_GET['rollback_name']; $nonce = 'upgrade-plugin_' . $this->plugin_slug; $url = 'index.php?page=wp-rollback&plugin_file=' . esc_url($args['plugin_file']) . 'action=upgrade-plugin'; $plugin = $this->plugin_slug; $version = $args['plugin_version']; $upgrader = new WP_Rollback_Plugin_Upgrader(new Plugin_Upgrader_Skin(compact('title', 'nonce', 'url', 'plugin', 'version'))); $result = $upgrader->rollback(plugin_basename($this->plugin_file)); if (!is_wp_error($result) && $result) { do_action('wpr_plugin_success', $_GET['plugin_file'], $version); } else { do_action('wpr_plugin_failure', $result); } } else { _e('This rollback request is missing a proper query string. Please contact support.', 'wp-rollback'); }