Skip to:
Content

BuddyPress.org

Changeset 6891


Ignore:
Timestamp:
04/06/2013 06:40:33 PM (12 years ago)
Author:
johnjamesjacoby
Message:

In bp_core_delete_account(), move capability checks into a logged-in user comparison block, to ensure the logged-in user is not trying to delete someone else's account. Props boonegorges. Fixes #4915.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-members/bp-members-functions.php

    r6890 r6891  
    815815        return false;
    816816
    817     // Bail if current user cannot delete any users
    818     if ( ! bp_current_user_can( 'delete_users' ) )
    819         return false;
    820 
    821     // Bail if current user cannot delete this user
    822     if ( ! current_user_can_for_blog( bp_get_root_blog_id(), 'delete_user', $user_id ) )
    823         return false;
     817    // Extra checks if user is not deleting themselves
     818    if ( bp_loggedin_user_id() !== absint( $user_id ) ) {
     819
     820        // Bail if current user cannot delete any users
     821        if ( ! bp_current_user_can( 'delete_users' ) ) {
     822            return false;
     823        }
     824
     825        // Bail if current user cannot delete this user
     826        if ( ! current_user_can_for_blog( bp_get_root_blog_id(), 'delete_user', $user_id ) ) {
     827            return false;
     828        }
     829    }
    824830
    825831    do_action( 'bp_core_pre_delete_account', $user_id );
Note: See TracChangeset for help on using the changeset viewer.