Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
10/07/2015 03:34:32 PM (9 years ago)
Author:
boonebgorges
Message:

Pass field ID to xprofile field type filter methods.

display_filter() and pre_validate_filter() are more useful if they receive
the field ID. So we pass it, when available.

See #5625.

File:
1 edited

Legend:

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

    r10200 r10203  
    2727add_filter( 'bp_get_the_profile_field_value',           'convert_smilies', 9 );
    2828add_filter( 'bp_get_the_profile_field_value',           'xprofile_filter_format_field_value',         1, 2 );
    29 add_filter( 'bp_get_the_profile_field_value',           'xprofile_filter_format_field_value_by_type', 8, 2 );
    30 add_filter( 'bp_get_the_profile_field_value',           'xprofile_filter_link_profile_data',          9, 2 );
     29add_filter( 'bp_get_the_profile_field_value',           'xprofile_filter_format_field_value_by_type', 8, 3 );
     30add_filter( 'bp_get_the_profile_field_value',           'xprofile_filter_link_profile_data',          9, 3 );
    3131
    3232add_filter( 'bp_get_the_profile_field_edit_value',      'force_balance_tags' );
     
    216216
    217217/**
    218  * Apply display_filter() filters as defined by the BP_XProfile_Field_Type classes, when fetched inside
    219  * a bp_has_profile() loop.
     218 * Apply display_filter() filters as defined by BP_XProfile_Field_Type classes, when inside a bp_has_profile() loop.
    220219 *
    221220 * @since 2.1.0
     221 * @since 2.4.0 Added `$field_id` parameter.
    222222 *
    223223 * @param mixed  $field_value Field value.
    224224 * @param string $field_type  Field type.
     225 * @param int    $field_id    Optional. ID of the field.
    225226 *
    226227 * @return mixed
    227228 */
    228 function xprofile_filter_format_field_value_by_type( $field_value, $field_type = '' ) {
     229function xprofile_filter_format_field_value_by_type( $field_value, $field_type = '', $field_id = '' ) {
    229230    foreach ( bp_xprofile_get_field_types() as $type => $class ) {
    230231        if ( $type !== $field_type ) {
     
    233234
    234235        if ( method_exists( $class, 'display_filter' ) ) {
    235             $field_value = call_user_func( array( $class, 'display_filter' ), $field_value );
     236            $field_value = call_user_func( array( $class, 'display_filter' ), $field_value, $field_id );
    236237        }
    237238    }
     
    253254function xprofile_filter_format_field_value_by_field_id( $field_value, $field_id ) {
    254255    $field = xprofile_get_field( $field_id );
    255     return xprofile_filter_format_field_value_by_type( $field_value, $field->type );
     256    return xprofile_filter_format_field_value_by_type( $field_value, $field->type, $field_id );
    256257}
    257258
Note: See TracChangeset for help on using the changeset viewer.