isDir() ? rmdir( $maintained_log_item->getPathname() ) : wp_delete_file( $maintained_log_item->getPathname() ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_operations_rmdir } rmdir( $maintained_log_dir ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_operations_rmdir } if ( ! is_array( $maintained_log_settings ) || empty( $maintained_log_settings['delete_on_uninstall'] ) ) { return; } global $wpdb; $wpdb->query( $wpdb->prepare( 'DROP TABLE IF EXISTS %i', $wpdb->prefix . 'maintained_log' ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery,WordPress.DB.DirectDatabaseQuery.SchemaChange -- Removes the plugin's own table on uninstall. foreach ( array( 'maintained_log_settings', 'maintained_log_db_version', 'maintained_log_inventory', 'maintained_log_production_url', 'maintained_log_last_report_end', 'maintained_log_last_pending_alert', 'maintained_log_last_backup_reminder', 'maintained_log_perf_queue', 'maintained_log_perf_last_run', 'maintained_log_tech_status', 'maintained_log_public_token', 'maintained_log_report_held_since', 'maintained_log_vuln_index', 'maintained_log_vuln_sync', 'maintained_log_vuln_partial', 'maintained_log_vuln_notified', 'maintained_log_onboarding', 'maintained_log_tech_notes', 'maintained_log_vuln_reviewed', 'maintained_log_cron_last_run', 'maintained_log_cron_last_real', 'maintained_log_cron_watched_since' ) as $maintained_log_option ) { delete_option( $maintained_log_option ); }