Salsox revokes it, and the * Developers page in Salsox lists it until then. * * @package Salsox */ if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) { exit; } /** * Removes one site's data. */ function salsox_uninstall_site() { global $wpdb; delete_option( 'salsox_api_key' ); delete_option( 'salsox_settings' ); delete_option( 'salsox_log' ); delete_option( 'salsox_db_version' ); delete_transient( 'salsox_account' ); delete_transient( 'salsox_templates' ); // The limit counters' table (see includes/class-salsox-limits.php). // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange -- Removes the plugin's own table on uninstall. $wpdb->query( $wpdb->prepare( 'DROP TABLE IF EXISTS %i', $wpdb->prefix . 'salsox_limits' ) ); // The 1.0.0 limit counters have generated names (salsox_v_…, salsox_e_…, salsox_day_…). // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- One-off cleanup of this plugin's own rows on uninstall. $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->options} WHERE option_name LIKE %s OR option_name LIKE %s", $wpdb->esc_like( '_transient_salsox_' ) . '%', $wpdb->esc_like( '_transient_timeout_salsox_' ) . '%' ) ); } if ( is_multisite() ) { foreach ( get_sites( array( 'fields' => 'ids' ) ) as $salsox_site_id ) { switch_to_blog( $salsox_site_id ); salsox_uninstall_site(); restore_current_blog(); } } else { salsox_uninstall_site(); }