Skip to:
Content

BuddyPress.org

Ticket #5872: 5872-semicolon-delimiter-2.diff

File 5872-semicolon-delimiter-2.diff, 1.3 KB (added by tw2113, 4 years ago)
  • src/bp-xprofile/bp-xprofile-filters.php

    diff --git src/bp-xprofile/bp-xprofile-filters.php src/bp-xprofile/bp-xprofile-filters.php
    index d5d4f85..d22f67b 100644
    function xprofile_filter_link_profile_data( $field_value, $field_type = 'textbox 
    349349                return $field_value;
    350350        }
    351351
    352         if ( !strpos( $field_value, ',' ) && ( count( explode( ' ', $field_value ) ) > 5 ) ) {
     352        if ( ! strpos( $field_value, ',' ) && ! strpos( $field_value, ';' ) && ( count( explode( ' ', $field_value ) ) > 5 ) ) {
    353353                return $field_value;
    354354        }
    355355
    356         $values = explode( ',', $field_value );
     356        if ( strpos( $field_value, ',' ) ) {
     357                $list_type = 'comma';
     358                $values    = explode( ',', $field_value ); // Comma-separated lists.
     359        } else {
     360                $list_type = 'semicolon';
     361                $values = explode( ';', $field_value ); // Semicolon-separated lists.
     362        }
    357363
    358         if ( !empty( $values ) ) {
     364        if ( ! empty( $values ) ) {
    359365                foreach ( (array) $values as $value ) {
    360366                        $value = trim( $value );
    361367
    function xprofile_filter_link_profile_data( $field_value, $field_type = 'textbox 
    379385                        }
    380386                }
    381387
    382                 $values = implode( ', ', $new_values );
     388                if ( 'comma' === $list_type ) {
     389                        $values = implode( ', ', $new_values );
     390                } else {
     391                        $values = implode( '; ', $new_values );
     392                }
    383393        }
    384394
    385395        return $values;