Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
11/13/2009 01:01:37 AM (17 years ago)
Author:
apeatling
Message:

Initial support for threaded activity stream commenting. Some major performance improvements around fetching profile and group data.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-groups/bp-groups-templatetags.php

    r2077 r2088  
    247247                $this->group = $this->next_group();
    248248
    249                 // If this is a single group then instantiate group meta when creating the object.
    250                 if ( $this->single_group ) {
    251                         if ( !$group = wp_cache_get( 'groups_group_' . $this->group->group_id, 'bp' ) ) {
    252                                 $group = new BP_Groups_Group( $this->group->group_id, true );
    253                                 wp_cache_set( 'groups_group_' . $this->group->group_id, $group, 'bp' );
    254                         }
    255                 } else {
    256                         if ( !$group = wp_cache_get( 'groups_group_nouserdata_' . $this->group->group_id, 'bp' ) ) {
    257                                 $group = new BP_Groups_Group( $this->group->group_id, false, false );
    258                                 wp_cache_set( 'groups_group_nouserdata_' . $this->group->group_id, $group, 'bp' );
    259                         }
    260                 }
    261 
    262                 $this->group = $group;
     249                if ( $this->single_group )
     250                        $this->group = new BP_Groups_Group( $this->group->group_id, true, true );
    263251
    264252                if ( 0 == $this->current_group ) // loop has just started
     
    282270        extract( $r, EXTR_SKIP );
    283271
    284         /* The following code will auto set parameters based on the page being viewed.
    285          * for example on example.com/members/andy/groups/my-groups/most-popular/
    286          * $type = 'most-popular'
    287          */
    288         if ( 'my-groups' == $bp->current_action ) {
    289                 $order = $bp->action_variables[0];
    290                 if ( 'recently-joined' == $order )
    291                         $type = 'recently-joined';
    292                 else if ( 'most-popular' == $order )
    293                         $type = 'popular';
    294                 else if ( 'admin-of' == $order )
    295                         $type = 'admin-of';
    296                 else if ( 'mod-of' == $order )
    297                         $type = 'mod-of';
    298                 else if ( 'alphabetically' == $order )
    299                         $type = 'alphabetical';
    300         } else if ( 'invites' == $bp->current_action ) {
    301                 $type = 'invites';
    302         } else if ( $bp->groups->current_group->slug ) {
    303                 $type = 'single-group';
    304                 $slug = $bp->groups->current_group->slug;
     272        if ( '' == $args ) {
     273                /* The following code will auto set parameters based on the page being viewed.
     274                 * for example on example.com/members/andy/groups/my-groups/most-popular/
     275                 * $type = 'most-popular'
     276                 */
     277                if ( 'my-groups' == $bp->current_action ) {
     278                        $order = $bp->action_variables[0];
     279                        if ( 'recently-joined' == $order )
     280                                $type = 'recently-joined';
     281                        else if ( 'most-popular' == $order )
     282                                $type = 'popular';
     283                        else if ( 'admin-of' == $order )
     284                                $type = 'admin-of';
     285                        else if ( 'mod-of' == $order )
     286                                $type = 'mod-of';
     287                        else if ( 'alphabetically' == $order )
     288                                $type = 'alphabetical';
     289                } else if ( 'invites' == $bp->current_action ) {
     290                        $type = 'invites';
     291                } else if ( $bp->groups->current_group->slug ) {
     292                        $type = 'single-group';
     293                        $slug = $bp->groups->current_group->slug;
     294                }
    305295        }
    306296
     
    470460                        $group =& $groups_template->group;
    471461
    472                 $last_active = groups_get_groupmeta( $group->id, 'last_activity' );
     462                $last_active = $group->last_activity;
     463
     464                if ( !$last_active )
     465                        $last_active = groups_get_groupmeta( $group->id, 'last_activity' );
    473466
    474467                if ( empty( $last_active ) ) {
     
    19971990        }
    19981991
    1999 function bp_the_site_group_avatar() {
    2000         echo bp_get_the_site_group_avatar();
    2001 }
    2002         function bp_get_the_site_group_avatar() {
     1992function bp_the_site_group_avatar( $args = '' ) {
     1993        echo bp_get_the_site_group_avatar( $args );
     1994}
     1995        function bp_get_the_site_group_avatar( $args = '' ) {
    20031996                global $site_groups_template;
    20041997
    2005                 return apply_filters( 'bp_the_site_group_avatar', bp_core_fetch_avatar( array( 'item_id' => $site_groups_template->group->id, 'object' => 'group', 'type' => 'full', 'avatar_dir' => 'group-avatars', 'alt' => __( 'Group Avatar', 'buddypress' ) ) ) );
     1998                $defaults = array(
     1999                        'type' => 'full',
     2000                        'width' => false,
     2001                        'height' => false,
     2002                        'class' => 'avatar',
     2003                        'id' => false,
     2004                        'alt' => __( 'Group avatar', 'buddypress' )
     2005                );
     2006
     2007                $r = wp_parse_args( $args, $defaults );
     2008                extract( $r, EXTR_SKIP );
     2009
     2010                return apply_filters( 'bp_the_site_group_avatar', bp_core_fetch_avatar( array( 'item_id' => $site_groups_template->group->id, 'object' => 'group', 'type' => $type, 'alt' => $alt, 'css_id' => $id, 'class' => $class, 'width' => $width, 'height' => $height ) ) );
    20062011        }
    20072012
Note: See TracChangeset for help on using the changeset viewer.