Skip to:
Content

BuddyPress.org

Ticket #7795: 7795.2.patch

File 7795.2.patch, 10.9 KB (added by imath, 18 months ago)
  • src/bp-messages/bp-messages-filters.php

    diff --git src/bp-messages/bp-messages-filters.php src/bp-messages/bp-messages-filters.php
    index 8b3404bc2..c04ac6cac 100644
    add_filter( 'bp_get_message_thread_subject', 'wp_filter_kses', 1 ); 
    1818add_filter( 'bp_get_message_thread_excerpt',        'wp_filter_kses', 1 );
    1919add_filter( 'bp_get_messages_subject_value',        'wp_filter_kses', 1 );
    2020add_filter( 'bp_get_messages_content_value',        'wp_filter_kses', 1 );
    21 add_filter( 'bp_get_the_thread_message_content',    'wp_filter_kses', 1 );
    22 
    23 add_filter( 'messages_message_content_before_save', 'wp_filter_kses', 1 );
    2421add_filter( 'messages_message_subject_before_save', 'wp_filter_kses', 1 );
    25 add_filter( 'messages_notice_message_before_save',  'wp_filter_kses', 1 );
    2622add_filter( 'messages_notice_subject_before_save',  'wp_filter_kses', 1 );
    27 
    28 add_filter( 'bp_get_the_thread_message_content',    'wp_filter_kses', 1 );
    2923add_filter( 'bp_get_the_thread_subject',            'wp_filter_kses', 1 );
    3024
     25add_filter( 'bp_get_the_thread_message_content',    'bp_messages_filter_kses', 1 );
     26add_filter( 'messages_message_content_before_save', 'bp_messages_filter_kses', 1 );
     27add_filter( 'messages_notice_message_before_save',  'bp_messages_filter_kses', 1 );
     28add_filter( 'bp_get_message_thread_content',        'bp_messages_filter_kses', 1 );
     29
    3130add_filter( 'messages_message_content_before_save', 'force_balance_tags' );
    3231add_filter( 'messages_message_subject_before_save', 'force_balance_tags' );
    3332add_filter( 'messages_notice_message_before_save',  'force_balance_tags' );
    add_filter( 'bp_get_message_notice_text', 'wptexturize' ); 
    4544add_filter( 'bp_get_message_thread_subject',     'wptexturize' );
    4645add_filter( 'bp_get_message_thread_excerpt',     'wptexturize' );
    4746add_filter( 'bp_get_the_thread_message_content', 'wptexturize' );
     47add_filter( 'bp_get_message_thread_content',     'wptexturize' );
    4848
    4949add_filter( 'bp_get_message_notice_subject',     'convert_smilies', 2 );
    5050add_filter( 'bp_get_message_notice_text',        'convert_smilies', 2 );
    5151add_filter( 'bp_get_message_thread_subject',     'convert_smilies', 2 );
    5252add_filter( 'bp_get_message_thread_excerpt',     'convert_smilies', 2 );
    5353add_filter( 'bp_get_the_thread_message_content', 'convert_smilies', 2 );
     54add_filter( 'bp_get_message_thread_content',     'convert_smilies', 2 );
    5455
    5556add_filter( 'bp_get_message_notice_subject',     'convert_chars' );
    5657add_filter( 'bp_get_message_notice_text',        'convert_chars' );
    5758add_filter( 'bp_get_message_thread_subject',     'convert_chars' );
    5859add_filter( 'bp_get_message_thread_excerpt',     'convert_chars' );
    5960add_filter( 'bp_get_the_thread_message_content', 'convert_chars' );
     61add_filter( 'bp_get_message_thread_content',     'convert_chars' );
    6062
    6163add_filter( 'bp_get_message_notice_text',        'make_clickable', 9 );
    6264add_filter( 'bp_get_the_thread_message_content', 'make_clickable', 9 );
     65add_filter( 'bp_get_message_thread_content',     'make_clickable', 9 );
    6366
    6467add_filter( 'bp_get_message_notice_text',        'wpautop' );
    6568add_filter( 'bp_get_the_thread_message_content', 'wpautop' );
     69add_filter( 'bp_get_message_thread_content',     'wpautop' );
    6670
    67 add_filter( 'bp_get_message_notice_subject',          'stripslashes_deep' );
    68 add_filter( 'bp_get_message_notice_text',             'stripslashes_deep' );
    69 add_filter( 'bp_get_message_thread_subject',          'stripslashes_deep' );
    70 add_filter( 'bp_get_message_thread_excerpt',          'stripslashes_deep' );
    71 add_filter( 'bp_get_message_get_recipient_usernames', 'stripslashes_deep' );
    72 add_filter( 'bp_get_messages_subject_value',          'stripslashes_deep' );
    73 add_filter( 'bp_get_messages_content_value',          'stripslashes_deep' );
    74 add_filter( 'bp_get_the_thread_message_content',      'stripslashes_deep' );
    75 add_filter( 'bp_get_the_thread_subject',              'stripslashes_deep' );
     71add_filter( 'bp_get_message_notice_subject',          'stripslashes_deep'    );
     72add_filter( 'bp_get_message_notice_text',             'stripslashes_deep'    );
     73add_filter( 'bp_get_message_thread_subject',          'stripslashes_deep'    );
     74add_filter( 'bp_get_message_thread_excerpt',          'stripslashes_deep'    );
     75add_filter( 'bp_get_message_get_recipient_usernames', 'stripslashes_deep'    );
     76add_filter( 'bp_get_messages_subject_value',          'stripslashes_deep'    );
     77add_filter( 'bp_get_messages_content_value',          'stripslashes_deep'    );
     78add_filter( 'bp_get_the_thread_message_content',      'stripslashes_deep'    );
     79add_filter( 'bp_get_the_thread_subject',              'stripslashes_deep'    );
     80add_filter( 'bp_get_message_thread_content',          'stripslashes_deep', 1 );
    7681
    7782/**
    7883 * Enforce limitations on viewing private message contents
    function bp_messages_enforce_current_user( $args = array() ) { 
    98103        return $args;
    99104}
    100105add_filter( 'bp_after_has_message_threads_parse_args', 'bp_messages_enforce_current_user', 5 );
     106
     107/**
     108 * Custom kses filtering for message content.
     109 *
     110 * @since 3.0.0
     111 *
     112 * @param string $content The message content.
     113 * @return string         The filtered message content.
     114 */
     115function bp_messages_filter_kses( $content ) {
     116        global $allowedtags;
     117
     118        return wp_kses( $content, array_merge( $allowedtags, array(
     119                'a' => array(
     120                        'aria-label'      => true,
     121                        'class'           => true,
     122                        'data-bp-tooltip' => true,
     123                        'id'              => true,
     124                        'rel'             => true,
     125                        'title'           => true,
     126                ),
     127                'img' => array(
     128                        'src'    => true,
     129                        'alt'    => true,
     130                        'width'  => true,
     131                        'height' => true,
     132                        'class'  => true,
     133                        'id'     => true,
     134                ),
     135                'span'=> array(
     136                        'class'          => true,
     137                        'data-livestamp' => true,
     138                ),
     139                'p'  => true,
     140                'ul' => true,
     141                'ol' => true,
     142                'li' => true,
     143        ) ) );
     144}
  • src/bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php

    diff --git src/bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php src/bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php
    index 8fa9753e8..466d98ec1 100644
     
    3434
    3535<script type="text/html" id="tmpl-bp-messages-editor">
    3636        <?php
    37         // Temporarily filter the editor
    38         add_filter( 'mce_buttons', 'bp_nouveau_mce_buttons', 10, 1 );
     37        // Add a temporary filter on editor buttons
     38        add_filter( 'mce_buttons', 'bp_nouveau_messages_mce_buttons', 10, 1 );
    3939
    4040        wp_editor(
    4141                '',
     
    5151                        'textarea_rows' => 5,
    5252                )
    5353        );
    54         // Temporarily filter the editor
    55         remove_filter( 'mce_buttons', 'bp_nouveau_mce_buttons', 10, 1 );
     54        // Remove the temporary filter on editor buttons
     55        remove_filter( 'mce_buttons', 'bp_nouveau_messages_mce_buttons', 10, 1 );
    5656        ?>
    5757</script>
    5858
  • src/bp-templates/bp-nouveau/css/buddypress-rtl.css

    diff --git src/bp-templates/bp-nouveau/css/buddypress-rtl.css src/bp-templates/bp-nouveau/css/buddypress-rtl.css
    index afeca9358..8f0afc6a0 100644
    body.register .buddypress-wrap .page ul { 
    30643064}
    30653065
    30663066.bp-messages-content #thread-preview .preview-message {
    3067         clear: both;
     3067        overflow: hidden;
    30683068}
    30693069
    30703070.bp-messages-content #thread-preview .preview-content {
    body.register .buddypress-wrap .page ul { 
    31333133}
    31343134
    31353135.bp-messages-content #bp-message-thread-list .message-content {
    3136         clear: both;
     3136        overflow: hidden;
    31373137        margin: 1em auto 0;
    31383138        width: 90%;
    31393139}
  • src/bp-templates/bp-nouveau/css/buddypress.css

    diff --git src/bp-templates/bp-nouveau/css/buddypress.css src/bp-templates/bp-nouveau/css/buddypress.css
    index 5e7528dce..f838f12fe 100644
    body.register .buddypress-wrap .page ul { 
    30643064}
    30653065
    30663066.bp-messages-content #thread-preview .preview-message {
    3067         clear: both;
     3067        overflow: hidden;
    30683068}
    30693069
    30703070.bp-messages-content #thread-preview .preview-content {
    body.register .buddypress-wrap .page ul { 
    31333133}
    31343134
    31353135.bp-messages-content #bp-message-thread-list .message-content {
    3136         clear: both;
     3136        overflow: hidden;
    31373137        margin: 1em auto 0;
    31383138        width: 90%;
    31393139}
  • src/bp-templates/bp-nouveau/includes/messages/functions.php

    diff --git src/bp-templates/bp-nouveau/includes/messages/functions.php src/bp-templates/bp-nouveau/includes/messages/functions.php
    index eb9ad5d0d..4f94917de 100644
    function bp_nouveau_push_sitewide_notices() { 
    299299}
    300300
    301301/**
     302 * Disable the WP Editor buttons not allowed in messages content.
     303 *
    302304 * @since 3.0.0
     305 *
     306 * @param array $buttons The WP Editor buttons list.
     307 * @param array          The filtered WP Editor buttons list.
    303308 */
    304 function bp_nouveau_mce_buttons( $buttons = array() ) {
     309function bp_nouveau_messages_mce_buttons( $buttons = array() ) {
    305310        $remove_buttons = array(
    306311                'wp_more',
    307312                'spellchecker',
    308313                'wp_adv',
    309314                'fullscreen',
     315                'alignleft',
     316                'alignright',
     317                'aligncenter',
     318                'formatselect',
    310319        );
    311320
    312321        // Remove unused buttons
  • src/bp-templates/bp-nouveau/includes/messages/loader.php

    diff --git src/bp-templates/bp-nouveau/includes/messages/loader.php src/bp-templates/bp-nouveau/includes/messages/loader.php
    index f979c5630..3f83163f3 100644
    class BP_Nouveau_Messages { 
    102102
    103103                // Messages
    104104                add_filter( 'bp_messages_admin_nav', 'bp_nouveau_messages_adjust_admin_nav', 10, 1 );
    105 
    106                 remove_filter( 'messages_notice_message_before_save', 'wp_filter_kses', 1 );
    107                 remove_filter( 'messages_message_content_before_save', 'wp_filter_kses', 1 );
    108                 remove_filter( 'bp_get_the_thread_message_content', 'wp_filter_kses', 1 );
    109 
    110                 add_filter( 'messages_notice_message_before_save', 'wp_filter_post_kses', 1 );
    111                 add_filter( 'messages_message_content_before_save', 'wp_filter_post_kses', 1 );
    112                 add_filter( 'bp_get_the_thread_message_content', 'wp_filter_post_kses', 1 );
    113                 add_filter( 'bp_get_message_thread_content', 'wp_filter_post_kses', 1 );
    114                 add_filter( 'bp_get_message_thread_content', 'wptexturize' );
    115                 add_filter( 'bp_get_message_thread_content', 'stripslashes_deep', 1 );
    116                 add_filter( 'bp_get_message_thread_content', 'convert_smilies', 2 );
    117                 add_filter( 'bp_get_message_thread_content', 'convert_chars' );
    118                 add_filter( 'bp_get_message_thread_content', 'make_clickable', 9 );
    119                 add_filter( 'bp_get_message_thread_content', 'wpautop' );
    120105        }
    121106}
    122107
  • src/bp-templates/bp-nouveau/sass/_nouveau_messages.scss

    diff --git src/bp-templates/bp-nouveau/sass/_nouveau_messages.scss src/bp-templates/bp-nouveau/sass/_nouveau_messages.scss
    index 89747071c..a9a44a599 100644
     
    192192                margin-top: $marg-lrg;
    193193
    194194                .preview-message {
    195                         clear: both;
     195                        overflow: hidden;
    196196                }
    197197
    198198                .preview-content {
     
    263263                }
    264264
    265265                .message-content {
    266                         clear: both;
     266                        overflow: hidden;
    267267                        margin: 1em auto 0;
    268268                        width: 90%;
    269269                }