From c24e2a89695d96f9a2add62f1c2012a9d06c7b7b Mon Sep 17 00:00:00 2001 From: Ultimate Member Date: Fri, 4 Dec 2015 01:25:46 +0200 Subject: [PATCH] Improves the code that clears passwords in database --- admin/core/um-admin-actions.php | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/admin/core/um-admin-actions.php b/admin/core/um-admin-actions.php index 42a2e444..c2b3a378 100644 --- a/admin/core/um-admin-actions.php +++ b/admin/core/um-admin-actions.php @@ -270,19 +270,24 @@ } /*** - *** @secure passwords + *** @secure passwords + *** Updated by Bo Carlson (bo@fictiontribe.com) to clear fields in DB without looping users. Much faster. ***/ add_action('um_admin_do_action__um_passwords_secured', 'um_admin_do_action__um_passwords_secured'); function um_admin_do_action__um_passwords_secured( $action ){ - global $ultimatemember; + global $ultimatemember; //ultimate member global object + global $wpdb; //Wordpress DB object + + //die if admin can't manage options if ( !is_admin() || !current_user_can('manage_options') ) die(); - - $users = get_users(); - foreach( $users as $user ) { - delete_user_meta( $user->ID, 'confirm_user_password' ); - update_user_meta( $user->ID, 'submitted', '' ); - } - + + //remove all confirm_user_password from DB + $wpdb->delete($wpdb->usermeta,['meta_key'=>'confirm_user_password']); + + //then reset submitted + $wpdb->update($wpdb->usermeta,['meta_value'=>''],['meta_key'=>'submitted']); + + //then set flag that update is complete and redirect to admin home update_option( 'um_passwords_secured', 1 ); exit( wp_redirect( admin_url() ) ); }