Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
09/16/2008 04:08:22 AM (18 years ago)
Author:
apeatling
Message:
  • Added first version of the wire component
  • Added functions to return total friend and group count for users
  • Added wire to profile pages and group pages
  • Added random group and friends widgets to profile pages
  • Updated default BuddyPress theme so it has an elastic width
  • Added "last updated date" to profile header
File:
1 edited

Legend:

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

    r285 r343  
    2727        var $random_photos;     
    2828       
    29         function bp_groups_group( $id = null, $single = false ) {
     29        function bp_groups_group( $id = null, $single = false, $get_user_dataset = true ) {
    3030                if ( $id ) {
    3131                        $this->id = $id;
    32                         $this->populate();
     32                        $this->populate( $get_user_dataset );
    3333                }
    3434               
     
    3838        }
    3939       
    40         function populate() {
     40        function populate( $get_user_dataset ) {
    4141                global $wpdb, $bp;
    4242
     
    6868                                $this->avatar_full = $group->avatar_full;
    6969                       
    70                         $this->user_dataset = $this->get_user_dataset();
    71                         $this->total_member_count = count( $this->user_dataset );
     70                        if ( $get_user_dataset ) {
     71                                $this->user_dataset = $this->get_user_dataset();
     72                                $this->total_member_count = count( $this->user_dataset );
     73                        }
    7274                }       
    7375        }
     
    235237                        $pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
    236238               
    237                 // Get all the user ids for the current user's friends.
     239                // Get all the group ids for the current user's groups.
    238240                $gids = BP_Groups_Member::get_group_ids( $user_id );
    239241                $gids = implode( ',', $gids['ids'] );
     
    303305               
    304306                return true;
    305         }
    306        
     307        }       
    307308}
    308309
     
    381382                global $wpdb, $bp;
    382383               
     384                if ( $limit && $page )
     385                        $pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
     386
     387                $group_ids = $wpdb->get_col( $wpdb->prepare( "SELECT DISTINCT group_id FROM " . $bp['groups']['table_name_members'] . " WHERE user_id = %d AND is_confirmed = 1$pag_sql", $user_id ) );
     388                $group_count = BP_Groups_Member::total_group_count( $user_id );
     389       
     390                return array( 'ids' => $group_ids, 'count' => $group_count );
     391        }
     392       
     393        function total_group_count( $user_id = false ) {
     394                global $bp, $wpdb;
     395               
    383396                if ( !$user_id )
    384397                        $user_id = $bp['current_userid'];
    385                
    386                 if ( $limit && $page )
    387                         $pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
    388 
    389                 $group_ids = $wpdb->get_col( $wpdb->prepare( "SELECT DISTINCT group_id FROM " . $bp['groups']['table_name_members'] . " WHERE user_id = %d AND is_confirmed = 1$pag_sql", $user_id ) );
    390                 $group_count = $wpdb->get_var( $wpdb->prepare( "SELECT DISTINCT count(group_id) FROM " . $bp['groups']['table_name_members'] . " WHERE user_id = %d AND is_confirmed = 1", $user_id ) );
    391                
    392                
    393                 return array( 'ids' => $group_ids, 'count' => $group_count );
    394                
     398                       
     399                return $wpdb->get_var( $wpdb->prepare( "SELECT DISTINCT count(group_id) FROM " . $bp['groups']['table_name_members'] . " WHERE user_id = %d AND is_confirmed = 1", $user_id ) );
    395400        }
    396401       
     
    431436                return $wpdb->query( $wpdb->prepare( "SELECT id FROM " . $bp['groups']['table_name_members'] . " WHERE user_id = %d AND group_id = %d", $user_id, $group_id ) );       
    432437        }
     438       
     439        function get_random_groups( $user_id, $total_groups = 5 ) {
     440                global $wpdb, $bp;
     441
     442                return $wpdb->get_col( $wpdb->prepare( "SELECT DISTINCT group_id FROM " . $bp['groups']['table_name_members'] . " WHERE user_id = %d AND is_confirmed = 1 ORDER BY rand() LIMIT $total_groups", $user_id ) );
     443        }
    433444}
    434445
Note: See TracChangeset for help on using the changeset viewer.