Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/wp-smush...
File: uninstall.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Remove plugin settings data.
[2] Fix | Delete
*
[3] Fix | Delete
* @since 1.7
[4] Fix | Delete
* @package Smush
[5] Fix | Delete
*/
[6] Fix | Delete
[7] Fix | Delete
use Smush\Core\Settings;
[8] Fix | Delete
[9] Fix | Delete
// If uninstall not called from WordPress exit.
[10] Fix | Delete
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
[11] Fix | Delete
exit();
[12] Fix | Delete
}
[13] Fix | Delete
[14] Fix | Delete
if ( ! class_exists( '\\Smush\\Core\\Settings' ) ) {
[15] Fix | Delete
/* @noinspection PhpIncludeInspection */
[16] Fix | Delete
include_once plugin_dir_path( __FILE__ ) . '/core/class-settings.php';
[17] Fix | Delete
}
[18] Fix | Delete
$keep_data = Settings::get_instance()->get( 'keep_data' );
[19] Fix | Delete
[20] Fix | Delete
// Check if someone want to keep the stats and settings.
[21] Fix | Delete
if ( ( defined( 'WP_SMUSH_PRESERVE_STATS' ) && WP_SMUSH_PRESERVE_STATS ) || true === $keep_data ) {
[22] Fix | Delete
return;
[23] Fix | Delete
}
[24] Fix | Delete
[25] Fix | Delete
global $wpdb;
[26] Fix | Delete
[27] Fix | Delete
$smushit_keys = array(
[28] Fix | Delete
'wp-smush-resmush-list',
[29] Fix | Delete
'wp-smush-nextgen-resmush-list',
[30] Fix | Delete
'wp-smush-resize_sizes',
[31] Fix | Delete
'wp-smush-transparent_png',
[32] Fix | Delete
'wp-smush-image_sizes',
[33] Fix | Delete
'wp-smush-super_smushed',
[34] Fix | Delete
'wp-smush-super_smushed_nextgen',
[35] Fix | Delete
'wp-smush-settings_updated',
[36] Fix | Delete
'wp-smush-hide_update_info',
[37] Fix | Delete
'wp-smush-install-type',
[38] Fix | Delete
'wp-smush-version',
[39] Fix | Delete
'wp-smush-scan',
[40] Fix | Delete
'wp-smush-settings',
[41] Fix | Delete
'wp-smush-cdn_status',
[42] Fix | Delete
'wp-smush-lazy_load',
[43] Fix | Delete
'wp-smush-last_run_sync',
[44] Fix | Delete
'wp-smush-networkwide',
[45] Fix | Delete
'wp-smush-cron_update_running',
[46] Fix | Delete
'wp-smush-dismissed-notices',
[47] Fix | Delete
'wp-smush-show_upgrade_modal',
[48] Fix | Delete
'wp-smush-preset_configs',
[49] Fix | Delete
'wp-smush-webp_hide_wizard',
[50] Fix | Delete
'wp-smush-hide-tutorials',
[51] Fix | Delete
'wp-smush-hide_tutorials_from_bulk_smush', // Possible leftover from 3.8.4.
[52] Fix | Delete
'wp-smush-png2jpg-rewrite-rules-flushed',
[53] Fix | Delete
'wp-smush-optimization-global-stats',
[54] Fix | Delete
'wp-smush-resize-global-stats',
[55] Fix | Delete
'wp-smush-png2jpg-global-stats',
[56] Fix | Delete
'wp_smush_skip_image_sizes_recheck',
[57] Fix | Delete
'wp_smush_image_sizes_state',
[58] Fix | Delete
'wp_smush_global_stats',
[59] Fix | Delete
'wp-smush-optimize-list',
[60] Fix | Delete
'wp-smush-reoptimize-list',
[61] Fix | Delete
'wp-smush-error-items-list',
[62] Fix | Delete
'wp-smush-plugin-activated',
[63] Fix | Delete
'wp_smush_run_optimize_on_scan_completed',
[64] Fix | Delete
'wp-smush-nextgen-reoptimize-list',
[65] Fix | Delete
'wp-smush-nextgen-super-smushed-list',
[66] Fix | Delete
'wp_smush_scan_slice_size',
[67] Fix | Delete
'wp_smush_media_library_last_process',
[68] Fix | Delete
);
[69] Fix | Delete
[70] Fix | Delete
$db_keys = array(
[71] Fix | Delete
'skip-smush-setup',
[72] Fix | Delete
'smush_global_stats',
[73] Fix | Delete
'wp_smush_stats_nextgen',
[74] Fix | Delete
);
[75] Fix | Delete
[76] Fix | Delete
// Cache Keys.
[77] Fix | Delete
$cache_smush_group = array(
[78] Fix | Delete
'exceeding_items',
[79] Fix | Delete
'wp-smush-resize_count',
[80] Fix | Delete
'wp-smush-resize_savings',
[81] Fix | Delete
'wp-smush-pngjpg_savings',
[82] Fix | Delete
'wp-smush-smushed_ids',
[83] Fix | Delete
'media_attachments',
[84] Fix | Delete
'skipped_images',
[85] Fix | Delete
'images_with_backups',
[86] Fix | Delete
'wp-smush-dir_total_stats',
[87] Fix | Delete
);
[88] Fix | Delete
[89] Fix | Delete
$cache_nextgen_group = array(
[90] Fix | Delete
'wp_smush_images',
[91] Fix | Delete
'wp_smush_images_smushed',
[92] Fix | Delete
'wp_smush_images_unsmushed',
[93] Fix | Delete
'wp_smush_stats_nextgen',
[94] Fix | Delete
);
[95] Fix | Delete
[96] Fix | Delete
if ( ! is_multisite() ) {
[97] Fix | Delete
// Delete Options.
[98] Fix | Delete
foreach ( $smushit_keys as $key ) {
[99] Fix | Delete
delete_option( $key );
[100] Fix | Delete
delete_site_option( $key );
[101] Fix | Delete
}
[102] Fix | Delete
[103] Fix | Delete
foreach ( $db_keys as $key ) {
[104] Fix | Delete
delete_option( $key );
[105] Fix | Delete
delete_site_option( $key );
[106] Fix | Delete
}
[107] Fix | Delete
[108] Fix | Delete
// Delete Cache data.
[109] Fix | Delete
foreach ( $cache_smush_group as $s_key ) {
[110] Fix | Delete
wp_cache_delete( $s_key, 'wp-smush' );
[111] Fix | Delete
}
[112] Fix | Delete
[113] Fix | Delete
foreach ( $cache_nextgen_group as $n_key ) {
[114] Fix | Delete
wp_cache_delete( $n_key, 'nextgen' );
[115] Fix | Delete
}
[116] Fix | Delete
[117] Fix | Delete
wp_cache_delete( 'get_image_sizes', 'smush_image_sizes' );
[118] Fix | Delete
[119] Fix | Delete
delete_transient( 'wp-smush-conflict_check' );
[120] Fix | Delete
}
[121] Fix | Delete
[122] Fix | Delete
// Delete Directory Smush stats.
[123] Fix | Delete
delete_option( 'dir_smush_stats' );
[124] Fix | Delete
delete_option( 'wp_smush_scan' );
[125] Fix | Delete
delete_option( 'wp_smush_api_auth' );
[126] Fix | Delete
delete_site_option( 'wp_smush_api_auth' );
[127] Fix | Delete
[128] Fix | Delete
// Delete Post meta.
[129] Fix | Delete
$meta_type = 'post';
[130] Fix | Delete
$meta_key = 'wp-smpro-smush-data';
[131] Fix | Delete
$meta_value = '';
[132] Fix | Delete
$delete_all = true;
[133] Fix | Delete
[134] Fix | Delete
if ( is_multisite() ) {
[135] Fix | Delete
$offset = 0;
[136] Fix | Delete
$limit = 100;
[137] Fix | Delete
while ( $blogs = $wpdb->get_results( "SELECT blog_id FROM {$wpdb->blogs} LIMIT $offset, $limit", ARRAY_A ) ) {
[138] Fix | Delete
if ( $blogs ) {
[139] Fix | Delete
foreach ( $blogs as $blog ) {
[140] Fix | Delete
switch_to_blog( $blog['blog_id'] );
[141] Fix | Delete
delete_metadata( $meta_type, null, $meta_key, $meta_value, $delete_all );
[142] Fix | Delete
delete_metadata( $meta_type, null, 'wp-smush-lossy', '', $delete_all );
[143] Fix | Delete
delete_metadata( $meta_type, null, 'wp-smush-resize_savings', '', $delete_all );
[144] Fix | Delete
delete_metadata( $meta_type, null, 'wp-smush-original_file', '', $delete_all );
[145] Fix | Delete
delete_metadata( $meta_type, null, 'wp-smush-pngjpg_savings', '', $delete_all );
[146] Fix | Delete
[147] Fix | Delete
foreach ( $smushit_keys as $key ) {
[148] Fix | Delete
delete_option( $key );
[149] Fix | Delete
delete_site_option( $key );
[150] Fix | Delete
}
[151] Fix | Delete
[152] Fix | Delete
foreach ( $db_keys as $key ) {
[153] Fix | Delete
delete_option( $key );
[154] Fix | Delete
delete_site_option( $key );
[155] Fix | Delete
}
[156] Fix | Delete
[157] Fix | Delete
// Delete Cache data.
[158] Fix | Delete
foreach ( $cache_smush_group as $s_key ) {
[159] Fix | Delete
wp_cache_delete( $s_key, 'wp-smush' );
[160] Fix | Delete
}
[161] Fix | Delete
[162] Fix | Delete
foreach ( $cache_nextgen_group as $n_key ) {
[163] Fix | Delete
wp_cache_delete( $n_key, 'nextgen' );
[164] Fix | Delete
}
[165] Fix | Delete
[166] Fix | Delete
wp_cache_delete( 'get_image_sizes', 'smush_image_sizes' );
[167] Fix | Delete
}
[168] Fix | Delete
restore_current_blog();
[169] Fix | Delete
}
[170] Fix | Delete
$offset += $limit;
[171] Fix | Delete
}
[172] Fix | Delete
} else {
[173] Fix | Delete
delete_metadata( $meta_type, null, $meta_key, $meta_value, $delete_all );
[174] Fix | Delete
delete_metadata( $meta_type, null, 'wp-smush-lossy', '', $delete_all );
[175] Fix | Delete
delete_metadata( $meta_type, null, 'wp-smush-resize_savings', '', $delete_all );
[176] Fix | Delete
delete_metadata( $meta_type, null, 'wp-smush-original_file', '', $delete_all );
[177] Fix | Delete
delete_metadata( $meta_type, null, 'wp-smush-pngjpg_savings', '', $delete_all );
[178] Fix | Delete
}
[179] Fix | Delete
// Delete Directory smush table.
[180] Fix | Delete
$wpdb->query( "DROP TABLE IF EXISTS {$wpdb->base_prefix}smush_dir_images" );
[181] Fix | Delete
[182] Fix | Delete
// Delete directory scan data.
[183] Fix | Delete
delete_option( 'wp-smush-scan-step' );
[184] Fix | Delete
[185] Fix | Delete
// Delete all WebP images.
[186] Fix | Delete
global $wp_filesystem;
[187] Fix | Delete
if ( is_null( $wp_filesystem ) ) {
[188] Fix | Delete
WP_Filesystem();
[189] Fix | Delete
}
[190] Fix | Delete
[191] Fix | Delete
$upload_dir = wp_get_upload_dir();
[192] Fix | Delete
$webp_dir = dirname( $upload_dir['basedir'] ) . '/smush-webp';
[193] Fix | Delete
$wp_filesystem->delete( $webp_dir, true );
[194] Fix | Delete
[195] Fix | Delete
// Delete WebP test image.
[196] Fix | Delete
$webp_img = $upload_dir['basedir'] . '/smush-webp-test.png';
[197] Fix | Delete
$wp_filesystem->delete( $webp_img );
[198] Fix | Delete
[199] Fix | Delete
// TODO: Add procedure to delete backup files
[200] Fix | Delete
// TODO: Update NextGen Metadata to remove Smush stats on plugin deletion.
[201] Fix | Delete
[202] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function