RTMediaNav::custom_media_nav_tab PHP Method

custom_media_nav_tab() public method

Load Custom tabs on BuddyPress
    function custom_media_nav_tab()
    {
        $bp = buddypress();
        if (!function_exists('bp_core_new_nav_item')) {
            return;
        }
        if (bp_is_blog_page() || !bp_is_group() && !(isset($bp->displayed_user) && isset($bp->displayed_user->id)) || apply_filters('rtmedia_render_bp_nav', false)) {
            return;
        }
        global $rtmedia;
        if (function_exists('bp_is_group') && !bp_is_group()) {
            if (isset($bp->displayed_user) && isset($bp->displayed_user->id)) {
                $profile_counts = $this->actual_counts($bp->displayed_user->id);
            }
            $tab_position = apply_filters('rtmedia_media_tab_position', 99);
            if (0 !== intval($rtmedia->options['buddypress_enableOnProfile'])) {
                bp_core_new_nav_item(array('name' => RTMEDIA_MEDIA_LABEL . ' <span>' . $profile_counts['total']['all'] . '</span>', 'slug' => apply_filters('rtmedia_media_tab_slug', RTMEDIA_MEDIA_SLUG), 'screen_function' => array($this, 'media_screen'), 'default_subnav_slug' => 'all', 'position' => $tab_position));
            }
        }
        if (bp_is_group() && 0 !== intval($rtmedia->options['buddypress_enableOnGroup'])) {
            $media_enabled = true;
            //filter for rtMedia PRO for PER GROUP MEDIA enable/disable functionality
            $media_enabled = apply_filters('rtmedia_media_enabled_for_current_group', $media_enabled);
            // check if current user can view this group
            $current_group = groups_get_current_group();
            /**
             * remove `$current_group->is_visible` and add `bp_group_is_visible( $current_group )`
             * reason   : In Buddypress 2.7 `is_visible` return false so we can't display `media` tab on group
             * issue id	: http://git.rtcamp.com/rtmedia/rtMedia/issues/119
             */
            // $is_visible_to_current_user = $current_group->is_visible;
            $is_visible_to_current_user = bp_group_is_visible($current_group);
            if ($media_enabled && $is_visible_to_current_user) {
                $group_counts = $this->actual_counts($bp->groups->current_group->id, 'group');
                $slug = apply_filters('rtmedia_group_media_tab_slug', RTMEDIA_MEDIA_SLUG);
                if (isset($bp->version) && $bp->version > '2.5.3') {
                    /*
                     * As from BuddyPress 2.6, you can't access $bp->bp_options_nav directly.
                     * Use `bp_core_new_subnav_item` to add subnav item.
                     *
                     * Check https://buddypress.trac.wordpress.org/ticket/6534 and https://buddypress.trac.wordpress.org/changeset/10745
                     * for more details
                     */
                    bp_core_new_subnav_item(array('name' => RTMEDIA_MEDIA_LABEL . ' <span>' . $group_counts['total']['all'] . '</span>', 'link' => trailingslashit(bp_get_root_domain() . '/' . bp_get_groups_root_slug() . '/' . bp_get_current_group_slug() . '/') . $slug, 'slug' => $slug, 'parent_slug' => bp_get_current_group_slug(), 'parent_url' => trailingslashit(bp_get_root_domain() . '/' . bp_get_groups_root_slug() . '/' . bp_get_current_group_slug() . '/'), 'user_has_access' => true, 'css_id' => 'rtmedia-media-nav', 'position' => 99, 'screen_function' => array($this, 'media_screen'), 'default_subnav_slug' => 'all'));
                } else {
                    $bp->bp_options_nav[bp_get_current_group_slug()]['media'] = array('name' => RTMEDIA_MEDIA_LABEL . ' <span>' . $group_counts['total']['all'] . '</span>', 'link' => trailingslashit(bp_get_root_domain() . '/' . bp_get_groups_root_slug() . '/' . bp_get_current_group_slug() . '/') . $slug, 'slug' => $slug, 'user_has_access' => true, 'css_id' => 'rtmedia-media-nav', 'position' => 99, 'screen_function' => array($this, 'media_screen'), 'default_subnav_slug' => 'all');
                }
            }
        }
    }