/** * Allows a user to completely remove their account from the system * * @package BuddyPress Core * @global object $bp Global BuddyPress settings object * @uses is_super_admin() Checks to see if the user is a site administrator. * @uses nxtmu_delete_user() Deletes a user from the system on multisite installs. * @uses nxt_delete_user() Deletes a user from the system on singlesite installs. */ function bp_core_delete_account($user_id = 0) { global $bp, $nxt_version; if (!$user_id) { $user_id = $bp->loggedin_user->id; } // Make sure account deletion is not disabled if (!empty($bp->site_options['bp-disable-account-deletion']) && !$bp->loggedin_user->is_super_admin) { return false; } // Site admins cannot be deleted if (is_super_admin(bp_core_get_username($user_id))) { return false; } // Specifically handle multi-site environment if (is_multisite()) { if ($nxt_version >= '3.0') { require ABSPATH . '/nxt-admin/includes/ms.php'; } else { require ABSPATH . '/nxt-admin/includes/mu.php'; } require ABSPATH . '/nxt-admin/includes/user.php'; return nxtmu_delete_user($user_id); // Single site user deletion } else { require ABSPATH . '/nxt-admin/includes/user.php'; return nxt_delete_user($user_id); } }
if (!current_user_can('delete_user', $id)) { nxt_die(__('You can’t delete that user.')); } if ($id == $current_user->ID) { $update = 'err_admin_del'; continue; } switch ($_REQUEST['delete_option']) { case 'delete': if (current_user_can('delete_user', $id)) { nxt_delete_user($id); } break; case 'reassign': if (current_user_can('delete_user', $id)) { nxt_delete_user($id, $_REQUEST['reassign_user']); } break; } ++$delete_count; } $redirect = add_query_arg(array('delete_count' => $delete_count, 'update' => $update), $redirect); nxt_redirect($redirect); exit; break; case 'delete': if (is_multisite()) { nxt_die(__('User deletion is not allowed from this screen.')); } check_admin_referer('bulk-users'); if (empty($_REQUEST['users']) && empty($_REQUEST['user'])) {