Viewing 3 replies - 1 through 3 (of 3 total)
  • Yeah having the same problem…

    I get a page not found on saving the settings

    whats more after the error , if you just press enter on the same URL the confirmation appears saying that the settings were saved.

    This is really weird. It seems after changing the setting the script dies somewhere.

    Could this be related to the last buddypress upgrade ?

    ok found the problem

    it is in the function (file : bp-activity-subscription-functions.php)
    function ass_update_group_subscribe_settings()

    has a line at the end of the function which goes
    bp_core_redirect( wp_get_referer() );

    now the form for the settings is posted to the same url
    BUT !!! as per docs of wp_get_referer()

    Return Values
    (string|boolean)
    False on failure. Referer URL on success. If page “refered” (form posted) to itself, returns false (because $_SERVER[‘HTTP_REFERER’] == $_REQUEST[‘_wp_http_referer’])

    so the wp_get_referer() returns false !
    which means it results in a page not found error

    solution ?

    put this in your functions.php
    (dont have one ? find how to get one in your theme …)

    // update the users' notification settings
    function pain_in_the_ass_update_group_subscribe_settings() {
            global $bp;
    
            if ( bp_is_groups_component() && bp_is_current_action( 'notifications' ) ) {
    
                    // If the edit form has been submitted, save the edited details
                    if ( isset( $_POST['ass-save'] ) ) {
    
                            //if ( !wp_verify_nonce( $nonce, 'ass_subscribe' ) ) die( 'A Security check failed' );
    
                            $user_id = bp_loggedin_user_id();
                            $group_id = $_POST[ 'ass_group_id' ];
                            $action = $_POST[ 'ass_group_subscribe' ];
    
                            if ( !groups_is_user_member( $user_id, $group_id ) )
                                    return;
    
                            ass_group_subscription( $action, $user_id, $group_id ); // save the settings
    
                            bp_core_add_message( sprintf( __( 'Your email notifications are set to %s for this group.', 'bp-ass' ), ass_subscribe_translate( $action ) ) );
                            bp_core_redirect( $_SERVER['HTTP_REFERER'] );
                    }
            }
    }
    remove_action( 'bp_actions', 'ass_update_group_subscribe_settings' );
    add_action( 'bp_actions', 'pain_in_the_ass_update_group_subscribe_settings' );

    Voila … the pain is gone …

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘[Plugin: BuddyPress Group Email Subscription] broken link error’ is closed to new replies.