Skip to:
Content

BuddyPress.org

Changeset 6739


Ignore:
Timestamp:
01/22/2013 07:19:12 PM (14 years ago)
Author:
johnjamesjacoby
Message:

Better friend ID handling in ajax add/remove friend handler in bp-default and bp-legacy. Props Maty.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-templates/bp-legacy/buddypress-functions.php

    r6733 r6739  
    838838 */
    839839function bp_legacy_theme_ajax_addremove_friend() {
    840         // Bail if not a POST action
    841         if ( 'POST' !== strtoupper( $_SERVER['REQUEST_METHOD'] ) )
    842                 return;
    843 
    844         if ( 'is_friend' == BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), $_POST['fid'] ) ) {
     840
     841        // Bail if not a POST action
     842        if ( 'POST' !== strtoupper( $_SERVER['REQUEST_METHOD'] ) )
     843                return;
     844
     845        // Cast fid as an integer
     846        $friend_id = (int) $_POST['fid'];
     847
     848        // Trying to cancel friendship
     849        if ( 'is_friend' == BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), $friend_id ) ) {
    845850                check_ajax_referer( 'friends_remove_friend' );
    846851
    847                 if ( ! friends_remove_friend( bp_loggedin_user_id(), $_POST['fid'] ) )
     852                if ( ! friends_remove_friend( bp_loggedin_user_id(), $friend_id ) ) {
    848853                        echo __( 'Friendship could not be canceled.', 'buddypress' );
    849                 else
    850                         echo '<a id="friend-' . $_POST['fid'] . '" class="add" rel="add" title="' . __( 'Add Friend', 'buddypress' ) . '" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/add-friend/' . $_POST['fid'], 'friends_add_friend' ) . '">' . __( 'Add Friend', 'buddypress' ) . '</a>';
    851 
    852         } elseif ( 'not_friends' == BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), $_POST['fid'] ) ) {
     854                } else {
     855                        echo '<a id="friend-' . esc_attr( $friend_id ) . '" class="add" rel="add" title="' . __( 'Add Friend', 'buddypress' ) . '" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/add-friend/' . $friend_id, 'friends_add_friend' ) . '">' . __( 'Add Friend', 'buddypress' ) . '</a>';
     856                }
     857
     858        // Trying to request friendship
     859        } elseif ( 'not_friends' == BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), $friend_id ) ) {
    853860                check_ajax_referer( 'friends_add_friend' );
    854861
    855                 if ( ! friends_add_friend( bp_loggedin_user_id(), $_POST['fid'] ) )
     862                if ( ! friends_add_friend( bp_loggedin_user_id(), $friend_id ) ) {
    856863                        echo __(' Friendship could not be requested.', 'buddypress' );
    857                 else
    858                         echo '<a id="friend-' . $_POST['fid'] . '" class="remove" rel="remove" title="' . __( 'Cancel Friendship Request', 'buddypress' ) . '" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/requests/cancel/' . (int) $_POST['fid'] . '/', 'friends_withdraw_friendship' ) . '" class="requested">' . __( 'Cancel Friendship Request', 'buddypress' ) . '</a>';
    859 
    860         } elseif ( 'pending' == BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), (int) $_POST['fid'] ) ) {
     864                } else {
     865                        echo '<a id="friend-' . esc_attr( $friend_id ) . '" class="remove" rel="remove" title="' . __( 'Cancel Friendship Request', 'buddypress' ) . '" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/requests/cancel/' . $friend_id . '/', 'friends_withdraw_friendship' ) . '" class="requested">' . __( 'Cancel Friendship Request', 'buddypress' ) . '</a>';
     866                }
     867
     868        // Trying to cancel pending request
     869        } elseif ( 'pending' == BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), $friend_id ) ) {
    861870                check_ajax_referer( 'friends_withdraw_friendship' );
    862871
    863                 if ( friends_withdraw_friendship( bp_loggedin_user_id(), (int) $_POST['fid'] ) )
    864                         echo '<a id="friend-' . $_POST['fid'] . '" class="add" rel="add" title="' . __( 'Add Friend', 'buddypress' ) . '" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/add-friend/' . $_POST['fid'], 'friends_add_friend' ) . '">' . __( 'Add Friend', 'buddypress' ) . '</a>';
    865                 else
     872                if ( friends_withdraw_friendship( bp_loggedin_user_id(), $friend_id ) ) {
     873                        echo '<a id="friend-' . esc_attr( $friend_id ) . '" class="add" rel="add" title="' . __( 'Add Friend', 'buddypress' ) . '" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/add-friend/' . $friend_id, 'friends_add_friend' ) . '">' . __( 'Add Friend', 'buddypress' ) . '</a>';
     874                } else {
    866875                        echo __("Friendship request could not be cancelled.", 'buddypress');
    867 
     876                }
     877
     878        // Request already pending
    868879        } else {
    869880                echo __( 'Request Pending', 'buddypress' );
  • trunk/bp-themes/bp-default/_inc/ajax.php

    r6733 r6739  
    595595                return;
    596596
    597         if ( 'is_friend' == BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), $_POST['fid'] ) ) {
     597        // Cast fid as an integer
     598        $friend_id = (int) $_POST['fid'];
     599
     600        // Trying to cancel friendship
     601        if ( 'is_friend' == BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), $friend_id ) ) {
    598602                check_ajax_referer( 'friends_remove_friend' );
    599603
    600                 if ( ! friends_remove_friend( bp_loggedin_user_id(), $_POST['fid'] ) )
     604                if ( ! friends_remove_friend( bp_loggedin_user_id(), $friend_id ) ) {
    601605                        echo __( 'Friendship could not be canceled.', 'buddypress' );
    602                 else
    603                         echo '<a id="friend-' . $_POST['fid'] . '" class="add" rel="add" title="' . __( 'Add Friend', 'buddypress' ) . '" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/add-friend/' . $_POST['fid'], 'friends_add_friend' ) . '">' . __( 'Add Friend', 'buddypress' ) . '</a>';
    604 
    605         } elseif ( 'not_friends' == BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), $_POST['fid'] ) ) {
     606                } else {
     607                        echo '<a id="friend-' . esc_attr( $friend_id ) . '" class="add" rel="add" title="' . __( 'Add Friend', 'buddypress' ) . '" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/add-friend/' . $friend_id, 'friends_add_friend' ) . '">' . __( 'Add Friend', 'buddypress' ) . '</a>';
     608                }
     609
     610        // Trying to request friendship
     611        } elseif ( 'not_friends' == BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), $friend_id ) ) {
    606612                check_ajax_referer( 'friends_add_friend' );
    607613
    608                 if ( ! friends_add_friend( bp_loggedin_user_id(), $_POST['fid'] ) )
     614                if ( ! friends_add_friend( bp_loggedin_user_id(), $friend_id ) ) {
    609615                        echo __(' Friendship could not be requested.', 'buddypress' );
    610                 else
    611                         echo '<a id="friend-' . $_POST['fid'] . '" class="remove" rel="remove" title="' . __( 'Cancel Friendship Request', 'buddypress' ) . '" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/requests/cancel/' . (int) $_POST['fid'] . '/', 'friends_withdraw_friendship' ) . '" class="requested">' . __( 'Cancel Friendship Request', 'buddypress' ) . '</a>';
    612 
    613         } elseif ( 'pending' == BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), (int) $_POST['fid'] ) ) {
     616                } else {
     617                        echo '<a id="friend-' . esc_attr( $friend_id ) . '" class="remove" rel="remove" title="' . __( 'Cancel Friendship Request', 'buddypress' ) . '" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/requests/cancel/' . $friend_id . '/', 'friends_withdraw_friendship' ) . '" class="requested">' . __( 'Cancel Friendship Request', 'buddypress' ) . '</a>';
     618                }
     619
     620        // Trying to cancel pending request
     621        } elseif ( 'pending' == BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), $friend_id ) ) {
    614622                check_ajax_referer( 'friends_withdraw_friendship' );
    615623
    616                 if ( friends_withdraw_friendship( bp_loggedin_user_id(), (int) $_POST['fid'] ) )
    617                         echo '<a id="friend-' . $_POST['fid'] . '" class="add" rel="add" title="' . __( 'Add Friend', 'buddypress' ) . '" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/add-friend/' . $_POST['fid'], 'friends_add_friend' ) . '">' . __( 'Add Friend', 'buddypress' ) . '</a>';
    618                 else
     624                if ( friends_withdraw_friendship( bp_loggedin_user_id(), $friend_id ) ) {
     625                        echo '<a id="friend-' . esc_attr( $friend_id ) . '" class="add" rel="add" title="' . __( 'Add Friend', 'buddypress' ) . '" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/add-friend/' . $friend_id, 'friends_add_friend' ) . '">' . __( 'Add Friend', 'buddypress' ) . '</a>';
     626                } else {
    619627                        echo __("Friendship request could not be cancelled.", 'buddypress');
    620 
     628                }
     629
     630        // Request already pending
    621631        } else {
    622632                echo __( 'Request Pending', 'buddypress' );
Note: See TracChangeset for help on using the changeset viewer.