query( "DROP TABLE IF EXISTS {$wpdb->prefix}storepinger_visits, {$wpdb->prefix}storepinger_pageviews" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery $u = wp_upload_dir(); $dir = trailingslashit( $u['basedir'] ) . 'storepinger/'; if ( is_dir( $dir ) ) { foreach ( (array) glob( $dir . '{*,.htaccess}', GLOB_BRACE ) as $f ) { if ( is_file( $f ) ) { wp_delete_file( $f ); } } @rmdir( $dir ); // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged, WordPress.WP.AlternativeFunctions.file_system_operations_rmdir } foreach ( array( 'storepinger_db', 'storepinger_settings', 'storepinger_geo_file', 'storepinger_geo_updated', 'storepinger_llms' ) as $o ) { delete_option( $o ); } $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '\\_transient\\_storepinger\\_%' OR option_name LIKE '\\_transient\\_timeout\\_storepinger\\_%'" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery wp_clear_scheduled_hook( 'storepinger_cleanup' ); } if ( is_multisite() ) { foreach ( get_sites( array( 'fields' => 'ids', 'number' => 0 ) ) as $storepinger_blog ) { switch_to_blog( $storepinger_blog ); storepinger_uninstall_site(); restore_current_blog(); } } else { storepinger_uninstall_site(); }