HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //proc/self/cwd/wp-content/plugins/wp-rollback/includes/rollback-action.php
<?php
/**
 * Rollback Action.
 */

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

// Theme rollback.
if ( ! empty( $_GET['theme_file'] ) && file_exists( WP_CONTENT_DIR . '/themes/' . $_GET['theme_file'] ) ) {


	// Theme specific vars.
	$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'] ) ) {

	// This is a plugin rollback.
	$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( $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' );
}