Example #1
0
function messages_setup_nav()
{
    global $bp;
    if ($bp->current_component == $bp->messages->slug) {
        $inbox_count = messages_get_unread_count();
        $inbox_display = $inbox_count ? ' style="display:inline;"' : ' style="display:none;"';
        $count_indicator = '&nbsp; <span' . $inbox_display . ' class="unread-count inbox-count">' . $inbox_count . '</span>';
    }
    /* Add 'Profile' to the main navigation */
    bp_core_add_nav_item(__('Messages', 'buddypress'), $bp->messages->slug, false, false);
    bp_core_add_nav_default($bp->messages->slug, 'messages_screen_inbox', 'inbox', bp_is_home());
    $messages_link = $bp->loggedin_user->domain . $bp->messages->slug . '/';
    /* Add the subnav items to the profile */
    bp_core_add_subnav_item($bp->messages->slug, 'inbox', __('Inbox', 'buddypress') . $count_indicator, $messages_link, 'messages_screen_inbox', false, bp_is_home());
    bp_core_add_subnav_item($bp->messages->slug, 'sentbox', __('Sent Messages', 'buddypress'), $messages_link, 'messages_screen_sentbox', false, bp_is_home());
    bp_core_add_subnav_item($bp->messages->slug, 'compose', __('Compose', 'buddypress'), $messages_link, 'messages_screen_compose', false, bp_is_home());
    bp_core_add_subnav_item($bp->messages->slug, 'notices', __('Notices', 'buddypress'), $messages_link, 'messages_screen_notices', false, true, true);
    if ($bp->current_component == $bp->messages->slug) {
        if (bp_is_home()) {
            $bp->bp_options_title = __('My Messages', 'buddypress');
        } else {
            $bp_options_avatar = bp_core_get_avatar($bp->displayed_user->id, 1);
            $bp->bp_options_title = $bp->displayed_user->fullname;
        }
    }
}
function bp_core_add_settings_nav()
{
    global $bp;
    /* Add the settings navigation item */
    bp_core_add_nav_item(__('Settings', 'buddypress'), 'settings', false, false);
    bp_core_add_nav_default('settings', 'bp_core_screen_general_settings', 'general', false);
    bp_core_add_subnav_item('settings', 'general', __('General', 'buddypress'), $bp->loggedin_user->domain . 'settings/', 'bp_core_screen_general_settings', false, bp_is_home());
    bp_core_add_subnav_item('settings', 'notifications', __('Notifications', 'buddypress'), $bp->loggedin_user->domain . 'settings/', 'bp_core_screen_notification_settings', false, bp_is_home());
    bp_core_add_subnav_item('settings', 'delete-account', __('Delete Account', 'buddypress'), $bp->loggedin_user->domain . 'settings/', 'bp_core_screen_delete_account', false, bp_is_home());
}
Example #3
0
function friends_setup_nav()
{
    global $bp;
    /* Add 'Friends' to the main navigation */
    bp_core_add_nav_item(__('Friends', 'buddypress'), $bp->friends->slug);
    bp_core_add_nav_default($bp->friends->slug, 'friends_screen_my_friends', 'my-friends');
    $friends_link = $bp->loggedin_user->domain . $bp->friends->slug . '/';
    /* Add the subnav items to the friends nav item */
    bp_core_add_subnav_item($bp->friends->slug, 'my-friends', __('My Friends', 'buddypress'), $friends_link, 'friends_screen_my_friends', 'friends-my-friends');
    bp_core_add_subnav_item($bp->friends->slug, 'requests', __('Requests', 'buddypress'), $friends_link, 'friends_screen_requests', false, bp_is_home());
    if ($bp->current_component == $bp->friends->slug) {
        if (bp_is_home()) {
            $bp->bp_options_title = __('My Friends', 'buddypress');
        } else {
            $bp->bp_options_avatar = bp_core_get_avatar($bp->displayed_user->id, 1);
            $bp->bp_options_title = $bp->displayed_user->fullname;
        }
    }
}
Example #4
0
/**
 * xprofile_setup_nav()
 *
 * Sets up the navigation items for the xprofile component
 * 
 * @package BuddyPress XProfile
 * @global $bp The global BuddyPress settings variable created in bp_core_setup_globals()
 * @uses bp_core_add_nav_item() Adds a navigation item to the top level buddypress navigation
 * @uses bp_core_add_nav_default() Sets which sub navigation item is selected by default
 * @uses bp_core_add_subnav_item() Adds a sub navigation item to a nav item
 * @uses bp_is_home() Returns true if the current user being viewed is equal the logged in user
 * @uses bp_core_get_avatar() Returns the either the thumb (1) or full (2) avatar URL for the user_id passed
 */
