loggedin_user->id, $_POST['fid'] ) ) {
check_ajax_referer('friends_remove_friend');
if ( !friends_remove_friend( $bp->loggedin_user->id, $_POST['fid'] ) ) {
echo __("Friendship could not be canceled.", 'buddypress');
} else {
echo '' . __( 'Add Friend', 'buddypress' ) . '';
}
} else if ( 'not_friends' == BP_Friends_Friendship::check_is_friend( $bp->loggedin_user->id, $_POST['fid'] ) ) {
check_ajax_referer('friends_add_friend');
if ( !friends_add_friend( $bp->loggedin_user->id, $_POST['fid'] ) ) {
echo __("Friendship could not be requested.", 'buddypress');
} else {
echo '' . __( 'Friendship Requested', 'buddypress' ) . '';
}
} else {
echo __( 'Request Pending', 'buddypress' );
}
return false;
}
add_action( 'wp_ajax_addremove_friend', 'bp_dtheme_ajax_addremove_friend' );
function bp_dtheme_ajax_invite_user() {
global $bp;
check_ajax_referer( 'groups_invite_uninvite_user' );
if ( !$_POST['friend_id'] || !$_POST['friend_action'] || !$_POST['group_id'] )
return false;
if ( !groups_is_user_admin( $bp->loggedin_user->id, $_POST['group_id'] ) )
return false;
if ( !friends_check_friendship( $bp->loggedin_user->id, $_POST['friend_id'] ) )
return false;
if ( 'invite' == $_POST['friend_action'] ) {
if ( !groups_invite_user( $_POST['friend_id'], $_POST['group_id'] ) )
return false;
$user = new BP_Core_User( $_POST['friend_id'] );
echo '
';
echo $user->avatar_thumb;
echo '' . $user->user_link . '
';
echo '' . attribute_escape( $user->last_active ) . '';
echo '';
echo '';
} else if ( 'uninvite' == $_POST['friend_action'] ) {
if ( !groups_uninvite_user( $_POST['friend_id'], $_POST['group_id'] ) )
return false;
return true;
} else {
return false;
}
}
add_action( 'wp_ajax_groups_invite_user', 'bp_dtheme_ajax_invite_user' );
function bp_dtheme_ajax_group_filter() {
global $bp;
check_ajax_referer( 'group-filter-box' );
locate_template( array( 'groups/group-loop.php' ), true );
}
add_action( 'wp_ajax_group_filter', 'bp_dtheme_ajax_group_filter' );
function bp_dtheme_ajax_member_list() {
global $bp;
?>
loggedin_user->id, $_POST['gid'] ) )
return false;
if ( !$group = new BP_Groups_Group( $_POST['gid'], false, false ) )
return false;
if ( 'hidden' == $group->status )
return false;
if ( !groups_is_user_member( $bp->loggedin_user->id, $group->id ) ) {
if ( 'public' == $group->status ) {
check_ajax_referer( 'groups_join_group' );
if ( !groups_join_group( $group->id ) ) {
_e( 'Error joining group', 'buddypress' );
} else {
echo '' . __( 'Leave Group', 'buddypress' ) . '';
}
} else if ( 'private' == $group->status ) {
check_ajax_referer( 'groups_request_membership' );
if ( !groups_send_membership_request( $bp->loggedin_user->id, $group->id ) ) {
_e( 'Error requesting membership', 'buddypress' );
} else {
echo '' . __( 'Membership Requested', 'buddypress' ) . '';
}
}
} else {
check_ajax_referer( 'groups_leave_group' );
if ( !groups_leave_group( $group->id ) ) {
_e( 'Error leaving group', 'buddypress' );
} else {
if ( 'public' == $group->status ) {
echo '' . __( 'Join Group', 'buddypress' ) . '';
} else if ( 'private' == $group->status ) {
echo '' . __( 'Request Membership', 'buddypress' ) . '';
}
}
}
}
add_action( 'wp_ajax_joinleave_group', 'bp_dtheme_ajax_joinleave_group' );
function bp_dtheme_ajax_send_reply() {
global $bp;
check_ajax_referer( 'messages_send_message' );
$result = messages_new_message( array( 'thread_id' => $_REQUEST['thread_id'], 'subject' => $_REQUEST['subject'], 'content' => $_REQUEST['content'] ) );
if ( $result ) { ?>
loggedin_user->id, $_GET['limit'], 1 );
$friends = apply_filters( 'bp_friends_autocomplete_list', $friends, $_GET['q'], $_GET['limit'] );
if ( $friends['friends'] ) {
foreach ( $friends['friends'] as $user_id ) {
$ud = get_userdata($user_id);
$username = $ud->user_login;
echo bp_core_get_avatar( $user_id, 1, 15, 15 ) . ' ' . bp_core_get_user_displayname( $user_id ) . ' (' . $username . ')
';
}
}
}
add_action( 'wp_ajax_messages_autocomplete_results', 'bp_dtheme_ajax_autocomplete_results' );
function bp_dtheme_ajax_markunread() {
global $bp;
if ( !isset($_POST['thread_ids']) ) {
echo "-1[[split]]" . __('There was a problem marking messages as unread.', 'buddypress');
} else {
$thread_ids = explode( ',', $_POST['thread_ids'] );
for ( $i = 0; $i < count($thread_ids); $i++ ) {
BP_Messages_Thread::mark_as_unread($thread_ids[$i]);
}
}
}
add_action( 'wp_ajax_messages_markunread', 'bp_dtheme_ajax_markunread' );
function bp_dtheme_ajax_markread() {
global $bp;
if ( !isset($_POST['thread_ids']) ) {
echo "-1[[split]]" . __('There was a problem marking messages as read.', 'buddypress');
} else {
$thread_ids = explode( ',', $_POST['thread_ids'] );
for ( $i = 0; $i < count($thread_ids); $i++ ) {
BP_Messages_Thread::mark_as_read($thread_ids[$i]);
}
}
}
add_action( 'wp_ajax_messages_markread', 'bp_dtheme_ajax_markread' );
function bp_dtheme_ajax_delete() {
global $bp;
if ( !isset($_POST['thread_ids']) ) {
echo "-1[[split]]" . __( 'There was a problem deleting messages.', 'buddypress' );
} else {
$thread_ids = explode( ',', $_POST['thread_ids'] );
for ( $i = 0; $i < count($thread_ids); $i++ ) {
BP_Messages_Thread::delete($thread_ids[$i]);
}
_e('Messages deleted.', 'buddypress');
}
}
add_action( 'wp_ajax_messages_delete', 'bp_dtheme_ajax_delete' );
function bp_dtheme_ajax_close_notice() {
global $userdata;
if ( !isset($_POST['notice_id']) ) {
echo "-1[[split]]" . __('There was a problem closing the notice.', 'buddypress');
} else {
$notice_ids = get_usermeta( $userdata->ID, 'closed_notices' );
$notice_ids[] = (int) $_POST['notice_id'];
update_usermeta( $userdata->ID, 'closed_notices', $notice_ids );
}
}
add_action( 'wp_ajax_messages_close_notice', 'bp_dtheme_ajax_close_notice' );
function bp_dtheme_ajax_get_wire_posts() {
global $bp; ?>
loggedin_user->id, $_POST['status-update-input'] ) )
echo "1";
else
echo "-1";
}
add_action( 'wp_ajax_status_new_status', 'bp_dtheme_ajax_new_status' );
function bp_dtheme_ajax_clear_status( $new_text = false ) {
global $bp;
bp_status_clear_status( $bp->loggedin_user->id );
$args = apply_filters( 'bp_status_ajax_show_status_args', $args );
bp_the_status( $args );
}
add_action( 'wp_ajax_status_clear_status', 'bp_dtheme_ajax_clear_status' );
?>