Skip to:
Content

BuddyPress.org

Ticket #7962: 7962.patch

File 7962.patch, 1.6 KB (added by imath, 6 years ago)
  • src/bp-templates/bp-nouveau/js/buddypress-nouveau.js

    diff --git src/bp-templates/bp-nouveau/js/buddypress-nouveau.js src/bp-templates/bp-nouveau/js/buddypress-nouveau.js
    index fbfb23075..83eb0017d 100644
    window.bp = window.bp || {}; 
    161161                        return params;
    162162                },
    163163
     164                /**
     165                 * URL Decode a query variable.
     166                 *
     167                 * @param  {string} qv    The query variable to decode.
     168                 * @param  {object} chars The specific characters to use. Optionnal.
     169                 * @return {string}       The URL decoded variable.
     170                 */
     171                urlDecode: function( qv, chars ) {
     172                        var specialChars = chars || {
     173                                amp: '&',
     174                                lt: '<',
     175                                gt: '>',
     176                                quot: '"',
     177                                '#039': "'"
     178                        };
     179
     180                        return decodeURIComponent( qv.replace( /\+/g, " " ) ).replace( /&([^;]+);/g, function( v, q ) {
     181                                return specialChars[q] || '';
     182                        } );
     183                },
     184
    164185                /**
    165186                 * [ajax description]
    166187                 * @param  {[type]} post_data [description]
    window.bp = window.bp || {}; 
    238259                                return;
    239260                        }
    240261
     262                        // Prepare the search terms for the request
     263                        if ( data.search_terms ) {
     264                                data.search_terms = data.search_terms.replace( /\</g, "&lt;" ).replace( /\>/g, "&gt;" );
     265                        }
     266
    241267                        // Set session's data
    242268                        if ( null !== data.scope ) {
    243269                                this.setStorage( 'bp-' + data.object, 'scope', data.scope );
    window.bp = window.bp || {}; 
    357383                                        }
    358384
    359385                                        if ( search_terms ) {
    360                                                 search_terms = decodeURIComponent( search_terms.replace( /\+/g, ' ' ) );
     386                                                search_terms = self.urlDecode( search_terms );
    361387                                                $( '#buddypress [data-bp-search="' + object + '"] input[type=search]' ).val( search_terms );
    362388                                        }
    363389                                }