function xprofile_setup_nav()
{
    global $bp;
    /* Add 'Profile' to the main navigation */
    bp_core_add_nav_item(__('Profile', 'buddypress'), $bp->profile->slug);
    bp_core_add_nav_default($bp->profile->slug, 'xprofile_screen_display_profile', 'public');
    $profile_link = $bp->loggedin_user->domain . $bp->profile->slug . '/';
    /* Add the subnav items to the profile */
    bp_core_add_subnav_item($bp->profile->slug, 'public', __('Public', 'buddypress'), $profile_link, 'xprofile_screen_display_profile');
    bp_core_add_subnav_item($bp->profile->slug, 'edit', __('Edit Profile', 'buddypress'), $profile_link, 'xprofile_screen_edit_profile');
    bp_core_add_subnav_item($bp->profile->slug, 'change-avatar', __('Change Avatar', 'buddypress'), $profile_link, 'xprofile_screen_change_avatar');
    if ($bp->current_component == $bp->profile->slug) {
        if (bp_is_home()) {
            $bp->bp_options_title = __('My Profile', 'buddypress');
        } else {
            $bp->bp_options_avatar = bp_core_get_avatar($bp->displayed_user->id, 1);
            $bp->bp_options_title = $bp->displayed_user->fullname;
        }
    }
}
/**
 * bp_zoneideas_setup_nav()
 *
 * Sets up the navigation items for the component. This adds the top level nav
 * item and all the sub level nav items to the navigation array. This is then
 * rendered in the template.
 */
