<?php
/*
Plugin Name: BP Group Extension Tester One
Description: Test the hook that will load an extension.
*/

function group_extension_hook_start(){
    error_log( "running group_extension_hook_start");

    class Group_Extension_Example_2 extends BP_Group_Extension {
        /**
         * Here you can see more customization of the config options
         */
        function __construct() {
            $args = array(
                'slug' => 'group-extension-example-2',
                'name' => 'New Tab',
                'nav_item_position' => 101,
                'screens' => array(
                    'edit' => array(
                        'name' => 'GE Example 2',
                        // Changes the text of the Submit button
                        // on the Edit page
                        'submit_text' => 'Submit, suckaz',
                    ),
                    'create' => array(
                        'position' => 100,
                    ),
                ),
            );
            parent::init( $args );
        }

        function display( $group_id = NULL ) {
            $group_id = bp_get_group_id();
            echo 'This plugin is 2x cooler!';
        }

        function settings_screen( $group_id = NULL ) {
            $setting = groups_get_groupmeta( $group_id, 'group_extension_example_2_setting' );

            ?>
            Save your plugin setting here: <input type="text" name="group_extension_example_2_setting" value="<?php echo esc_attr( $setting ) ?>" />
            <?php
        }

        function settings_screen_save( $group_id = NULL ) {
            $setting = isset( $_POST['group_extension_example_2_setting'] ) ? $_POST['group_extension_example_2_setting'] : '';
            groups_update_groupmeta( $group_id, 'group_extension_example_2_setting', $setting );
        }

        /**
         * create_screen() is an optional method that, when present, will
         * be used instead of settings_screen() in the context of group
         * creation.
         *
         * Similar overrides exist via the following methods:
         *   * create_screen_save()
         *   * edit_screen()
         *   * edit_screen_save()
         *   * admin_screen()
         *   * admin_screen_save()
         */
        function create_screen( $group_id = NULL ) {
            $setting = groups_get_groupmeta( $group_id, 'group_extension_example_2_setting' );

            ?>
            Welcome to your new group! You are neat.
            Save your plugin setting here: <input type="text" name="group_extension_example_2_setting" value="<?php echo esc_attr( $setting ) ?>" />
            <?php
        }

    }
    bp_register_group_extension( 'Group_Extension_Example_2' );

    class Group_Extension_Example_3 extends BP_Group_Extension {
        /**
         * Here you can see more customization of the config options
         */
        function __construct() {
            $args = array(
                'slug' => 'group-extension-example-3',
                'name' => 'New Tab 2',
                'nav_item_position' => 105,
                'screens' => array(
                    'edit' => array(
                        'name' => 'GE Example 3',
                        // Changes the text of the Submit button
                        // on the Edit page
                    ),
                    'create' => array(
                        'position' => 100,
                    ),
                ),
            );
            parent::init( $args );
        }

        function display( $group_id = NULL ) {
            $group_id = bp_get_group_id();
            echo 'This plugin is 3x cooler!';
        }

        function settings_screen( $group_id = NULL ) {
            $setting = groups_get_groupmeta( $group_id, 'group_extension_example_3_setting' );

            ?>
            Save your plugin setting here: <input type="text" name="group_extension_example_3_setting" value="<?php echo esc_attr( $setting ) ?>" />
            <?php
        }

        function settings_screen_save( $group_id = NULL ) {
            $setting = isset( $_POST['group_extension_example_3_setting'] ) ? $_POST['group_extension_example_3_setting'] : '';
            groups_update_groupmeta( $group_id, 'group_extension_example_3_setting', $setting );
        }

        /**
         * create_screen() is an optional method that, when present, will
         * be used instead of settings_screen() in the context of group
         * creation.
         *
         * Similar overrides exist via the following methods:
         *   * create_screen_save()
         *   * edit_screen()
         *   * edit_screen_save()
         *   * admin_screen()
         *   * admin_screen_save()
         */
        function create_screen( $group_id = NULL ) {
            $setting = groups_get_groupmeta( $group_id, 'group_extension_example_3_setting' );

            ?>
            Welcome to your new group! You are neat.
            Save your plugin setting here: <input type="text" name="group_extension_example_3_setting" value="<?php echo esc_attr( $setting ) ?>" />
            <?php
        }

    }
    bp_register_group_extension( 'Group_Extension_Example_3' );

     class Group_Extension_Example_4 extends BP_Group_Extension {
        /**
         * Here you can see more customization of the config options
         */
        function __construct() {
            $args = array(
                'slug' => 'group-extension-example-4',
                'name' => 'New Tab 3',
                'nav_item_position' => 112,
                'screens' => array(
                    'edit' => array(
                        'name' => 'GE Example 4',
                        // Changes the text of the Submit button
                        // on the Edit page
                    ),
                    'create' => array(
                        'position' => 100,
                    ),
                ),
            );
            parent::init( $args );
        }

        function display( $group_id = NULL ) {
            $group_id = bp_get_group_id();
            echo 'This plugin is 4x cooler!';
        }

        function settings_screen( $group_id = NULL ) {
            $setting = groups_get_groupmeta( $group_id, 'group_extension_example_4_setting' );

            ?>
            Save your plugin setting here: <input type="text" name="group_extension_example_4_setting" value="<?php echo esc_attr( $setting ) ?>" />
            <?php
        }

        function settings_screen_save( $group_id = NULL ) {
            $setting = isset( $_POST['group_extension_example_4_setting'] ) ? $_POST['group_extension_example_4_setting'] : '';
            groups_update_groupmeta( $group_id, 'group_extension_example_4_setting', $setting );
        }

        /**
         * create_screen() is an optional method that, when present, will
         * be used instead of settings_screen() in the context of group
         * creation.
         *
         * Similar overrides exist via the following methods:
         *   * create_screen_save()
         *   * edit_screen()
         *   * edit_screen_save()
         *   * admin_screen()
         *   * admin_screen_save()
         */
        function create_screen( $group_id = NULL ) {
            $setting = groups_get_groupmeta( $group_id, 'group_extension_example_4_setting' );

            ?>
            Welcome to your new group! You are neat.
            Save your plugin setting here: <input type="text" name="group_extension_example_4_setting" value="<?php echo esc_attr( $setting ) ?>" />
            <?php
        }

    }
    bp_register_group_extension( 'Group_Extension_Example_4' );
}
add_action( 'bp_init', 'group_extension_hook_start' );

function change_group_default_tab_2( $default_tab ) {
    return 'group-extension-example-2';
}
// Set the group home page as the default page if one exists.
// add_filter( 'bp_groups_default_extension', 'change_group_default_tab_2' );