bp_groups_memberships_personal_data_exporter( string $email_address, int $page )
Finds and exports group membership data associated with an email address.
Description Description
Parameters Parameters
- $email_address
-
(Required) The user's email address.
- $page
-
(Required) Batch number.
Return Return
(array) An array of personal data.
Source Source
File: bp-groups/bp-groups-functions.php
function bp_groups_memberships_personal_data_exporter( $email_address, $page ) {
$number = 20;
$email_address = trim( $email_address );
$data_to_export = array();
$user = get_user_by( 'email', $email_address );
if ( ! $user ) {
return array(
'data' => array(),
'done' => true,
);
}
$memberships = BP_Groups_Member::get_user_memberships( $user->ID, array(
'type' => 'membership',
'page' => $page,
'per_page' => $number,
) );
foreach ( $memberships as $membership ) {
$group = groups_get_group( $membership->group_id );
$item_data = array(
array(
'name' => __( 'Group Name', 'buddypress' ),
'value' => bp_get_group_name( $group ),
),
array(
'name' => __( 'Group URL', 'buddypress' ),
'value' => bp_get_group_permalink( $group ),
),
);
if ( $membership->inviter_id ) {
$item_data[] = array(
'name' => __( 'Invited By', 'buddypress' ),
'value' => bp_core_get_userlink( $membership->inviter_id ),
);
}
if ( $group->creator_id === $user->ID ) {
$group_role = __( 'Creator', 'buddypress' );
} elseif ( $membership->is_admin ) {
$group_role = __( 'Admin', 'buddypress' );
} elseif ( $membership->is_mod ) {
$group_role = __( 'Moderator', 'buddypress' );
} else {
$group_role = __( 'Member', 'buddypress' );
}
$item_data[] = array(
'name' => __( 'Group Role', 'buddypress' ),
'value' => $group_role,
);
$item_data[] = array(
'name' => __( 'Date Joined', 'buddypress' ),
'value' => $membership->date_modified,
);
$data_to_export[] = array(
'group_id' => 'bp_groups_memberships',
'group_label' => __( 'Group Memberships', 'buddypress' ),
'item_id' => "bp-group-membership-{$group->id}",
'data' => $item_data,
);
}
// Tell core if we have more items to process.
$done = count( $memberships ) < $number;
return array(
'data' => $data_to_export,
'done' => $done,
);
}
Changelog Changelog
| Version | Description |
|---|---|
| 4.0.0 | Introduced. |