Skip to:
Content

BuddyPress.org

Changeset 2356


Ignore:
Timestamp:
01/19/2010 02:06:25 PM (16 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.