Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
11/17/2008 10:54:11 AM (17 years ago)
Author:
apeatling
Message:

Updated and fixed group invites and group invite email notifications.
Added screen notifications of group invites.

File:
1 edited

Legend:

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

    r542 r548  
    8686
    8787function groups_notification_new_membership_request( $requesting_user_id, $admin_id, $group_id, $membership_id ) {
    88     global $bp, $current_user;
     88    global $bp;
    8989
    9090    bp_core_add_notification( $requesting_user_id, $admin_id, 'groups', 'new_membership_request', $group_id );
     
    127127
    128128function groups_notification_membership_request_completed( $requesting_user_id, $group_id, $accepted = true ) {
    129     global $bp, $current_user;
     129    global $bp;
    130130   
    131131    // Post a screen notification first.
     
    176176
    177177function groups_notification_promoted_member( $user_id, $group_id ) {
    178     global $bp, $current_user;
     178    global $bp;
    179179
    180180    if ( groups_is_user_admin( $user_id, $group_id ) ) {
     
    218218add_action( 'bp_groups_promoted_member', 'groups_notification_promoted_member', 10, 2 );
    219219
     220function groups_notification_group_invites( $group_id, $invited_user_ids, $inviter_user_id ) {
     221    global $bp;
     222   
     223    $inviter_ud = get_userdata($inviter_user_id);
     224    $inviter_name = bp_core_get_userlink( $inviter_user_id, true, false, true );
     225    $inviter_link = site_url() . '/' . MEMBERS_SLUG . '/' . $inviter_ud->user_login;
     226   
     227    $group = new BP_Groups_Group( $group_id, false, false );
     228    $group_link = bp_group_permalink( $group, false );
     229    $invites_link = $inviter_link . '/' . $bp['groups']['slug'] . '/invites';
     230       
     231    for ( $i = 0; $i < count( $invited_user_ids ); $i++ ) {
     232        $invited_user_id = $invited_user_ids[$i];
     233
     234        // Post a screen notification first.
     235        bp_core_add_notification( $group_id, $invited_user_id, 'groups', 'group_invite' );
     236
     237        if ( get_usermeta( $invited_user_id, 'notification_group_invitation' ) == 'no' ) continue;
     238
     239        $invited_ud = get_userdata($invited_user_id);
     240        $settings_link = site_url() . '/' . MEMBERS_SLUG . '/' . $ud->user_login . '/settings/notifications';
     241       
     242        // Set up and send the message
     243        $to = $invited_ud->user_email;
     244
     245        $subject = sprintf( __( 'You have an invitation to the group: "%s"', 'buddypress' ), stripslashes($group->name) );
     246
     247        $message = sprintf( __(
     248'One of your friends %s has invited you to the group: "%s".
     249
     250To view your group invites visit: %s
     251To view the group visit: %s
     252To view %s\'s profile visit: %s
     253
     254---------------------
     255', 'buddypress' ), $inviter_name, stripslashes($group->name), $invites_link, $group_link, $inviter_name, $inviter_link );
     256
     257        $message .= sprintf( __( 'To disable these notifications please log in and go to: %s', 'buddypress' ), $settings_link );
     258
     259        // Send it
     260        wp_mail( $to, $subject, $message );
     261    }
     262}
     263
    220264?>
Note: See TracChangeset for help on using the changeset viewer.