defined( 'FEP_MESSAGE_TABLE' ) ? FEP_MESSAGE_TABLE : $wpdb->base_prefix . 'fep_messages', 'meta' => defined( 'FEP_META_TABLE' ) ? FEP_META_TABLE : $wpdb->base_prefix . 'fep_messagemeta', 'participants' => defined( 'FEP_PARTICIPANT_TABLE' ) ? FEP_PARTICIPANT_TABLE : $wpdb->base_prefix . 'fep_participants', 'attachments' => defined( 'FEP_ATTACHMENT_TABLE' ) ? FEP_ATTACHMENT_TABLE : $wpdb->base_prefix . 'fep_attachments', ]; foreach ( $fep_tables as $fep_table ) { $wpdb->query( "DROP TABLE IF EXISTS $fep_table" ); } function fep_recursive_remove_directory( $directory ) { foreach ( glob( "{$directory}/*" ) as $file ) { if ( is_dir( $file ) ) { fep_recursive_remove_directory( $file ); } else { unlink( $file ); } } rmdir( $directory ); } // Need to improve delete attachments files for multisite. if( ! is_multisite() ){ $wp_upload_dir = wp_upload_dir(); if ( $wp_upload_dir && false === $wp_upload_dir['error'] ) { fep_recursive_remove_directory( $wp_upload_dir['basedir'] . '/front-end-pm' ); } } // Remove any transients we've left behind $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE '\_transient\_fep\_%'" ); $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE '\_transient\_timeout\_fep\_%'" ); }