ascvh@#%(^-^)V ?host,ip,port,protocol,title,domain,country,city,link,org ???à JFIF x x ?? C ?? C ?à " ?? ?? μ } !1AQa "q2?‘?#B±áR?e$3br? %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz??…???‰?’“”?–—???¢£¤¥|§¨?a23′μ?·?1o??????èéêòó???×?ùúáa?????èéê?òó???÷?ùú?? ?? μ w !1AQ aq"2?B‘?±á #3Rebr?{
File "class-wpo-uninstall.php"
Full Path: /home/zcziejy/ryadselyen/plugins/wp-optimize/includes/class-wpo-uninstall.php
File size: 2.64 KB
MIME-type: text/x-php
Charset: utf-8
<?php
if (!defined('ABSPATH')) die('Access denied.');
if (!class_exists('WPO_Uninstall')) :
class WPO_Uninstall {
/**
* Actions to be performed upon plugin uninstallation
*/
public static function actions() {
WP_Optimize()->get_gzip_compression()->disable();
WP_Optimize()->get_browser_cache()->disable();
WP_Optimize()->get_options()->delete_all_options();
WP_Optimize()->get_minify()->plugin_uninstall();
WP_Optimize()->get_options()->wipe_settings();
WP_Optimize()->delete_transients_and_semaphores();
// Using Updraft_Smush_Manager() throws `Call to undefined function` fatal error
Updraft_Smush_Manager::instance()->delete_log_files();
Updraft_Tasks_Activation::uninstall(WPO_PLUGIN_SLUG);
self::delete_wpo_folder();
$wpo_plugins_table_list = self::get_upload_basedir() . 'wpo-plugins-tables-list.json';
if (is_file($wpo_plugins_table_list)) {
unlink($wpo_plugins_table_list);
}
$htaccess_file = self::get_upload_basedir() . '.htaccess';
if (is_file($htaccess_file) && 0 === filesize($htaccess_file)) {
unlink($htaccess_file);
}
wp_clear_scheduled_hook('wpo_smush_clear_backup_images');
wp_clear_scheduled_hook('wpo_minify_purge_old_cache');
wp_clear_scheduled_hook('process_smush_tasks');
}
/**
* Returns absolute path to uploads folder
*
* @return string
*/
private static function get_upload_basedir() {
$upload_dir = wp_get_upload_dir();
return trailingslashit($upload_dir['basedir']);
}
/**
* Returns an array of sub folders in `uploads/wpo` folder
*
* @return array
*/
private static function get_wpo_sub_folders() {
$sub_folders = array(
'add-type',
'content-digest',
'crash-tester',
'directory-index',
'header-set',
'images',
'module-loaded',
'rewrite',
'server-signature',
);
return apply_filters('wpo_uploads_sub_folders', $sub_folders);
}
/**
* Delete `uploads/wpo` sub folders and if it is empty delete the folder itself
*/
public static function delete_wpo_folder() {
$wpo_folder = self::get_upload_basedir() . trailingslashit('wpo');
require_once WPO_PLUGIN_MAIN_PATH . 'cache/file-based-page-cache-functions.php';
if (is_dir($wpo_folder)) {
$wpo_sub_folders = self::get_wpo_sub_folders();
foreach ($wpo_sub_folders as $folder) {
wpo_delete_files($wpo_folder . $folder);
}
$files = @scandir($wpo_folder); // phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- suppress warning if it arises due to race condition
if (false === $files) return;
if (2 === count($files)) {
@rmdir($wpo_folder); // phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- suppress error due to file permission issues
}
}
}
}
endif;