Skip to:
Content

BuddyPress.org

Changeset 2322


Ignore:
Timestamp:
01/17/2010 08:27:37 PM (15 years ago)
Author:
apeatling
Message:

Better support for plugins to hook into ajax functionality in the default theme.

Location:
trunk/bp-themes/bp-default/_inc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-themes/bp-default/_inc/ajax.php

    r2291 r2322  
    1919    $search_terms = esc_attr( $_POST['search_terms'] );
    2020
     21    /* Plugins can pass extra parameters and use the bp_dtheme_ajax_querystring_content_filter filter to parse them */
     22    $extras = esc_attr( $_POST['extras'] );
     23
    2124    if ( __( 'Search anything...', 'buddypress' ) == $search_terms || 'false' == $search_terms )
    2225        $search_terms = false;
    2326
    2427    /* Build the querystring */
    25     if ( 'active' != $filter && 'newest' != $filter && 'popular' != $filter && 'online' != $filter && 'alphabetical' != $filter )
     28    if ( empty( $filter ) )
    2629        $filter = 'active';
    2730
     31    if ( empty( $type ) )
     32        $type = 'all';
     33
    2834    $bp->ajax_querystring = 'type=' . $filter . '&page=' . $page;
    2935
    30     if ( $search_terms )
     36    if ( !empty( $search_terms ) )
    3137        $bp->ajax_querystring .= '&search_terms=' . $search_terms;
    3238
    33     if ( !$type )
    34         $type = 'all';
    35 
    36     if ( ( 'all' != $type ) && !is_user_logged_in() )
    37         $filter = 'all';
    38 
    39     if ( 'all' != $type || $bp->displayed_user->id ) {
     39    if ( $bp->displayed_user->id ) {
    4040        $user_id = ( $bp->displayed_user->id ) ? $bp->displayed_user->id : $bp->loggedin_user->id;
    4141        $bp->ajax_querystring .= '&user_id=' . $user_id;
    4242    }
     43
     44    $bp->ajax_querystring = apply_filters( 'bp_dtheme_ajax_querystring_content_filter', $bp->ajax_querystring, $extras );
    4345
    4446    locate_template( array( "$content/$content-loop.php" ), true );
     
    164166
    165167    if ( !$query_string ) {
    166 
    167168        /* If we are on a profile page we only want to show that users activity */
    168169        if ( $bp->displayed_user->id ) {
     
    238239    $query_string = implode( '&', $new_args ) . '&page=' . $page;
    239240
    240     $bp->ajax_querystring = $query_string;
     241    $bp->ajax_querystring = apply_filters( 'bp_dtheme_ajax_querystring_activity_filter', $query_string, $type );
    241242    $result['query_string'] = $bp->ajax_querystring;
    242     $result['feed_url'] = $feed_url;
     243    $result['feed_url'] = apply_filters( 'bp_dtheme_ajax_feed_url', $feed_url );
    243244
    244245    /* Buffer the loop in the template to a var for JS to spit out. */
  • trunk/bp-themes/bp-default/_inc/global.js

    r2319 r2322  
    1212    /* Members */
    1313    if ( j('div.members').length )
    14         bp_filter_request( j.cookie('bp-members-type'), j.cookie('bp-members-filter'), 'members', 'div.members', j.cookie('bp-members-page'), j.cookie('bp-members-search-terms') );
     14        bp_filter_request( j.cookie('bp-members-type'), j.cookie('bp-members-filter'), 'members', 'div.members', j.cookie('bp-members-page'), j.cookie('bp-members-search-terms'), 'test' );
    1515
    1616    /* Groups */
     
    554554    });
    555555
    556     function bp_filter_request( type, filter, id, target, page, search_terms ) {
     556    function bp_filter_request( type, filter, id, target, page, search_terms, extras ) {
    557557        if ( 'activity' == id )
    558558            return false;
     
    569569        if ( null == search_terms )
    570570            var search_terms = false;
     571
     572        if ( null == extras )
     573            var extras = false;
    571574
    572575        if ( j.query.get('s') )
     
    594597            'page': page,
    595598            'content': id,
    596             'search_terms': search_terms
     599            'search_terms': search_terms,
     600            'extras': extras
    597601        },
    598602        function(response)
Note: See TracChangeset for help on using the changeset viewer.