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.