query( "DROP TABLE IF EXISTS {$wpdb->prefix}srah_events" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange -- uninstall removes the plugin's own table and options. $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}ah_events" ); foreach ( array( 'srah_settings', 'srah_db_version', 'srah_backfilled', 'srah_update_fingerprint', 'srah_fail_window', 'srah_file_baseline', 'srah_table_baseline', 'srah_watch_ran', 'srah_watch_note', 'srah_legacy_prefix_done', 'srah_legacy_table_done', 'advance_history_settings', 'advance_history_db_version', 'advance_history_backfilled', 'advance_history_update_fingerprint', 'advance_history_fail_window', ) as $option ) { delete_option( $option ); } $names = array( $wpdb->esc_like( '_transient_srah_' ) . '%', $wpdb->esc_like( '_transient_timeout_srah_' ) . '%', $wpdb->esc_like( '_transient_ah_' ) . '%', $wpdb->esc_like( '_transient_timeout_ah_' ) . '%', ); foreach ( $names as $like ) { // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- uninstall removes the plugin's own table and options. $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->options} WHERE option_name LIKE %s", $like ) ); } $role = get_role( 'administrator' ); if ( $role ) { foreach ( array( 'srah_view', 'srah_manage', 'srah_export', 'srah_delete', 'view_advance_history', 'manage_advance_history', 'export_advance_history', 'delete_advance_history', ) as $cap ) { $role->remove_cap( $cap ); } } } if ( is_multisite() ) { $srah_sites = get_sites( array( 'number' => 0, 'fields' => 'ids', ) ); foreach ( $srah_sites as $srah_site ) { switch_to_blog( (int) $srah_site ); srah_uninstall_site(); restore_current_blog(); } } else { srah_uninstall_site(); } delete_metadata( 'user', 0, 'srah_dismiss_welcome', '', true ); delete_metadata( 'user', 0, 'srah_view', '', true ); delete_metadata( 'user', 0, 'advance_history_dismiss_welcome', '', true ); delete_metadata( 'user', 0, 'advance_history_view', '', true );