function bp_zoneideas_setup_nav()
{
    global $bp;
    /* Add 'zoneideas' to the main navigation */
    bp_core_add_nav_item(__('Ideas', 'bp-zoneideas'), $bp->zoneideas->slug);
    /* Set a specific sub nav item as the default when the top level item is clicked */
    bp_core_add_nav_default($bp->zoneideas->slug, 'bp_zoneideas_summary', 'summary');
    $zoneideas_link = $bp->loggedin_user->domain . $bp->zoneideas->slug . '/';
    bp_core_add_subnav_item($bp->zoneideas->slug, 'summary', __('Summary', 'bp-zoneideas'), $zoneideas_link, 'bp_zoneideas_summary');
    bp_core_add_subnav_item($bp->zoneideas->slug, 'last', __('Last', 'bp-zoneideas'), $zoneideas_link, 'bp_zoneideas_last_ideas');
    bp_core_add_subnav_item($bp->zoneideas->slug, 'top', __('Top', 'bp-zoneideas'), $zoneideas_link, 'bp_zoneideas_top_ideas');
    bp_core_add_subnav_item($bp->zoneideas->slug, 'active', __('Active', 'bp-zoneideas'), $zoneideas_link, 'bp_zoneideas_active_ideas');
    bp_core_add_subnav_item($bp->zoneideas->slug, 'new', __('New Idea', 'bp-zoneideas'), $zoneideas_link, 'bp_zoneideas_new_idea', false, bp_is_home());
    /* Add a nav item for this component under the settings nav item. See bp_zoneideas_screen_settings_menu() for more info */
    bp_core_add_subnav_item('settings', 'zoneideas-admin', __('zoneideas', 'bp-zoneideas'), $bp->loggedin_user->domain . 'settings/', 'bp_zoneideas_screen_settings_menu', false, bp_is_home());
    /* Only execute the following code if we are actually viewing this component (e.g. http://example.org/example) */
    if ($bp->current_component == $bp->zoneideas->slug) {
        if (bp_is_home()) {
            /* If the user is viewing their own profile area set the title to "My Example" */
            $bp->bp_options_title = __('My Ideas', 'bp-zoneideas');
        } else {
            /* If the user is viewing someone elses profile area, set the title to "[user fullname]" */
            $bp->bp_options_avatar = bp_core_get_avatar($bp->displayed_user->id, 1);
            $bp->bp_options_title = $bp->displayed_user->fullname;
        }
    }
}
Example #6
0
function groups_setup_nav()
{
    global $bp, $current_blog;
    global $group_obj;
    if ($group_id = BP_Groups_Group::group_exists($bp->current_action)) {
        /* This is a single group page. */
        $bp->is_single_item = true;
        $group_obj = new BP_Groups_Group($group_id);
        /* Using "item" not "group" for generic support in other components. */
        if (is_site_admin()) {
            $bp->is_item_admin = 1;
        } else {
            $bp->is_item_admin = groups_is_user_admin($bp->loggedin_user->id, $group_obj->id);
        }
        /* If the user is not an admin, check if they are a moderator */
        if (!$bp->is_item_admin) {
            $bp->is_item_mod = groups_is_user_mod($bp->loggedin_user->id, $group_obj->id);
        }
        /* Is the logged in user a member of the group? */
        $is_member = groups_is_user_member($bp->loggedin_user->id, $group_obj->id) ? true : false;
        /* Should this group be visible to the logged in user? */
        $is_visible = 'public' == $group_obj->status || $is_member ? true : false;
    }
    /* Add 'Groups' to the main navigation */
    bp_core_add_nav_item(__('Groups', 'buddypress'), $bp->groups->slug);
    if ($bp->displayed_user->id) {
        bp_core_add_nav_default($bp->groups->slug, 'groups_screen_my_groups', 'my-groups');
    }
    $groups_link = $bp->loggedin_user->domain . $bp->groups->slug . '/';
    /* Add the subnav items to the groups nav item */
    bp_core_add_subnav_item($bp->groups->slug, 'my-groups', __('My Groups', 'buddypress'), $groups_link, 'groups_screen_my_groups', 'my-groups-list');
    bp_core_add_subnav_item($bp->groups->slug, 'create', __('Create a Group', 'buddypress'), $groups_link, 'groups_screen_create_group', false, bp_is_home());
    bp_core_add_subnav_item($bp->groups->slug, 'invites', __('Invites', 'buddypress'), $groups_link, 'groups_screen_group_invites', false, bp_is_home());
    if ($bp->current_component == $bp->groups->slug) {
        if (bp_is_home() && !$bp->is_single_item) {
            $bp->bp_options_title = __('My Groups', 'buddypress');
        } else {
            if (!bp_is_home() && !$bp->is_single_item) {
                $bp->bp_options_avatar = bp_core_get_avatar($bp->displayed_user->id, 1);
                $bp->bp_options_title = $bp->displayed_user->fullname;
            } else {
                if ($bp->is_single_item) {
                    // We are viewing a single group, so set up the
                    // group navigation menu using the $group_obj global.
                    /* When in a single group, the first action is bumped down one because of the
                       group name, so we need to adjust this and set the group name to current_item. */
                    $bp->current_item = $bp->current_action;
                    $bp->current_action = $bp->action_variables[0];
                    array_shift($bp->action_variables);
                    $bp->bp_options_title = $group_obj->name;
                    $bp->bp_options_avatar = '<img src="' . $group_obj->avatar_thumb . '" alt="Group Avatar Thumbnail" />';
                    $group_link = $bp->root_domain . '/' . $bp->groups->slug . '/' . $group_obj->slug . '/';
                    // If this is a private or hidden group, does the user have access?
                    if ('private' == $group_obj->status || 'hidden' == $group_obj->status) {
                        if (groups_is_user_member($bp->loggedin_user->id, $group_obj->id) && is_user_logged_in()) {
                            $has_access = true;
                        } else {
                            $has_access = false;
                        }
                    } else {
                        $has_access = true;
                    }
                    // Reset the existing subnav items
                    bp_core_reset_subnav_items($bp->groups->slug);
                    bp_core_add_nav_default($bp->groups->slug, 'groups_screen_group_home', 'home');
                    bp_core_add_subnav_item($bp->groups->slug, 'home', __('Home', 'buddypress'), $group_link, 'groups_screen_group_home', 'group-home');
                    // If the user is a group mod or more, then show the group admin nav item */
                    if ($bp->is_item_mod || $bp->is_item_admin) {
                        bp_core_add_subnav_item($bp->groups->slug, 'admin', __('Admin', 'buddypress'), $group_link, 'groups_screen_group_admin', 'group-admin', $bp->is_item_admin + (int) $bp->is_item_mod);
                    }
                    // If this is a private group, and the user is not a member, show a "Request Membership" nav item.
                    if (!$has_access && !groups_check_for_membership_request($bp->loggedin_user->id, $group_obj->id) && $group_obj->status == 'private') {
                        bp_core_add_subnav_item($bp->groups->slug, 'request-membership', __('Request Membership', 'buddypress'), $group_link, 'groups_screen_group_request_membership', 'request-membership');
                    }
                    if ($has_access && $group_obj->enable_forum && function_exists('bp_forums_setup')) {
                        bp_core_add_subnav_item($bp->groups->slug, 'forum', __('Forum', 'buddypress'), $group_link, 'groups_screen_group_forum', 'group-forum', $is_visible);
                    }
                    if ($has_access && $group_obj->enable_wire && function_exists('bp_wire_install')) {
                        bp_core_add_subnav_item($bp->groups->slug, 'wire', __('Wire', 'buddypress'), $group_link, 'groups_screen_group_wire', 'group-wire', $is_visible);
                    }
                    if ($has_access && $group_obj->enable_photos && function_exists('bp_gallery_install')) {
                        bp_core_add_subnav_item($bp->groups->slug, 'photos', __('Photos', 'buddypress'), $group_link, 'groups_screen_group_photos', 'group-photos', $is_visible);
                    }
                    if ($has_access) {
                        bp_core_add_subnav_item($bp->groups->slug, 'members', __('Members', 'buddypress'), $group_link, 'groups_screen_group_members', 'group-members', $is_visible);
                    }
                    if (is_user_logged_in() && groups_is_user_member($bp->loggedin_user->id, $group_obj->id)) {
                        if (function_exists('friends_install')) {
                            bp_core_add_subnav_item($bp->groups->slug, 'send-invites', __('Send Invites', 'buddypress'), $group_link, 'groups_screen_group_invite', 'group-invite', $is_member);
                        }
                        bp_core_add_subnav_item($bp->groups->slug, 'leave-group', __('Leave Group', 'buddypress'), $group_link, 'groups_screen_group_leave', 'group-leave', $is_member);
                    }
                }
            }
        }
    }
}
Example #7
0
/**
 * bp_core_setup_nav()
 *
 * Sets up the profile navigation item if the Xprofile component is not installed.
 * 
 * @package BuddyPress Core
 * @global $bp The global BuddyPress settings variable created in bp_core_setup_globals()
 * @uses bp_core_add_nav_item() Adds a navigation item to the top level buddypress navigation
 * @uses bp_core_add_nav_default() Sets which sub navigation item is selected by default
 * @uses bp_core_add_subnav_item() Adds a sub navigation item to a nav item
 * @uses bp_is_home() Returns true if the current user being viewed is equal the logged in user
 * @uses bp_core_get_avatar() Returns the either the thumb (1) or full (2) avatar URL for the user_id passed
 */
