Changeset 3252
- Timestamp:
- 09/10/2010 11:57:02 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-xprofile/bp-xprofile-filters.php
r2863 r3252 2 2 3 3 /* Apply WordPress defined filters */ 4 add_filter( 'bp_get_the_profile_field_value', 'wp_filter_kses', 1 );5 add_filter( 'bp_get_the_profile_field_name', 'wp_filter_kses', 1 );6 4 7 add_filter( 'bp_get_the_site_member_profile_data', 'wp_filter_kses', 1 ); 8 add_filter( 'xprofile_get_field_data', 'wp_filter_kses', 1 ); 9 add_filter( 'xprofile_field_name_before_save', 'wp_filter_kses', 1 ); 5 add_filter( 'bp_get_the_profile_field_value', 'wp_filter_kses', 1 ); 6 add_filter( 'bp_get_the_profile_field_name', 'wp_filter_kses', 1 ); 7 add_filter( 'bp_get_the_profile_field_edit_value', 'wp_filter_kses', 1 ); 8 add_filter( 'bp_get_the_profile_field_description', 'wp_filter_kses', 1 ); 9 10 add_filter( 'bp_get_the_profile_field_value', 'wptexturize' ); 11 add_filter( 'bp_get_the_profile_field_value', 'convert_smilies', 2 ); 12 add_filter( 'bp_get_the_profile_field_value', 'convert_chars' ); 13 add_filter( 'bp_get_the_profile_field_value', 'wpautop' ); 14 add_filter( 'bp_get_the_profile_field_value', 'make_clickable' ); 15 add_filter( 'bp_get_the_profile_field_value', 'force_balance_tags' ); 16 17 add_filter( 'bp_get_the_profile_field_value', 'stripslashes' ); 18 add_filter( 'bp_get_the_profile_field_edit_value', 'stripslashes' ); 19 add_filter( 'bp_get_the_profile_field_name', 'stripslashes' ); 20 add_filter( 'bp_get_the_profile_field_description', 'stripslashes' ); 21 22 add_filter( 'xprofile_get_field_data', 'wp_filter_kses', 1 ); 23 add_filter( 'xprofile_field_name_before_save', 'wp_filter_kses', 1 ); 10 24 add_filter( 'xprofile_field_description_before_save', 'wp_filter_kses', 1 ); 11 25 12 add_filter( 'bp_get_the_profile_field_edit_value', 'wp_filter_kses', 1 ); 13 add_filter( 'bp_get_the_profile_field_description', 'wp_filter_kses', 1 ); 14 15 add_filter( 'xprofile_field_name_before_save', 'force_balance_tags' ); 26 add_filter( 'xprofile_get_field_data', 'force_balance_tags' ); 27 add_filter( 'xprofile_field_name_before_save', 'force_balance_tags' ); 16 28 add_filter( 'xprofile_field_description_before_save', 'force_balance_tags' ); 17 29 18 add_filter( 'bp_get_the_profile_field_value', 'wptexturize' ); 19 add_filter( 'bp_get_the_profile_field_value', 'convert_smilies', 2 ); 20 add_filter( 'bp_get_the_profile_field_value', 'convert_chars' ); 21 add_filter( 'bp_get_the_profile_field_value', 'wpautop' ); 22 add_filter( 'bp_get_the_profile_field_value', 'make_clickable' ); 23 add_filter( 'bp_get_the_profile_field_value', 'force_balance_tags' ); 24 25 add_filter( 'bp_get_the_site_member_profile_data', 'wptexturize' ); 26 add_filter( 'bp_get_the_site_member_profile_data', 'convert_smilies', 2 ); 27 add_filter( 'bp_get_the_site_member_profile_data', 'convert_chars' ); 28 add_filter( 'bp_get_the_site_member_profile_data', 'make_clickable' ); 29 add_filter( 'bp_get_the_site_member_profile_data', 'force_balance_tags' ); 30 31 add_filter( 'bp_get_the_profile_field_value', 'xprofile_filter_format_field_value', 1, 2 ); 32 add_filter( 'bp_get_the_site_member_profile_data', 'xprofile_filter_format_field_value', 1, 2 ); 33 add_filter( 'bp_get_the_profile_field_value', 'xprofile_filter_link_profile_data', 50, 2 ); 34 35 add_filter( 'bp_get_the_profile_field_edit_value', 'stripslashes' ); 36 add_filter( 'bp_get_the_profile_field_value', 'stripslashes' ); 37 add_filter( 'bp_get_the_profile_field_name', 'stripslashes' ); 38 add_filter( 'xprofile_get_field_data', 'stripslashes' ); 39 add_filter( 'bp_get_the_profile_field_description', 'stripslashes' ); 40 add_filter( 'bp_get_the_site_member_profile_data', 'stripslashes' ); 30 add_filter( 'xprofile_get_field_data', 'stripslashes' ); 41 31 42 32 /* Custom BuddyPress filters */ 33 34 add_filter( 'bp_get_the_profile_field_value', 'xprofile_filter_format_field_value', 1, 2 ); 35 add_filter( 'bp_get_the_site_member_profile_data', 'xprofile_filter_format_field_value', 1, 2 ); 36 add_filter( 'bp_get_the_profile_field_value', 'xprofile_filter_link_profile_data', 50, 2 ); 37 38 add_filter( 'xprofile_data_value_before_save', 'xprofile_sanitize_data_value_before_save', 1, 2 ); 39 40 /** 41 * xprofile_sanitize_data_value_before_save ( $field_value, $field_id ) 42 * 43 * Safely runs profile field data through kses and force_balance_tags. 44 * 45 * @param string $field_value 46 * @param int $field_id 47 * @return string 48 */ 49 function xprofile_sanitize_data_value_before_save ( $field_value, $field_id ) { 50 51 // Return if empty 52 if ( empty( $field_value ) ) 53 return; 54 55 // Filter single value 56 if ( !is_array( $field_value ) ) { 57 $kses_field_value = wp_filter_kses( $field_value ); 58 $filtered_field_value = force_balance_tags( $kses_field_value ); 59 60 // Filter each array item independently 61 } else { 62 foreach ( (array)$field_value as $value ) { 63 $kses_field_value = wp_filter_kses( $value ); 64 $filtered_field_value[] = force_balance_tags( $kses_field_value ); 65 } 66 } 67 68 return $filtered_field_value; 69 } 43 70 44 71 function xprofile_filter_format_field_value( $field_value, $field_type = '' ) { … … 51 78 $field_value = str_replace(']]>', ']]>', $field_value ); 52 79 53 return stripslashes( stripslashes( $field_value ));80 return stripslashes( $field_value ); 54 81 } 55 82 56 83 function xprofile_filter_link_profile_data( $field_value, $field_type = 'textbox' ) { 57 global $bp;58 59 84 if ( 'datebox' == $field_type ) 60 85 return $field_value; … … 66 91 67 92 if ( $values ) { 68 foreach ( (array) 93 foreach ( (array)$values as $value ) { 69 94 $value = trim( $value ); 70 95 71 / * If the value is a URL, skip it and just make it clickable. */96 // If the value is a URL, skip it and just make it clickable. 72 97 if ( preg_match( '@(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)@', $value ) ) { 73 98 $new_values[] = make_clickable( $value ); 74 99 } else { 75 if ( count( explode( ' ', $value ) ) > 5 ) 100 if ( count( explode( ' ', $value ) ) > 5 ) { 76 101 $new_values[] = $value; 77 else 78 $new_values[] = '<a href="' . site_url( $bp->members->slug ) . '/?s=' . strip_tags( $value ) . '">' . $value . '</a>'; 102 } else { 103 $new_values[] = '<a href="' . site_url( BP_MEMBERS_SLUG ) . '/?s=' . strip_tags( $value ) . '">' . $value . '</a>'; 104 } 79 105 } 80 106 } … … 88 114 function xprofile_filter_comments( $comments, $post_id ) { 89 115 foreach( (array)$comments as $comment ) { 90 if ( $comment->user_id ) 116 if ( $comment->user_id ) { 91 117 $user_ids[] = $comment->user_id; 118 } 92 119 } 93 120 … … 103 130 foreach( (array)$comments as $i => $comment ) { 104 131 if ( !empty( $comment->user_id ) ) { 105 if ( !empty( $users[$comment->user_id] ) ) 132 if ( !empty( $users[$comment->user_id] ) ) { 106 133 $comments[$i]->comment_author = $users[$comment->user_id]; 134 } 107 135 } 108 136 }
Note: See TracChangeset
for help on using the changeset viewer.