Skip to:
Content

BuddyPress.org

Changeset 2339


Ignore:
Timestamp:
01/18/2010 03:52:16 PM (16 years ago)
Author:
apeatling
Message:

Fixes to group invite interface and template loop.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-groups.php

    r2332 r2339  
    22612261/*** Group Invitations *********************************************************/
    22622262
    2263 function groups_get_invites_for_user( $user_id = false ) {
     2263function groups_get_invites_for_user( $user_id = false, $limit = false, $page = false ) {
    22642264        global $bp;
    22652265
     
    22672267                $user_id = $bp->loggedin_user->id;
    22682268
    2269         return BP_Groups_Member::get_invites( $user_id );
     2269        return BP_Groups_Member::get_invites( $user_id, $limit, $page );
    22702270}
    22712271
     
    22872287                return false;
    22882288
    2289         if ( groups_is_user_member( $user_id, $group_id ) )
    2290                 return false;
    2291 
    2292         $invite = new BP_Groups_Member;
    2293         $invite->group_id = $group_id;
    2294         $invite->user_id = $user_id;
    2295         $invite->date_modified = $date_modified;
    2296         $invite->inviter_id = $inviter_id;
    2297         $invite->is_confirmed = $is_confirmed;
    2298 
    2299         if ( !$invite->save() )
    2300                 return false;
    2301 
    2302         do_action( 'groups_invite_user', $args );
     2289        if ( !groups_is_user_member( $user_id, $group_id ) && !groups_check_user_has_invite( $user_id, $group_id ) ) {
     2290                $invite = new BP_Groups_Member;
     2291                $invite->group_id = $group_id;
     2292                $invite->user_id = $user_id;
     2293                $invite->date_modified = $date_modified;
     2294                $invite->inviter_id = $inviter_id;
     2295                $invite->is_confirmed = $is_confirmed;
     2296
     2297                if ( !$invite->save() )
     2298                        return false;
     2299
     2300                do_action( 'groups_invite_user', $args );
     2301        }
    23032302
    23042303        return true;
  • trunk/bp-groups/bp-groups-classes.php

    r2324 r2339  
    853853        }
    854854
    855         function get_invites( $user_id ) {
    856                 global $wpdb, $bp;
    857 
    858                 $group_ids = $wpdb->get_results( $wpdb->prepare( "SELECT group_id FROM {$bp->groups->table_name_members} WHERE user_id = %d and is_confirmed = 0 AND inviter_id != 0 AND invite_sent = 1", $user_id ) );
    859 
    860                 return $group_ids;
     855        function get_invites( $user_id, $limit = false, $page = false ) {
     856                global $wpdb, $bp;
     857
     858                if ( $limit && $page )
     859                        $pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
     860
     861                $paged_groups = $wpdb->get_results( $wpdb->prepare( "SELECT g.*, gm1.meta_value as total_member_count, gm2.meta_value as last_activity FROM {$bp->groups->table_name_groupmeta} gm1, {$bp->groups->table_name_groupmeta} gm2, {$bp->groups->table_name_members} m, {$bp->groups->table_name} g WHERE g.id = m.group_id AND g.id = gm1.group_id AND g.id = gm2.group_id AND gm2.meta_key = 'last_activity' AND gm1.meta_key = 'total_member_count' AND m.is_confirmed = 0 AND m.inviter_id != 0 AND m.invite_sent = 1 AND m.user_id = %d ORDER BY m.date_modified ASC {$pag_sql}", $user_id ) );
     862                $total_groups = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(DISTINCT m.group_id) FROM {$bp->groups->table_name_members} m, {$bp->groups->table_name} g WHERE m.group_id = g.id AND m.is_confirmed = 0 AND m.inviter_id != 0 AND m.invite_sent = 1 AND m.user_id = %d ORDER BY date_modified ASC", $user_id ) );
     863
     864                return array( 'groups' => $paged_groups, 'total' => $total_groups );
    861865        }
    862866
  • trunk/bp-groups/bp-groups-templatetags.php

    r2270 r2339  
    6969
    7070                        case 'invites':
    71                                 if ( $user_id )
    72                                         $this->groups = groups_get_invites_for_user();
     71                                $this->groups = groups_get_invites_for_user( $user_id, $this->pag_num, $this->pag_page );
    7372                                break;
    7473
     
    8180
    8281                if ( 'invites' == $type ) {
    83                         $this->total_group_count = count($this->groups);
    84                         $this->group_count = count($this->groups);
     82                        $this->total_group_count = (int)$this->groups['total'];
     83                        $this->group_count = (int)$this->groups['total'];
     84                        $this->groups = $this->groups['groups'];
    8585                } else if ( 'single-group' == $type ) {
    8686                        $this->single_group = true;
  • trunk/bp-themes/bp-default/groups/single/send-invites.php

    r2284 r2339  
    11<?php do_action( 'bp_before_group_send_invites_content' ) ?>
    22
    3 <?php if ( bp_has_friends_to_invite() ) : ?>
     3<?php if ( bp_get_total_friend_count( bp_loggedin_user_id() ) ) : ?>
    44
    55        <form action="<?php bp_group_send_invite_form_action() ?>" method="post" id="send-invite-form" class="standard-form">
     
    7070
    7171        <div id="message" class="info">
    72                 <p><?php _e( 'You either need to build up your friends list, or your friends have already been invited or are current members.', 'buddypress' ); ?></p>
     72                <p><?php _e( 'Once you have built up friend connections you will be able to invite others to your group. You can send invites any time in the future by selecting the "Send Invites" option when viewing your new group.', 'buddypress' ); ?></p>
    7373        </div>
    7474
  • trunk/bp-themes/bp-default/members/single/groups/invites.php

    r2170 r2339  
    11<?php do_action( 'bp_before_group_invites_content' ) ?>
    22
    3 <?php if ( bp_has_groups() ) : ?>
     3<?php if ( bp_has_groups( 'type=invites&user_id=' . bp_loggedin_user_id() ) ) : ?>
    44
    55        <ul id="group-list" class="invites item-list">
     
    2424
    2525                                </div>
    26                                 <hr />
    2726                        </li>
    2827
Note: See TracChangeset for help on using the changeset viewer.