# plugversions/0.0.2/admin/pr-ajax-admin.php

PlugVersions – Easily roll back to previous versions of your plugins., version 0.0.2. 28 lines.

- Page: https://pluginprobe.com/plugins/plugversions/0.0.2/code/admin/pr-ajax-admin.php
- Raw: https://pluginprobe.com/plugins/plugversions/0.0.2/raw/admin/pr-ajax-admin.php
- Modified: 2022-10-18T20:56:16+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/plugversions/0.0.2/code/admin/pr-ajax-admin.php#L10-L20`.

```php
<?php
defined( 'PLUGIN_REVISIONS_PLUGIN_DIR' ) || exit;

add_action( 'wp_ajax_eos_plugin_reviews_restore_version','eos_plugin_reviews_restore_version' );
//Restore plugin version
function eos_plugin_reviews_restore_version(){
  if( isset( $_POST['nonce'] ) && isset( $_POST['dir'] ) && isset( $_POST['parent_plugin'] ) && wp_verify_nonce( sanitize_text_field( $_POST['nonce'] ),'plugin_reviews_restore_version' ) ){
    $key = eos_plugin_revision_key();
    if( $key ){
      $time = time();
      $dir = sanitize_text_field( $_POST['dir'] );
      $plugin = sanitize_text_field( $_POST['parent_plugin'] );
      $plugin_data = get_plugin_data( dirname( PLUGIN_REVISIONS_PLUGIN_DIR ).'/'.$plugin );
      $version = $plugin_data['Version'];
      $plugin_version = dirname( PLUGIN_REVISIONS_PLUGIN_DIR ).'/pr-'.$key.'-'.sanitize_option( 'upload_path',$version ).'-ver-'.$time.dirname( $plugin );
      $r1 = rename( dirname( PLUGIN_REVISIONS_PLUGIN_DIR ).'/'.dirname( $plugin ),$plugin_version );
      $r2 = rename( dirname( PLUGIN_REVISIONS_PLUGIN_DIR ).'/'.$dir,dirname( PLUGIN_REVISIONS_PLUGIN_DIR ).'/'.dirname( $plugin ) );
      $r3 = rename( $plugin_version,str_replace( $time,'',$plugin_version ) );
      do_action( 'activate_plugin',$plugin );
      do_action( "activate_{$plugin}" );
      do_action( 'activated_plugin', $plugin );
      echo (bool) ( $r1 && $r2 && $r3 );
    }
  }
  die();
  exit;
}

```
