diff -Naur buddypress.orig/bp-themes/bp-default/_inc/ajax.php buddypress/bp-themes/bp-default/_inc/ajax.php --- buddypress.orig/bp-themes/bp-default/_inc/ajax.php 2010-06-28 17:08:32.000000000 -0700 +++ buddypress/bp-themes/bp-default/_inc/ajax.php 2010-06-28 17:23:05.000000000 -0700 @@ -289,12 +289,34 @@ function bp_dtheme_ajax_invite_user() { global $bp; - check_ajax_referer( 'groups_invite_uninvite_user' ); +#dkhack_block - to make the bp-events invite work, get the event_id: +if ( $_COOKIE['bp_new_event_id'] && ereg("/events/create/step/event-invites", $_SERVER['HTTP_REFERER']) ) + $event_id = (int) $_COOKIE['bp_new_event_id']; +else if ( ereg("/events/", $_SERVER['HTTP_REFERER']) ) +{ + $event_slug = ereg_replace(".*/events/", "", $_SERVER['HTTP_REFERER']); + $event_slug = ereg_replace("/.*$", "", $event_slug); + + # The idea here is that I can lookup the event_id based on the slug + # . If I have an event_id, then I can override the group invite + # and make this work. Very hacki hacki + $conn = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); + mysql_select_db(DB_NAME, $conn); + $sql = "SELECT id FROM wp_bp_events WHERE slug='".mysql_escape_string($event_slug)."' LIMIT 1"; + $result = mysql_query($sql, $conn); + $row = mysql_fetch_assoc($result); + $event_id = $row['id']; +} +# END dkhack_block + + #dkhack - added !$event_id && + !$event_id && check_ajax_referer( 'groups_invite_uninvite_user' ); - if ( !$_POST['friend_id'] || !$_POST['friend_action'] || !$_POST['group_id'] ) + if ( !$event_id && (!$_POST['friend_id'] || !$_POST['friend_action'] || !$_POST['group_id']) ) return false; - if ( !groups_is_user_admin( $bp->loggedin_user->id, $_POST['group_id'] ) ) +#dkhack - added !$event_id && + if ( !$event_id && !groups_is_user_admin( $bp->loggedin_user->id, $_POST['group_id'] ) ) return false; if ( !friends_check_friendship( $bp->loggedin_user->id, $_POST['friend_id'] ) ) @@ -302,8 +324,15 @@ if ( 'invite' == $_POST['friend_action'] ) { - if ( !groups_invite_user( array( 'user_id' => $_POST['friend_id'], 'group_id' => $_POST['group_id'] ) ) ) - return false; +#dkhack - do not do the invite: +# instead of: + #if ( !groups_invite_user( array( 'user_id' => $_POST['friend_id'], 'group_id' => $_POST['group_id'] ) ) ) + # return false; + if ( $event_id && !events_invite_user( array( 'user_id' => $_POST['friend_id'], 'event_id' => $event_id ) ) ) + return false; + else if ( !$event_id && !groups_invite_user( array( 'user_id' => $_POST['friend_id'], 'group_id' => $_POST['group_id'] ) ) ) + return false; + $user = new BP_Core_User( $_POST['friend_id'] ); @@ -317,9 +346,16 @@ echo ''; } else if ( 'uninvite' == $_POST['friend_action'] ) { +#dkhack - instead of: + #if ( !groups_uninvite_user( $_POST['friend_id'], $_POST['group_id'] ) ) + # return false; +# do this: + if ( $event_id && !events_uninvite_user( $_POST['friend_id'], $event_id ) ) + return false; + else if ( !$event_id && !groups_uninvite_user( $_POST['friend_id'], $_POST['group_id'] ) ) + return false; + - if ( !groups_uninvite_user( $_POST['friend_id'], $_POST['group_id'] ) ) - return false; return true; @@ -559,4 +595,4 @@ } add_action( 'wp_ajax_messages_autocomplete_results', 'bp_dtheme_ajax_messages_autocomplete_results' ); -?> \ No newline at end of file +?>