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() ) ); }