Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
02/07/2010 08:05:19 PM (17 years ago)
Author:
apeatling
Message:

Fixing missing cache calls.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-activity/bp-activity-classes.php

    r2616 r2619  
    335335                global $wpdb, $bp;
    336336
    337                 /* Select the user's fullname with the query so we don't have to fetch it for each comment */
    338                 if ( function_exists( 'xprofile_install' ) ) {
    339                         $fullname_select = ", pd.value as user_fullname";
    340                         $fullname_from = ", {$bp->profile->table_name_data} pd ";
    341                         $fullname_where = "AND pd.user_id = a.user_id AND pd.field_id = 1";
    342                 }
    343 
    344                 /* Retrieve all descendants of the $root node */
    345                 $descendants = $wpdb->get_results( $wpdb->prepare( "SELECT a.*, u.user_email, u.user_nicename, u.user_login, u.display_name{$fullname_select} FROM {$bp->activity->table_name} a, {$wpdb->users} u{$fullname_from} WHERE u.ID = a.user_id {$fullname_where} AND a.type = 'activity_comment' AND a.item_id = %d AND a.mptt_left BETWEEN %d AND %d ORDER BY a.date_recorded ASC", $activity_id, $left, $right ) );
    346 
    347                 /* Loop descendants and build an assoc array */
    348                 foreach ( (array)$descendants as $d ) {
    349                     $d->children = array();
    350 
    351                         /* If we have a reference on the parent */
    352                     if ( isset( $ref[ $d->secondary_item_id ] ) ) {
    353                         $ref[ $d->secondary_item_id ]->children[ $d->id ] = $d;
    354                         $ref[ $d->id ] =& $ref[ $d->secondary_item_id ]->children[ $d->id ];
    355 
    356                         /* If we don't have a reference on the parent, put in the root level */
    357                     } else {
    358                         $menu[ $d->id ] = $d;
    359                         $ref[ $d->id ] =& $menu[ $d->id ];
    360                     }
    361                 }
    362 
    363                 return $menu;
     337                if ( !$comments = wp_cache_get( 'bp_activity_comments_' . $activity_id ) ) {
     338                        /* Select the user's fullname with the query so we don't have to fetch it for each comment */
     339                        if ( function_exists( 'xprofile_install' ) ) {
     340                                $fullname_select = ", pd.value as user_fullname";
     341                                $fullname_from = ", {$bp->profile->table_name_data} pd ";
     342                                $fullname_where = "AND pd.user_id = a.user_id AND pd.field_id = 1";
     343                        }
     344
     345                        /* Retrieve all descendants of the $root node */
     346                        $descendants = $wpdb->get_results( $wpdb->prepare( "SELECT a.*, u.user_email, u.user_nicename, u.user_login, u.display_name{$fullname_select} FROM {$bp->activity->table_name} a, {$wpdb->users} u{$fullname_from} WHERE u.ID = a.user_id {$fullname_where} AND a.type = 'activity_comment' AND a.item_id = %d AND a.mptt_left BETWEEN %d AND %d ORDER BY a.date_recorded ASC", $activity_id, $left, $right ) );
     347
     348                        /* Loop descendants and build an assoc array */
     349                        foreach ( (array)$descendants as $d ) {
     350                            $d->children = array();
     351
     352                                /* If we have a reference on the parent */
     353                            if ( isset( $ref[ $d->secondary_item_id ] ) ) {
     354                                $ref[ $d->secondary_item_id ]->children[ $d->id ] = $d;
     355                                $ref[ $d->id ] =& $ref[ $d->secondary_item_id ]->children[ $d->id ];
     356
     357                                /* If we don't have a reference on the parent, put in the root level */
     358                            } else {
     359                                $comments[ $d->id ] = $d;
     360                                $ref[ $d->id ] =& $comments[ $d->id ];
     361                            }
     362                        }
     363                        wp_cache_set( 'bp_activity_comments_' . $activity_id, $comments, 'bp' );
     364                }
     365
     366                return $comments;
    364367        }
    365368
Note: See TracChangeset for help on using the changeset viewer.