function bp_core_setup_nav()
{
    global $bp;
    if (!function_exists('xprofile_install')) {
        /* Add 'Profile' to the main navigation */
        bp_core_add_nav_item(__('Perfil', 'buddypress'), 'profile');
        bp_core_add_nav_default('profile', 'bp_core_catch_profile_uri', 'public');
        $profile_link = $bp->loggedin_user->domain . '/profile/';
        /* Add the subnav items to the profile */
        bp_core_add_subnav_item('profile', 'public', __('Public', 'buddypress'), $profile_link, 'xprofile_screen_display_profile');
        if ('profile' == $bp->current_component) {
            if (bp_is_home()) {
                $bp->bp_options_title = __('Mi Perfil', 'buddypress');
            } else {
                $bp->bp_options_avatar = bp_core_get_avatar($bp->displayed_user->id, 1);
                $bp->bp_options_title = $bp->displayed_user->fullname;
            }
        }
    }
}
Example #8
0
/**
 * bp_blogs_setup_nav()
 *
 * Adds "Blog" to the navigation arrays for the current and logged in user.
 * 
 * @package BuddyPress Blogs
 * @global $bp The global BuddyPress settings variable created in bp_core_setup_globals()
 * @uses bp_is_home() Checks to see if the current user being viewed is the logged in user
 */
