Skip to:
Content

BuddyPress.org

Changeset 2356


Ignore:
Timestamp:
01/19/2010 02:06:25 PM (17 years ago)
Author:
apeatling
Message:

Fixes #1582 - missing activity favorites RSS feed.

Location:
trunk
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-activity.php

    r2344 r2356  
    370370add_action( 'wp', 'bp_activity_action_mentions_feed', 3 );
    371371
     372function bp_activity_action_favorites_feed() {
     373        global $bp, $wp_query;
     374
     375        if ( $bp->current_component != $bp->activity->slug || !$bp->displayed_user->id || $bp->current_action != 'favorites' || $bp->action_variables[0] != 'feed' )
     376                return false;
     377
     378        $wp_query->is_404 = false;
     379        status_header( 200 );
     380
     381        include_once( 'bp-activity/feeds/bp-activity-favorites-feed.php' );
     382        die;
     383}
     384add_action( 'wp', 'bp_activity_action_favorites_feed', 3 );
    372385
    373386/********************************************************************************
     
    691704
    692705function bp_activity_get_user_favorites( $user_id ) {
    693         global $bp;
    694 
    695706        $my_favs = maybe_unserialize( get_usermeta( $user_id, 'bp_favorite_activities' ) );
    696707        $existing_favs = bp_activity_get_specific( array( 'activity_ids' => $my_favs ) );
  • trunk/bp-activity/bp-activity-classes.php

    r2331 r2356  
    218218                        $pag_sql = $wpdb->prepare( "LIMIT %d, %d", intval( ( $page - 1 ) * $per_page ), intval( $per_page ) );
    219219
    220                 if ( $max )
    221                         $max_sql = $wpdb->prepare( "LIMIT %d", $max );
    222 
    223220                /* Searching */
    224221                if ( $search_terms ) {
     
    249246                        $activities = $wpdb->get_results( $wpdb->prepare( "{$select_sql} {$from_sql} {$where_sql} ORDER BY a.date_recorded {$sort} {$pag_sql}" ) );
    250247                else
    251                         $activities = $wpdb->get_results( $wpdb->prepare( "{$select_sql} {$from_sql} {$where_sql} ORDER BY a.date_recorded {$sort} {$pag_sql} {$max_sql}" ) );
    252 
    253                 $total_activities = $wpdb->get_var( $wpdb->prepare( "SELECT count(a.id) {$from_sql} {$where_sql} ORDER BY a.date_recorded {$sort} {$max_sql}" ) );
     248                        $activities = $wpdb->get_results( $wpdb->prepare( "{$select_sql} {$from_sql} {$where_sql} ORDER BY a.date_recorded {$sort} {$pag_sql}" ) );
     249
     250                $total_activities = $wpdb->get_var( $wpdb->prepare( "SELECT count(a.id) {$from_sql} {$where_sql} ORDER BY a.date_recorded {$sort}" ) );
    254251
    255252                if ( $activities && $display_comments )
    256253                        $activities = BP_Activity_Activity::append_comments( &$activities );
    257254
     255                /* If $max is set, only return up to the max results */
     256                if ( (int)$total_activities > (int)$max )
     257                        $total_activities = $max;
     258
    258259                return array( 'activities' => $activities, 'total' => (int)$total_activities );
    259260        }
     
    270271                        $pag_sql = $wpdb->prepare( "LIMIT %d, %d", intval( ( $page - 1 ) * $per_page ), intval( $per_page ) );
    271272
    272                 if ( $max )
    273                         $max_sql = $wpdb->prepare( "LIMIT %d", $max );
    274 
    275273                if ( $sort != 'ASC' && $sort != 'DESC' )
    276274                        $sort = 'DESC';
    277275
    278                 $activities = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$bp->activity->table_name} WHERE id IN ({$activity_ids}) ORDER BY date_recorded {$sort} $pag_sql $max_sql" ) );
     276                $activities = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$bp->activity->table_name} WHERE id IN ({$activity_ids}) ORDER BY date_recorded {$sort} $pag_sql" ) );
    279277                $total_activities = $wpdb->get_var( $wpdb->prepare( "SELECT count(id) FROM {$bp->activity->table_name} WHERE id IN ({$activity_ids})" ) );
    280278
    281279                if ( $display_comments )
    282280                        $activities = BP_Activity_Activity::append_comments( $activities );
     281
     282                /* If $max is set, only return up to the max results */
     283                if ( !empty( $max ) ) {
     284                        if ( (int)$total_activities > (int)$max )
     285                                $total_activities = $max;
     286                }
    283287
    284288                return array( 'activities' => $activities, 'total' => (int)$total_activities );
  • trunk/bp-themes/bp-default/_inc/ajax.php

    r2354 r2356  
    194194                                        $favorite_ids = implode( ',', (array)$favs );
    195195                                        $query_string = 'include=' . $favorite_ids;
    196                                         $feed_url = $bp->loggedin_user->domain  . BP_ACTIVITY_SLUG . '/my-favorites/feed/';
     196                                        $feed_url = $bp->loggedin_user->domain  . BP_ACTIVITY_SLUG . '/favorites/feed/';
    197197                                        break;
    198198                                case 'atme':
Note: See TracChangeset for help on using the changeset viewer.