Skip to:
Content

BuddyPress.org

Ticket #8558: 8558.3.patch

File 8558.3.patch, 2.0 KB (added by dcavins, 4 years ago)

Fix registration of extensions.

  • src/bp-groups/bp-groups-functions.php

    diff --git src/bp-groups/bp-groups-functions.php src/bp-groups/bp-groups-functions.php
    index e789119c7..4e3183e09 100644
    function bp_init_group_extensions() { 
    36733673        foreach ( array_keys( $registered_group_extensions ) as $group_extension_class ) {
    36743674                $extension = new $group_extension_class;
    36753675
    3676                 add_action( 'bp_actions', array( &$extension, '_register' ), 8 );
    3677                 add_action( 'admin_init', array( &$extension, '_register' ) );
     3676                add_action( 'bp_actions', array( $extension, '_register' ), 8 );
     3677                add_action( 'admin_init', array( $extension, '_register' ) );
    36783678        }
    36793679}
    36803680add_action( 'bp_init', 'bp_init_group_extensions', 11 );
  • tests/phpunit/testcases/groups/class-bp-group-extension.php

    diff --git tests/phpunit/testcases/groups/class-bp-group-extension.php tests/phpunit/testcases/groups/class-bp-group-extension.php
    index 9e1e8b8b0..ecebc4f8f 100644
    class BP_Tests_Group_Extension_TestCases extends BP_UnitTestCase { 
    887887
    888888                $this->assertFalse( $content === 'Widget Displayed' );
    889889        }
     890
     891        /**
     892         * @ticket BP8558
     893         * @expectedIncorrectUsage bp_nav
     894         */
     895        public function test_adding_multiple_extension_classes() {
     896                $old_options_nav = buddypress()->bp_options_nav;
     897
     898                $g = self::factory()->group->create();
     899                $g_obj = groups_get_group( $g );
     900
     901                $e = new BPTest_Group_Extension_Enable_Nav_Item_True();
     902                $e_class_name = get_class( $e );
     903                $f = new BPTest_Group_Extension_Access_Anyone();
     904                $f_class_name = get_class( $f );
     905
     906                bp_register_group_extension( $e_class_name );
     907                bp_register_group_extension( $f_class_name );
     908
     909                $this->go_to( bp_get_group_permalink( $g_obj ) );
     910
     911                $this->assertTrue( isset( buddypress()->bp_options_nav[ $g_obj->slug ][ $e->slug ] ) && isset( buddypress()->bp_options_nav[ $g_obj->slug ][ $f->slug ] ) );
     912
     913                // Clean up
     914                buddypress()->bp_options_nav = $old_options_nav;
     915        }
    890916}