Current Path : /storage/v11800/affypharma/public_html/wp-content/plugins/cool-timeline/admin/timeline-addon-page/includes/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/affypharma/public_html/wp-content/plugins/cool-timeline/admin/timeline-addon-page/includes/cool_plugins_downloader.php |
<?php
/**
* This class is used to update/install/rollback a plugin. It extends wordpress core class Plugin_Upgrader
* Due to the use of package & namaspace, class can not be extend requiring file
*
*/
if( !defined( 'ABSPATH' )){
die( 'WordPress enviornment not found!');
}
if( !class_exists( 'Plugin_Upgrader' ) ){
require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
}
class cool_plugins_downloader extends Plugin_Upgrader{
public function rollback($url = null,$action='install'){
$this->init();
$this->upgrade_strings();
add_filter( 'upgrader_pre_install', array( $this, 'deactivate_plugin_before_upgrade' ), 10, 2 );
add_filter( 'upgrader_clear_destination', array( $this, 'delete_old_plugin' ), 10, 4 );
$this->run( array(
'package' => $url,
'destination' => WP_PLUGIN_DIR,
'clear_destination' => true,
'clear_working' => true,
'hook_extra' => array(
'type' => 'plugin',
'action' => $action,
),
) );
remove_filter( 'upgrader_pre_install', array( $this, 'deactivate_plugin_before_upgrade' ) );
remove_filter( 'upgrader_clear_destination', array( $this, 'delete_old_plugin' ) );
if ( ! $this->result || is_wp_error( $this->result ) ) {
return $this->result;
}
return 'Plugin install successful!';
}
}