118 lines
4.1 KiB
PHP
118 lines
4.1 KiB
PHP
<?php
|
|
|
|
// If uninstall not called from WordPress, then exit.
|
|
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
|
|
exit;
|
|
}
|
|
|
|
function wpvivid_clear_free_dir($directory){
|
|
if(file_exists($directory)){
|
|
if($dir_handle=@opendir($directory)){
|
|
while($filename=readdir($dir_handle)){
|
|
if($filename!='.' && $filename!='..'){
|
|
$subFile=$directory."/".$filename;
|
|
if(is_dir($subFile)){
|
|
wpvivid_clear_free_dir($subFile);
|
|
}
|
|
if(is_file($subFile)){
|
|
wp_delete_file($subFile);
|
|
}
|
|
}
|
|
}
|
|
closedir($dir_handle);
|
|
rmdir($directory);
|
|
}
|
|
}
|
|
}
|
|
|
|
$wpvivid_common_setting = get_option('wpvivid_common_setting', array());
|
|
if(!empty($wpvivid_common_setting))
|
|
{
|
|
if(isset($wpvivid_common_setting['uninstall_clear_folder']) && $wpvivid_common_setting['uninstall_clear_folder'])
|
|
{
|
|
$wpvivid_local_setting = get_option('wpvivid_local_setting', array());
|
|
if(isset($wpvivid_local_setting['path']))
|
|
{
|
|
if($wpvivid_local_setting['path'] !== 'wpvividbackups')
|
|
{
|
|
wpvivid_clear_free_dir(WP_CONTENT_DIR.DIRECTORY_SEPARATOR.'wpvividbackups');
|
|
}
|
|
$wpvivid_local_setting['path']=basename($wpvivid_local_setting['path']);
|
|
$source_array=array('.', '..', 'plugins', 'themes', 'uploads');
|
|
if(!empty($wpvivid_local_setting['path']) && !in_array($wpvivid_local_setting['path'], $source_array))
|
|
{
|
|
if(is_dir(WP_CONTENT_DIR.DIRECTORY_SEPARATOR.$wpvivid_local_setting['path']))
|
|
{
|
|
wpvivid_clear_free_dir(WP_CONTENT_DIR.DIRECTORY_SEPARATOR.$wpvivid_local_setting['path']);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
wpvivid_clear_free_dir(WP_CONTENT_DIR.DIRECTORY_SEPARATOR.'wpvividbackups');
|
|
}
|
|
}
|
|
}
|
|
|
|
delete_option('wpvivid_schedule_setting');
|
|
delete_option('wpvivid_email_setting');
|
|
delete_option('wpvivid_compress_setting');
|
|
delete_option('wpvivid_local_setting');
|
|
delete_option('wpvivid_upload_setting');
|
|
delete_option('wpvivid_common_setting');
|
|
delete_option('wpvivid_backup_list');
|
|
delete_option('wpvivid_task_list');
|
|
delete_option('wpvivid_init');
|
|
delete_option('wpvivid_remote_init');
|
|
delete_option('wpvivid_last_msg');
|
|
delete_option('wpvivid_download_cache');
|
|
delete_option('wpvivid_download_task');
|
|
delete_option('wpvivid_user_history');
|
|
delete_option('wpvivid_saved_api_token');
|
|
delete_option('wpvivid_import_list_cache');
|
|
delete_option('wpvivid_importer_task_list');
|
|
delete_option('wpvivid_list_cache');
|
|
delete_option('wpvivid_exporter_task_list');
|
|
delete_option('wpvivid_need_review');
|
|
delete_option('wpvivid_review_msg');
|
|
delete_option('wpvivid_review_time');
|
|
delete_option('wpvivid_review_type');
|
|
delete_option('wpvivid_migrate_status');
|
|
delete_option('clean_task');
|
|
delete_option('cron_backup_count');
|
|
delete_option('wpvivid_backup_success_count');
|
|
delete_option('wpvivid_backup_error_array');
|
|
delete_option('wpvivid_amazons3_notice');
|
|
delete_option('wpvivid_hide_mwp_tab_page_v1');
|
|
delete_option('wpvivid_hide_wp_cron_notice');
|
|
delete_option('wpvivid_transfer_error_array');
|
|
delete_option('wpvivid_transfer_success_count');
|
|
delete_option('wpvivid_api_token');
|
|
delete_option('wpvivid_download_task_v2');
|
|
delete_option('wpvivid_export_list');
|
|
delete_option('wpvivid_backup_report');
|
|
|
|
$options=get_option('wpvivid_staging_options',array());
|
|
$staging_keep_setting=isset($options['staging_keep_setting']) ? $options['staging_keep_setting'] : true;
|
|
if($staging_keep_setting)
|
|
{
|
|
|
|
}
|
|
else
|
|
{
|
|
delete_option('wpvivid_staging_task_list');
|
|
delete_option('wpvivid_staging_task_cancel');
|
|
delete_option('wpvivid_staging_options');
|
|
delete_option('wpvivid_staging_history');
|
|
delete_option('wpvivid_staging_list');
|
|
}
|
|
|
|
define('WPVIVID_MAIN_SCHEDULE_EVENT','wpvivid_main_schedule_event');
|
|
|
|
if(wp_get_schedule(WPVIVID_MAIN_SCHEDULE_EVENT))
|
|
{
|
|
wp_clear_scheduled_hook(WPVIVID_MAIN_SCHEDULE_EVENT);
|
|
$timestamp = wp_next_scheduled(WPVIVID_MAIN_SCHEDULE_EVENT);
|
|
wp_unschedule_event($timestamp,WPVIVID_MAIN_SCHEDULE_EVENT);
|
|
}
|