Viewing 9 replies - 1 through 9 (of 9 total)
  • Same problem here…

    I’m using Custom Community Theme 1.8.9.1

    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.

    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 …

    Excellent – thank you – will test and get back – do you think this solution will find it’s way into the plugin too?

    Works fine for me…

    Thread Starter Squirrel

    (@mossyoak)

    Cool, I’ll have a go with that code thanks ??

    Thread Starter Squirrel

    (@mossyoak)

    Works thanks.

    Plugin Author Boone Gorges

    (@boonebgorges)

    Which version of the plugin are you using? The latest version has a fix for this (here’s the changeset: https://github.com/boonebgorges/buddypress-group-email-subscription/commit/8b7dcbfdd8672fec9f00fd94d940b7d391fb68db)

    Thread Starter Squirrel

    (@mossyoak)

    I’ve updated to the latest version. It works fine now- thank you ??

    I’ll get rid of the function then.
    Thanks.

Viewing 9 replies - 1 through 9 (of 9 total)
  • The topic ‘[Plugin: BuddyPress Group Email Subscription] white screen on email options’ is closed to new replies.