query( $wpdb->prepare( 'DROP TABLE IF EXISTS %i', $wpdb->prefix . 'docsino_' . $name ) ); } foreach ( array( 'docsino_db_version', 'docsino_flush_rewrite_rules', 'docsino_settings', 'docsino_email_check', 'docsino_storage_check', 'docsino_link_check', 'docsino_pro_db_version', 'docsino_pro_settings' ) as $option ) { delete_option( $option ); } foreach ( array( 'docsino_review_prompt', 'docsino_show_wp_menu', 'docsino_seen_exit_hint', 'docsino_pro_level', 'docsino_pro_scope', 'docsino_pro_can_delete' ) as $meta ) { delete_metadata( 'user', 0, $meta, '', true ); } foreach ( array( 'docsino_pro_reminders_tick', 'docsino_pro_notify_daily', 'docsino_pro_notify_send' ) as $hook ) { wp_unschedule_hook( $hook ); } foreach ( DOCSINO_Roles::profile_users() as $user ) { $user->remove_cap( 'manage_docs_in_order' ); } remove_role( 'docsino_manager' ); delete_option( 'docsino_delete_data_on_uninstall' ); $role = get_role( 'administrator' ); if ( $role ) { $role->remove_cap( 'manage_docs_in_order' ); } /** * Fires after DocsInOrder's data is removed. DocsInOrder Pro removes its own data here. */ do_action( 'docsino_uninstall_cleanup' ); // Stored client files are deliberately left on disk; delete individual // requests to remove their files. }