Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
10/10/2015 04:13:02 PM (9 years ago)
Author:
djpaul
Message:

xprofile: remove is_admin() logic from required field check

The function should return the same thing for everyone, as it’s a
property of the field only (not the field-user combo). In the relevant
places where these functions are used in BP - namely, during form
submission - bp_moderate users are able to bypass the requirement.

This change breaks backwards compatibility in cases where the
field_is_required() functions are called directly, and the plugin
expects the function to return true for bp_moderate users. This is
unlikely, and given that if there were, they’d run into this same bug,
let’s fix it.

Fixes #6520

Props boonebgorges

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-xprofile/bp-xprofile-functions.php

    r10200 r10232  
    541541
    542542function xprofile_check_is_required_field( $field_id ) {
    543     $field = new BP_Xprofile_Field( $field_id );
    544 
    545     // Define locale variable(s).
     543    $field  = new BP_Xprofile_Field( $field_id );
    546544    $retval = false;
    547545
    548     // Super admins can skip required check.
    549     if ( bp_current_user_can( 'bp_moderate' ) && ! is_admin() ) {
    550         $retval = false;
    551 
    552     // All other users will use the field's setting.
    553     } elseif ( isset( $field->is_required ) ) {
     546    if ( isset( $field->is_required ) ) {
    554547        $retval = $field->is_required;
    555548    }
Note: See TracChangeset for help on using the changeset viewer.