Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
12/22/2010 01:48:36 PM (14 years ago)
Author:
boonebgorges
Message:

Adds rel=nofollow to xprofile data links. Fixes #2696. Fixes a handful of WP_DEBUG errors throughout xprofile.

File:
1 edited

Legend:

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

    r3300 r3560  
    33/* Apply WordPress defined filters */
    44
    5 add_filter( 'bp_get_the_profile_field_value',         'wp_filter_kses', 1 );
    65add_filter( 'bp_get_the_profile_field_name',          'wp_filter_kses', 1 );
    76add_filter( 'bp_get_the_profile_field_edit_value',    'wp_filter_kses', 1 );
     
    3231/* Custom BuddyPress filters */
    3332
     33add_filter( 'bp_get_the_profile_field_value',         'xprofile_filter_kses', 1 );
     34
    3435add_filter( 'bp_get_the_profile_field_value',         'xprofile_filter_format_field_value', 1, 2 );
    3536add_filter( 'bp_get_the_site_member_profile_data',    'xprofile_filter_format_field_value', 1, 2 );
    3637add_filter( 'bp_get_the_profile_field_value',         'xprofile_filter_link_profile_data', 50, 2 );
    3738
    38 add_filter( 'xprofile_data_value_before_save',        'xprofile_sanitize_data_value_before_save', 1, 2 );
     39add_filter( 'xprofile_data_value_before_save',        'xprofile_sanitize_data_value_before_save', 1, 2 );       
     40
     41/**
     42 * xprofile_filter_kses ( $content )
     43 *
     44 * Run profile field values through kses with filterable allowed tags.
     45 *
     46 * @param string $content
     47 * @return string $content
     48 */
     49function xprofile_filter_kses( $content ) {
     50    global $allowedtags;
     51
     52    $xprofile_allowedtags = $allowedtags;
     53    $xprofile_allowedtags['a']['rel']      = array();
     54
     55    $xprofile_allowedtags = apply_filters( 'xprofile_allowed_tags', $xprofile_allowedtags );
     56    return wp_kses( $content, $xprofile_allowedtags );
     57}
    3958
    4059/**
     
    5877    // Filter single value
    5978    if ( !is_array( $field_value ) ) {
    60         $kses_field_value     = wp_filter_kses( $field_value );
    61         $filtered_field_value = force_balance_tags( $kses_field_value );
     79        $kses_field_value     = xprofile_filter_kses( $field_value );
     80        $filtered_field_value = wp_rel_nofollow( force_balance_tags( $kses_field_value ) );
     81        $filtered_field_value = apply_filters( 'xprofile_filtered_data_value_before_save', $filtered_field_value, $field_value );
    6282
    6383    // Filter each array item independently
    6484    } else {
     85        $filtered_values = array();
    6586        foreach ( (array)$field_value as $value ) {
    66             $kses_field_value       = wp_filter_kses( $value );
    67             $filtered_values[] = force_balance_tags( $kses_field_value );
     87            $kses_field_value       = xprofile_filter_kses( $value );
     88            $filtered_value     = wp_rel_nofollow( force_balance_tags( $kses_field_value ) );
     89            $filtered_values[] = apply_filters( 'xprofile_filtered_data_value_before_save', $filtered_value, $value );
     90           
    6891        }
    6992
     
    106129                    $new_values[] = $value;
    107130                } else {
    108                     $new_values[] = '<a href="' . site_url( BP_MEMBERS_SLUG ) . '/?s=' . strip_tags( $value ) . '">' . $value . '</a>';
     131                    $new_values[] = '<a href="' . site_url( BP_MEMBERS_SLUG ) . '/?s=' . strip_tags( $value ) . '" rel="nofollow">' . $value . '</a>';
    109132                }
    110133            }
Note: See TracChangeset for help on using the changeset viewer.