'ids', 'number' => 0, ) ); if ( is_array( $sites ) ) { foreach ( $sites as $site_id ) { switch_to_blog( (int) $site_id ); // phpcs:disable WordPress.DB.DirectDatabaseQuery $wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_dismissed_alerts`" ); $wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_provider_status`" ); $wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_external_results`" ); $wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_media_usage`" ); $wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_media_index`" ); // phpcs:enable WordPress.DB.DirectDatabaseQuery delete_option( 'robotstxt_mediaaudit_db_version' ); delete_option( 'robotstxt_mediaaudit_settings' ); restore_current_blog(); } } // Drop the network mirror table (lives in main site DB, uses base_prefix). // phpcs:ignore WordPress.DB.DirectDatabaseQuery,WordPress.DB.PreparedSQL.InterpolatedNotPrepared $wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->base_prefix}mra_network_index`" ); delete_site_option( 'robotstxt_mediaaudit_network_mode' ); delete_site_option( 'robotstxt_mediaaudit_network_settings' ); } else { // Single-site uninstall. $raw = get_option( 'robotstxt_mediaaudit_settings', array() ); $settings = is_array( $raw ) ? $raw : array(); $delete = ! empty( $settings['delete_on_uninstall'] ); if ( ! $delete ) { return; } // phpcs:disable WordPress.DB.DirectDatabaseQuery $wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_dismissed_alerts`" ); $wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_provider_status`" ); $wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_external_results`" ); $wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_media_usage`" ); $wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_media_index`" ); // phpcs:enable WordPress.DB.DirectDatabaseQuery delete_option( 'robotstxt_mediaaudit_db_version' ); delete_option( 'robotstxt_mediaaudit_settings' ); }