Skip to:
Content

BuddyPress.org

Ticket #3770: 3770.patch

File 3770.patch, 13.1 KB (added by boonebgorges, 14 years ago)
  • bp-core/bp-core-avatars.php

    diff --git bp-core/bp-core-avatars.php bp-core/bp-core-avatars.php
    index 8de1b6e..93ace69 100644
    function bp_core_fetch_avatar( $args = '' ) { 
    150150        if ( 'user' == $object )
    151151                $item_name = bp_core_get_user_displayname( $item_id );
    152152        elseif ( 'group' == $object )
    153                 $item_name = bp_get_group_name( new BP_Groups_Group( $item_id ) );
     153                $item_name = bp_get_group_name( groups_get_group( array( 'group_id' => $item_id ) ) );
    154154        elseif ( 'blog' == $object )
    155155                $item_name = get_blog_option( $item_id, 'blogname' );
    156156
  • bp-groups/bp-groups-actions.php

    diff --git bp-groups/bp-groups-actions.php bp-groups/bp-groups-actions.php
    index e645abf..8b58b9e 100644
    function groups_action_create_group() { 
    5454        // Set the ID of the new group, if it has already been created in a previous step
    5555        if ( isset( $_COOKIE['bp_new_group_id'] ) ) {
    5656                $bp->groups->new_group_id = $_COOKIE['bp_new_group_id'];
    57                 $bp->groups->current_group = new BP_Groups_Group( $bp->groups->new_group_id );
     57                $bp->groups->current_group = groups_get_group( array( 'group_id' => $bp->groups->new_group_id ) );
    5858        }
    5959
    6060        // If the save, upload or skip button is hit, lets calculate what we need to save
  • bp-groups/bp-groups-activity.php

    diff --git bp-groups/bp-groups-activity.php bp-groups/bp-groups-activity.php
    index 6e72392..f73b41d 100644
    function groups_format_notifications( $action, $item_id, $secondary_item_id, $to 
    8383                        $group_id = $secondary_item_id;
    8484                        $requesting_user_id = $item_id;
    8585
    86                         $group = new BP_Groups_Group( $group_id );
     86                        $group = groups_get_group( array( 'group_id' => $group_id ) );
    8787                        $group_link = bp_get_group_permalink( $group );
    8888
    8989                        // Set up the string and the filter
    function groups_format_notifications( $action, $item_id, $secondary_item_id, $to 
    123123                case 'membership_request_accepted':
    124124                        $group_id = $item_id;
    125125
    126                         $group = new BP_Groups_Group( $group_id );
     126                        $group = groups_get_group( array( 'group_id' => $group_id ) );
    127127                        $group_link = bp_get_group_permalink( $group );
    128128
    129129                        if ( (int)$total_items > 1 ) {
    function groups_format_notifications( $action, $item_id, $secondary_item_id, $to 
    159159                case 'membership_request_rejected':
    160160                        $group_id = $item_id;
    161161
    162                         $group = new BP_Groups_Group( $group_id );
     162                        $group = groups_get_group( array( 'group_id' => $group_id ) );
    163163                        $group_link = bp_get_group_permalink( $group );
    164164
    165165                        if ( (int)$total_items > 1 ) {
    function groups_format_notifications( $action, $item_id, $secondary_item_id, $to 
    195195                case 'member_promoted_to_admin':
    196196                        $group_id = $item_id;
    197197
    198                         $group = new BP_Groups_Group( $group_id );
     198                        $group = groups_get_group( array( 'group_id' => $group_id ) );
    199199                        $group_link = bp_get_group_permalink( $group );
    200200
    201201                        if ( (int)$total_items > 1 ) {
    function groups_format_notifications( $action, $item_id, $secondary_item_id, $to 
    231231                case 'member_promoted_to_mod':
    232232                        $group_id = $item_id;
    233233
    234                         $group = new BP_Groups_Group( $group_id );
     234                        $group = groups_get_group( array( 'group_id' => $group_id ) );
    235235                        $group_link = bp_get_group_permalink( $group );
    236236
    237237                        if ( (int)$total_items > 1 ) {
    function groups_format_notifications( $action, $item_id, $secondary_item_id, $to 
    266266
    267267                case 'group_invite':
    268268                        $group_id = $item_id;
    269                         $group = new BP_Groups_Group( $group_id );
     269                        $group = groups_get_group( array( 'group_id' => $group_id ) );
    270270                        $group_link = bp_get_group_permalink( $group );
    271271
    272272                        $notification_link = bp_loggedin_user_domain() . bp_get_groups_slug() . '/invites/?n=1';
  • bp-groups/bp-groups-classes.php

    diff --git bp-groups/bp-groups-classes.php bp-groups/bp-groups-classes.php
    index 2e1bb4d..f69ccb0 100644
    Class BP_Groups_Group { 
    119119                        $this->id = $wpdb->insert_id;
    120120
    121121                do_action_ref_array( 'groups_group_after_save', array( &$this ) );
     122               
     123                wp_cache_delete( 'bp_groups_group_' . $this->id, 'bp' );
    122124
    123125                return true;
    124126        }
    Class BP_Groups_Group { 
    141143
    142144                do_action_ref_array( 'bp_groups_delete_group', array( &$this ) );
    143145
     146                wp_cache_delete( 'bp_groups_group_' . $this->id, 'bp' );
     147
    144148                // Finally remove the group entry from the DB
    145149                if ( !$wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->groups->table_name} WHERE id = %d", $this->id ) ) )
    146150                        return false;
  • bp-groups/bp-groups-forums.php

    diff --git bp-groups/bp-groups-forums.php bp-groups/bp-groups-forums.php
    index f8598aa..016f2b9 100644
    function groups_new_group_forum( $group_id = 0, $group_name = '', $group_desc = 
    3333 */
    3434function groups_update_group_forum( $group_id ) {
    3535
    36         $group = new BP_Groups_Group( $group_id );
     36        $group = groups_get_group( array( 'group_id' => $group_id ) );
    3737
    3838        /**
    3939         * Bail in the following three situations:
  • bp-groups/bp-groups-functions.php

    diff --git bp-groups/bp-groups-functions.php bp-groups/bp-groups-functions.php
    index 9d7b34a..245774e 100644
    function groups_get_group( $args = '' ) { 
    3131
    3232        $args = wp_parse_args( $args, $defaults );
    3333        extract( $args, EXTR_SKIP );
     34       
     35        $cache_key = 'bp_groups_group_' . $group_id . ( $load_users ? '_load_users' : '_noload_users' );
     36       
     37        if ( !$group = wp_cache_get( $cache_key, 'bp' ) ) {
     38                $group = new BP_Groups_Group( $group_id, true, $load_users );
     39                wp_cache_set( $cache_key, $group, 'bp' );
     40        }
    3441
    35         return apply_filters( 'groups_get_group', new BP_Groups_Group( $group_id, true, $load_users ) );
     42        return apply_filters( 'groups_get_group', $group );
    3643}
    3744
    3845/*** Group Creation, Editing & Deletion *****************************************/
    function groups_create_group( $args = '' ) { 
    5562         */
    5663
    5764        if ( isset( $group_id ) && $group_id )
    58                 $group = new BP_Groups_Group( $group_id );
     65                $group = groups_get_group( array( 'group_id' => $group_id ) );
    5966        else
    6067                $group = new BP_Groups_Group;
    6168
    function groups_edit_base_group_details( $group_id, $group_name, $group_desc, $n 
    117124        if ( empty( $group_name ) || empty( $group_desc ) )
    118125                return false;
    119126
    120         $group              = new BP_Groups_Group( $group_id );
     127        $group              = groups_get_group( array( 'group_id' => $group_id ) );
    121128        $group->name        = $group_name;
    122129        $group->description = $group_desc;
    123130
    function groups_edit_base_group_details( $group_id, $group_name, $group_desc, $n 
    136143function groups_edit_group_settings( $group_id, $enable_forum, $status, $invite_status = false ) {
    137144        global $bp;
    138145
    139         $group = new BP_Groups_Group( $group_id );
     146        $group = groups_get_group( array( 'group_id' => $group_id ) );
    140147        $group->enable_forum = $enable_forum;
    141148
    142149        /***
    function groups_delete_group( $group_id ) { 
    184191                return false;
    185192
    186193        // Get the group object
    187         $group = new BP_Groups_Group( $group_id );
     194        $group = groups_get_group( array( 'group_id' => $group_id ) );
    188195        if ( !$group->delete() )
    189196                return false;
    190197
    function groups_check_slug( $slug ) { 
    237244}
    238245
    239246function groups_get_slug( $group_id ) {
    240         $group = new BP_Groups_Group( $group_id );
     247        $group = groups_get_group( array( 'group_id' => $group_id ) );
    241248        return $group->slug;
    242249}
    243250
    function groups_join_group( $group_id, $user_id = 0 ) { 
    315322                return false;
    316323
    317324        if ( !isset( $bp->groups->current_group ) || !$bp->groups->current_group || $group_id != $bp->groups->current_group->id )
    318                 $group = new BP_Groups_Group( $group_id );
     325                $group = groups_get_group( array( 'group_id' => $group_id ) );
    319326        else
    320327                $group = $bp->groups->current_group;
    321328
    function groups_post_update( $args = '' ) { 
    503510        if ( empty( $content ) || !strlen( trim( $content ) ) || empty( $user_id ) || empty( $group_id ) )
    504511                return false;
    505512
    506         $bp->groups->current_group = new BP_Groups_Group( $group_id );
     513        $bp->groups->current_group = groups_get_group( array( 'group_id' => $group_id ) );
    507514
    508515        // Be sure the user is a member of the group before posting.
    509516        if ( !bp_current_user_can( 'bp_moderate' ) && !groups_is_user_member( $user_id, $group_id ) )
    function groups_send_invites( $user_id, $group_id ) { 
    637644
    638645        // Send friend invites.
    639646        $invited_users = groups_get_invites_for_group( $user_id, $group_id );
    640         $group = new BP_Groups_Group( $group_id );
     647        $group = groups_get_group( array( 'group_id' => $group_id ) );
    641648
    642649        for ( $i = 0, $count = count( $invited_users ); $i < $count; ++$i ) {
    643650                $member = new BP_Groups_Member( $invited_users[$i], $group_id );
    function groups_accept_membership_request( $membership_id, $user_id = 0, $group_ 
    803810        groups_update_groupmeta( $membership->group_id, 'total_member_count', (int) groups_get_groupmeta( $membership->group_id, 'total_member_count') + 1 );
    804811
    805812        // Record this in activity streams
    806         $group = new BP_Groups_Group( $membership->group_id );
     813        $group = groups_get_group( array( 'group_id' => $membership->group_id ) );
    807814
    808815        groups_record_activity( array(
    809816                'action'  => apply_filters_ref_array( 'groups_activity_membership_accepted_action', array( sprintf( __( '%1$s joined the group %2$s', 'buddypress'), bp_core_get_userlink( $membership->user_id ), '<a href="' . bp_get_group_permalink( $group ) . '">' . esc_attr( $group->name ) . '</a>' ), $membership->user_id, &$group ) ),
  • bp-groups/bp-groups-notifications.php

    diff --git bp-groups/bp-groups-notifications.php bp-groups/bp-groups-notifications.php
    index 75ef3e8..6e40f9f 100644
    if ( !defined( 'ABSPATH' ) ) exit; 
    55function groups_notification_group_updated( $group_id ) {
    66        global $bp;
    77
    8         $group    = new BP_Groups_Group( $group_id );
     8        $group    = groups_get_group( array( 'group_id' => $group_id ) );
    99        $sitename = wp_specialchars_decode( get_blog_option( bp_get_root_blog_id(), 'blogname' ), ENT_QUOTES );
    1010        $subject  = '[' . $sitename . '] ' . __( 'Group Details Updated', 'buddypress' );
    1111
    function groups_notification_new_membership_request( $requesting_user_id, $admin 
    5454                return false;
    5555
    5656        $requesting_user_name = bp_core_get_user_displayname( $requesting_user_id );
    57         $group = new BP_Groups_Group( $group_id );
     57        $group = groups_get_group( array( 'group_id' => $group_id ) );
    5858
    5959        $ud = bp_core_get_core_userdata($admin_id);
    6060        $requesting_ud = bp_core_get_core_userdata($requesting_user_id);
    function groups_notification_membership_request_completed( $requesting_user_id, 
    106106        if ( 'no' == bp_get_user_meta( $requesting_user_id, 'notification_membership_request_completed', true ) )
    107107                return false;
    108108
    109         $group = new BP_Groups_Group( $group_id );
     109        $group = groups_get_group( array( 'group_id' => $group_id ) );
    110110
    111111        $ud = bp_core_get_core_userdata($requesting_user_id);
    112112
    function groups_notification_promoted_member( $user_id, $group_id ) { 
    168168        if ( 'no' == bp_get_user_meta( $user_id, 'notification_groups_admin_promotion', true ) )
    169169                return false;
    170170
    171         $group         = new BP_Groups_Group( $group_id );
     171        $group         = groups_get_group( array( 'group_id' => $group_id ) );
    172172        $ud            = bp_core_get_core_userdata($user_id);
    173173        $group_link    = bp_get_group_permalink( $group );
    174174        $settings_slug = function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings';
  • bp-groups/bp-groups-screens.php

    diff --git bp-groups/bp-groups-screens.php bp-groups/bp-groups-screens.php
    index 031c142..edd3e4c 100644
    function groups_screen_group_invites() { 
    5151                        bp_core_add_message( __('Group invite accepted', 'buddypress') );
    5252
    5353                        // Record this in activity streams
    54                         $group = new BP_Groups_Group( $group_id );
     54                        $group = groups_get_group( array( 'group_id' => $group_id ) );
    5555
    5656                        groups_record_activity( array(
    5757                                'action'  => apply_filters_ref_array( 'groups_activity_accepted_invite_action', array( sprintf( __( '%1$s joined the group %2$s', 'buddypress'), bp_core_get_userlink( bp_loggedin_user_id() ), '<a href="' . bp_get_group_permalink( $group ) . '">' . esc_attr( $group->name ) . '</a>' ), bp_loggedin_user_id(), &$group ) ),
  • bp-groups/bp-groups-template.php

    diff --git bp-groups/bp-groups-template.php bp-groups/bp-groups-template.php
    index 0c583f4..c306c7d 100644
    class BP_Groups_Template { 
    216216                $this->group = $this->next_group();
    217217
    218218                if ( $this->single_group )
    219                         $this->group = new BP_Groups_Group( $this->group->group_id );
     219                        $this->group = groups_get_group( array( 'group_id' => $this->group->group_id ) );
    220220
    221221                if ( 0 == $this->current_group ) // loop has just started
    222222                        do_action('group_loop_start');
  • bp-themes/bp-default/_inc/ajax.php

    diff --git bp-themes/bp-default/_inc/ajax.php bp-themes/bp-default/_inc/ajax.php
    index db27644..35b25ad 100644
    function bp_dtheme_ajax_joinleave_group() { 
    515515        if ( groups_is_user_banned( bp_loggedin_user_id(), $_POST['gid'] ) )
    516516                return false;
    517517
    518         if ( !$group = new BP_Groups_Group( $_POST['gid'], false, false ) )
     518        if ( !$group = groups_get_group( array( 'group_id' => $_POST['gid'] ) ) )
    519519                return false;
    520520
    521521        if ( !groups_is_user_member( bp_loggedin_user_id(), $group->id ) ) {