function bp_blogs_setup_nav()
{
    global $bp;
    /* Add 'Blogs' to the main navigation */
    bp_core_add_nav_item(__('Blogs', 'buddypress'), $bp->blogs->slug);
    if ($bp->displayed_user->id) {
        bp_core_add_nav_default($bp->blogs->slug, 'bp_blogs_screen_my_blogs', 'my-blogs');
    }
    $blogs_link = $bp->loggedin_user->domain . $bp->blogs->slug . '/';
    /* Add the subnav items to the blogs nav item */
    bp_core_add_subnav_item($bp->blogs->slug, 'my-blogs', __('My Blogs', 'buddypress'), $blogs_link, 'bp_blogs_screen_my_blogs', 'my-blogs-list');
    bp_core_add_subnav_item($bp->blogs->slug, 'recent-posts', __('Recent Posts', 'buddypress'), $blogs_link, 'bp_blogs_screen_recent_posts');
    bp_core_add_subnav_item($bp->blogs->slug, 'recent-comments', __('Recent Comments', 'buddypress'), $blogs_link, 'bp_blogs_screen_recent_comments');
    bp_core_add_subnav_item($bp->blogs->slug, 'create-a-blog', __('Create a Blog', 'buddypress'), $blogs_link, 'bp_blogs_screen_create_a_blog');
    /* Set up the component options navigation for Blog */
    if ('blogs' == $bp->current_component) {
        if (bp_is_home()) {
            if (function_exists('xprofile_setup_nav')) {
                $bp->bp_options_title = __('My Blogs', 'buddypress');
            }
        } else {
            /* If we are not viewing the logged in user, set up the current users avatar and name */
            $bp->bp_options_avatar = bp_core_get_avatar($bp->displayed_user->id, 1);
            $bp->bp_options_title = $bp->displayed_user->fullname;
        }
    }
}
Example #9
0
/**
 * bp_chat_setup_nav()
 *
 * Sets up the navigation items for the component. This adds the top level nav
 * item and all the sub level nav items to the navigation array. This is then
 * rendered in the template.
 */
function bp_chat_setup_nav()
{
    global $bp, $current_blog, $group_object;
    #$chat_link = $bp->loggedin_user->domain . $bp->chat->slug . '/';
    $chat_link = get_bloginfo('wpurl') . $bp->chat->slug . '/';
    if (function_exists('anygig_orig_check_supporter')) {
        if (false == anygig_orig_check_supporter('Chat', 'bp-chat', $bp->chat->slug, 80, $bp->chat->id, $chat_link)) {
            return;
        }
    }
    if (function_exists('bp_core_new_nav_item')) {
        bp_core_new_nav_item(array('name' => __('Chat', 'bp-chat'), 'slug' => $bp->chat->slug, 'screen_function' => 'bp_chat_screen_one', 'default_subnav_slug' => 'chat', 'user_has_access' => bp_is_home()));
    } else {
        /* Add 'Chat' to the main navigation */
        bp_core_add_nav_item(__('Chat', 'bp-chat'), $bp->chat->slug);
        /* Set a specific sub nav item as the default when the top level item is clicked */
        bp_core_add_nav_default($bp->chat->slug, 'bp_chat_screen_one', 'chat-one');
    }
    if (class_exists('BP_Groups_Group')) {
        if ($group_id = BP_Groups_Group::group_exists($bp->current_action)) {
            /* This is a single group page. */
            $bp->is_single_item = true;
            $bp->groups->current_group =& new BP_Groups_Group($group_id);
        }
        $groups_link = $bp->root_domain . '/' . $bp->groups->slug . '/' . $bp->groups->current_group->slug . '/';
        /* Add the subnav item only to the single group nav item*/
        if ($bp->is_single_item) {
            bp_core_new_subnav_item(array('name' => __('Chat', 'bp-chat'), 'slug' => $bp->chat->slug, 'parent_url' => $groups_link, 'parent_slug' => $bp->groups->slug, 'screen_function' => 'bp_chat_screen_one', 'position' => 35, 'user_has_access' => $bp->groups->current_group->user_has_access, 'item_css_id' => 'bp-chat'));
        }
        do_action('bp_group_documents_nav_setup');
    }
    #print "<pre>";
    #print_r ($bp->groups);
    #print "</pre>";
    /* Only execute the following code if we are actually viewing this component (e.g. http://chat.org/chat) */
    if ($bp->current_component == $bp->chat->slug) {
        if (bp_is_home()) {
            /* If the user is viewing their own profile area set the title to "My Chat" */
            $bp->bp_options_title = __('My Chat', 'bp-chat');
        } else {
            /* If the user is viewing someone elses profile area, set the title to "[user fullname]" */
            //$bp->bp_options_avatar = bp_core_get_avatar( $bp->displayed_user->id, 1 );
            $bp->bp_options_title = $bp->displayed_user->fullname;
        }
    }
}