Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
05/14/2016 04:52:11 PM (8 years ago)
Author:
r-a-y
Message:

Emails: Ensure that the email subject is HTML entity-decoded.

Fixes an issue when using email tokens that contain HTML special characters
in the email subject.

Fixes #6966 (2.5-branch)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.5/src/bp-core/bp-core-filters.php

    r10616 r10760  
    5959add_filter( 'bp_email_set_content_plaintext', 'wp_strip_all_tags', 6 );
    6060add_filter( 'bp_email_set_subject', 'sanitize_text_field', 6 );
    61 
    6261
    6362/**
     
    354353 * @since 2.5.0
    355354 *
    356  * @param string $retval Current email content.
    357  * @param string $prop   Email property to check against.
    358  */
    359 function bp_email_plaintext_entity_decode( $retval, $prop ) {
    360     if ( 'content_plaintext' !== $prop ) {
    361         return $retval;
    362     }
    363 
    364     return html_entity_decode( $retval, ENT_QUOTES );
    365 }
    366 add_filter( 'bp_email_get_property', 'bp_email_plaintext_entity_decode', 10, 2 );
     355 * @param string $retval    Current email content.
     356 * @param string $prop      Email property to check against.
     357 * @param string $transform Either 'raw' or 'replace-tokens'.
     358 */
     359function bp_email_plaintext_entity_decode( $retval, $prop, $transform ) {
     360    switch ( $prop ) {
     361        case 'content_plaintext' :
     362        case 'subject' :
     363            // Only decode if 'replace-tokens' is the current type.
     364            if ( 'replace-tokens' === $transform ) {
     365                return html_entity_decode( $retval, ENT_QUOTES );
     366            } else {
     367                return $retval;
     368            }
     369            break;
     370
     371        default :
     372            return $retval;
     373            break;
     374    }
     375}
     376add_filter( 'bp_email_get_property', 'bp_email_plaintext_entity_decode', 10, 3 );
    367377
    368378/**
Note: See TracChangeset for help on using the changeset viewer.