SpaceBay\Core\Capabilities::MODERATE, 'fields' => 'all', ) ) as $spacebay_user ) { $spacebay_user->remove_cap( SpaceBay\Core\Capabilities::MODERATE ); } $options = array( 'spacebay_settings', 'spacebay_db_version', 'spacebay_installed_at', 'spacebay_flush_rewrite', 'spacebay_activation_redirect', 'spacebay_setup_done', 'spacebay_points_backfilled', 'spacebay_demo_spaces', 'spacebay_demo_topics', 'spacebay_demo_posts', 'spacebay_demo_conversations', 'spacebay_demo_events', ); foreach ( $options as $option ) { delete_option( $option ); } delete_transient( 'spacebay_admin_stats' ); delete_option( 'spacebay_profile_fields' ); wp_unschedule_hook( 'spacebay_send_notification_email' ); wp_unschedule_hook( 'spacebay_notification_emails' ); wp_unschedule_hook( 'spacebay_message_email' ); wp_clear_scheduled_hook( 'spacebay_daily' ); wp_clear_scheduled_hook( 'spacebay_event_reminders' ); wp_unschedule_hook( 'spacebay_event_notify' ); // Remove uploaded member images: public ones and the private folder. $uploads = wp_get_upload_dir(); foreach ( array( 'spacebay', 'spacebay-private' ) as $spacebay_folder ) { $folder = trailingslashit( $uploads['basedir'] ) . $spacebay_folder; if ( is_dir( $folder ) ) { global $wp_filesystem; require_once ABSPATH . 'wp-admin/includes/file.php'; if ( WP_Filesystem() ) { $wp_filesystem->rmdir( $folder, true ); } } } delete_option( 'spacebay_private_media_dir' ); // Remove cached link previews and rate-limit counters. $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching $wpdb->prepare( "DELETE FROM {$wpdb->options} WHERE option_name LIKE %s OR option_name LIKE %s", $wpdb->esc_like( '_transient_spacebay_' ) . '%', $wpdb->esc_like( '_transient_timeout_spacebay_' ) . '%' ) ); // Remove this site's user settings; keys are "{site prefix}spacebay_*". $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching $wpdb->prepare( "DELETE FROM {$wpdb->usermeta} WHERE meta_key LIKE %s", $wpdb->esc_like( $wpdb->get_blog_prefix() . 'spacebay_' ) . '%' ) ); // Unprefixed keys are shared by every site of a network, so they are only removed on single sites. if ( ! is_multisite() ) { $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching $wpdb->prepare( "DELETE FROM {$wpdb->usermeta} WHERE meta_key LIKE %s", $wpdb->esc_like( 'spacebay_' ) . '%' ) ); } } if ( is_multisite() ) { $spacebay_site_ids = get_sites( array( 'fields' => 'ids', 'number' => 0, ) ); foreach ( $spacebay_site_ids as $spacebay_site_id ) { switch_to_blog( $spacebay_site_id ); spacebay_uninstall_site(); restore_current_blog(); } } else { spacebay_uninstall_site(); }