Skip to:
Content

BuddyPress.org

Changeset 3480


Ignore:
Timestamp:
11/23/2010 11:17:59 PM (16 years ago)
Author:
boonebgorges
Message:

Adds parameter to bp_has_activities chain to allow filters to apply only within a given set of activity ids. Fixes activity filtering on Favorites tab. Fixes #2442

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-activity.php

    r3468 r3480  
    609609                'show_hidden' => false, // Show activity items that are hidden site-wide?
    610610                'exclude' => false, // Comma-separated list of activity IDs to exclude
     611                'in' => false, // Comma-separated list or array of activity IDs to which you want to limit the query
    611612
    612613                /**
    … …  
    633634                }
    634635        } else
    635                 $activity = BP_Activity_Activity::get( $max, $page, $per_page, $sort, $search_terms, $filter, $display_comments, $show_hidden, $exclude );
     636                $activity = BP_Activity_Activity::get( $max, $page, $per_page, $sort, $search_terms, $filter, $display_comments, $show_hidden, $exclude, $in );
    636637
    637638        return apply_filters( 'bp_activity_get', $activity, &$r );
  • trunk/bp-activity/bp-activity-classes.php

    r3373 r3480  
    8989        // Static Functions
    9090
    91         function get( $max = false, $page = 1, $per_page = 25, $sort = 'DESC', $search_terms = false, $filter = false, $display_comments = false, $show_hidden = false, $exclude = false ) {
     91        function get( $max = false, $page = 1, $per_page = 25, $sort = 'DESC', $search_terms = false, $filter = false, $display_comments = false, $show_hidden = false, $exclude = false, $in = false ) {
    9292                global $wpdb, $bp;
    9393
    … …  
    121121                if ( $exclude )
    122122                        $where_conditions['exclude'] = "a.id NOT IN ({$exclude})";
     123               
     124                // The specific ids to which you want to limit the query
     125                if ( !empty( $in ) ) {
     126                        if ( is_array( $in ) )
     127                                $in = implode( ',', $in );
     128                        $where_conditions['in'] = "a.id IN ({$in})";
     129                }
    123130
    124131                // Alter the query based on whether we want to show activity item comments in the stream like normal comments or threaded below the activity
  • trunk/bp-activity/bp-activity-templatetags.php

    r3479 r3480  
    1616        var $full_name;
    1717
    18         function bp_activity_template( $page, $per_page, $max, $include, $sort, $filter, $search_terms, $display_comments, $show_hidden, $exclude ) {
     18        function bp_activity_template( $page, $per_page, $max, $include, $sort, $filter, $search_terms, $display_comments, $show_hidden, $exclude, $in ) {
    1919                global $bp;
    2020
    … …  
    3333                // Fetch all activity items
    3434                else
    35                         $this->activities = bp_activity_get( array( 'display_comments' => $display_comments, 'max' => $max, 'per_page' => $this->pag_num, 'page' => $this->pag_page, 'sort' => $sort, 'search_terms' => $search_terms, 'filter' => $filter, 'show_hidden' => $show_hidden, 'exclude' => $exclude ) );
     35                        $this->activities = bp_activity_get( array( 'display_comments' => $display_comments, 'max' => $max, 'per_page' => $this->pag_num, 'page' => $this->pag_page, 'sort' => $sort, 'search_terms' => $search_terms, 'filter' => $filter, 'show_hidden' => $show_hidden, 'exclude' => $exclude, 'in' => $in ) );
    3636
    3737                if ( !$max || $max >= (int)$this->activities['total'] )
    … …  
    144144        $include = false;
    145145        $exclude = false;
     146        $in = false;
    146147        $show_hidden = false;
    147148        $object = false;
    … …  
    170171                'include' => $include, // pass an activity_id or string of IDs comma-separated
    171172                'exclude' => $exclude, // pass an activity_id or string of IDs comma-separated
     173                'in' => $in, // comma-separated list or array of activity IDs among which to search
    172174                'sort' => 'DESC', // sort DESC or ASC
    173175                'page' => 1, // which page to load
    … …  
    232234                                                return false;
    233235
    234                                         $include = implode( ',', (array)$favs );
     236                                        $in = implode( ',', (array)$favs );
    235237                                        break;
    236238                                case 'mentions':
    … …  
    257259                $filter = array( 'user_id' => $user_id, 'object' => $object, 'action' => $action, 'primary_id' => $primary_id, 'secondary_id' => $secondary_id );
    258260
    259         $activities_template = new BP_Activity_Template( $page, $per_page, $max, $include, $sort, $filter, $search_terms, $display_comments, $show_hidden, $exclude );
     261        $activities_template = new BP_Activity_Template( $page, $per_page, $max, $include, $sort, $filter, $search_terms, $display_comments, $show_hidden, $exclude, $in );
    260262
    261263        return apply_filters( 'bp_has_activities', $activities_template->has_activities(), $activities_template );
Note: See TracChangeset for help on using the changeset viewer.