Skip to:
Content

BuddyPress.org

Changeset 3560


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

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

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-xprofile.php

    r3514 r3560  
    840840        global $bp, $wpdb;
    841841
    842         if ( (int)$bp->site_options['bp-disable-profile-sync'] )
     842        if ( !empty( $bp->site_options['bp-disable-profile-sync'] ) && (int)$bp->site_options['bp-disable-profile-sync'] )
    843843                return true;
    844844
  • trunk/bp-xprofile/bp-xprofile-admin.php

    r3370 r3560  
    218218                        $field->is_required = wp_filter_kses( $_POST['required'] );
    219219                        $field->type = wp_filter_kses( $_POST['fieldtype'] );
    220                         $field->order_by = wp_filter_kses( $_POST["sort_order_{$field->type}"] );
     220                        if ( !empty( $_POST["sort_order_{$field->type}"] ) )
     221                                $field->order_by = wp_filter_kses( $_POST["sort_order_{$field->type}"] );
    221222
    222223                        $field->field_order = $wpdb->get_var( $wpdb->prepare( "SELECT field_order FROM {$bp->profile->table_name_fields} WHERE id = %d", $field_id ) );
  • 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                        }
  • trunk/bp-xprofile/bp-xprofile-templatetags.php

    r3499 r3560  
    102102                        $field = &$this->group->fields[$i];
    103103
    104                         if ( $field->data->value != null ) {
     104                        if ( !empty( $field->data ) && $field->data->value != null ) {
    105105                                $has_data = true;
    106106                        }
     
    441441                                $option_values = maybe_unserialize($option_values);
    442442
     443                                $html = '';
    443444                                for ( $k = 0; $k < count($options); $k++ ) {
     445                                        $selected = '';
    444446                                        for ( $j = 0; $j < count($option_values); $j++ ) {
    445447                                                if ( $option_values[$j] == $options[$k]->name || @in_array( $options[$k]->name, $value ) || $options[$k]->is_default_option ) {
Note: See TracChangeset for help on using the changeset viewer.