public function profile_tab_gifts()
 {
     global $bp;
     bp_core_new_nav_item(array('parent_url' => bp_loggedin_user_domain() . '/gifts/', 'parent_slug' => $bp->profile->slug, 'default_subnav_slug' => 'send_gift', 'show_for_displayed_user' => false, 'name' => 'Gifts', 'slug' => 'gifts', 'screen_function' => array($this, 'send_gift_posts'), 'position' => 40));
     bp_core_new_subnav_item(array('name' => 'Send Gift', 'slug' => 'send_gift', 'show_for_displayed_user' => false, 'parent_url' => bp_loggedin_user_domain() . '/gifts/', 'parent_slug' => $bp->bp_nav['gifts']['slug'], 'position' => 10, 'screen_function' => array($this, 'send_gift_posts')));
     bp_core_new_subnav_item(array('name' => 'Received Gift', 'slug' => 'received_gift', 'parent_url' => bp_loggedin_user_domain() . '/gifts/', 'parent_slug' => $bp->bp_nav['gifts']['slug'], 'position' => 10, 'screen_function' => array($this, 'received_gifts_posts')));
 }
function messages_action_view_message()
{
    global $thread_id, $bp;
    if (!bp_is_messages_component() || !bp_is_current_action('view')) {
        return false;
    }
    $thread_id = (int) bp_action_variable(0);
    if (!$thread_id || !messages_is_valid_thread($thread_id) || !messages_check_thread_access($thread_id) && !is_super_admin()) {
        bp_core_redirect(bp_displayed_user_domain() . bp_get_messages_slug());
    }
    // Check if a new reply has been submitted
    if (isset($_POST['send'])) {
        // Check the nonce
        check_admin_referer('messages_send_message', 'send_message_nonce');
        // Send the reply
        if (messages_new_message(array('thread_id' => $thread_id, 'subject' => $_POST['subject'], 'content' => $_POST['content']))) {
            bp_core_add_message(__('Your reply was sent successfully', 'buddypress'));
        } else {
            bp_core_add_message(__('There was a problem sending your reply, please try again', 'buddypress'), 'error');
        }
        bp_core_redirect(bp_displayed_user_domain() . bp_get_messages_slug() . '/view/' . $thread_id . '/');
    }
    // Mark message read
    messages_mark_thread_read($thread_id);
    // Decrease the unread count in the nav before it's rendered
    $name = sprintf(__('Messages <span>%s</span>', 'buddypress'), bp_get_total_unread_messages_count());
    $bp->bp_nav[$bp->messages->slug]['name'] = $name;
    do_action('messages_action_view_message');
    bp_core_new_subnav_item(array('name' => sprintf(__('From: %s', 'buddypress'), BP_Messages_Thread::get_last_sender($thread_id)), 'slug' => 'view', 'parent_url' => trailingslashit(bp_displayed_user_domain() . bp_get_messages_slug()), 'parent_slug' => bp_get_messages_slug(), 'screen_function' => true, 'position' => 40, 'user_has_access' => bp_is_my_profile(), 'link' => bp_displayed_user_domain() . bp_get_messages_slug() . '/view/' . (int) $thread_id));
    bp_core_load_template(apply_filters('messages_template_view_message', 'members/single/home'));
}
/**
 * Setup profile / BuddyBar navigation.
 *
 * This function was moved from {@link BP_Follow_Component} in v1.3.0 due
 * to the users module being toggleable.
 *
 * @since 1.3.0
 */
function bp_follow_user_setup_nav($main_nav = array(), $sub_nav = array())
{
    global $bp;
    // If we're in the admin area and we're using the WP toolbar, we don't need
    // to run the rest of this method
    if (defined('WP_NETWORK_ADMIN') && bp_use_wp_admin_bar()) {
        return;
    }
    // Need to change the user ID, so if we're not on a member page, $counts variable is still calculated
    $user_id = bp_is_user() ? bp_displayed_user_id() : bp_loggedin_user_id();
    $counts = bp_follow_total_follow_counts(array('user_id' => $user_id));
    // BuddyBar compatibility
    $domain = bp_displayed_user_domain() ? bp_displayed_user_domain() : bp_loggedin_user_domain();
    /** FOLLOWERS NAV ************************************************/
    bp_core_new_nav_item(array('name' => sprintf(__('Following <span>%d</span>', 'bp-follow'), $counts['following']), 'slug' => $bp->follow->following->slug, 'position' => $bp->follow->params['adminbar_myaccount_order'], 'screen_function' => 'bp_follow_screen_following', 'default_subnav_slug' => 'following', 'item_css_id' => 'members-following'));
    /** FOLLOWING NAV ************************************************/
    bp_core_new_nav_item(array('name' => sprintf(__('Followers <span>%d</span>', 'bp-follow'), $counts['followers']), 'slug' => $bp->follow->followers->slug, 'position' => apply_filters('bp_follow_followers_nav_position', 62), 'screen_function' => 'bp_follow_screen_followers', 'default_subnav_slug' => 'followers', 'item_css_id' => 'members-followers'));
    /** ACTIVITY SUBNAV **********************************************/
    // Add activity sub nav item
    if (bp_is_active('activity') && apply_filters('bp_follow_show_activity_subnav', true)) {
        bp_core_new_subnav_item(array('name' => _x('Following', 'Activity subnav tab', 'bp-follow'), 'slug' => constant('BP_FOLLOWING_SLUG'), 'parent_url' => trailingslashit($domain . bp_get_activity_slug()), 'parent_slug' => bp_get_activity_slug(), 'screen_function' => 'bp_follow_screen_activity_following', 'position' => 21, 'item_css_id' => 'activity-following'));
    }
    // BuddyBar compatibility
    add_action('bp_adminbar_menus', 'bp_follow_group_buddybar_items');
}
function bp_profile_header_setup()
{
    global $bp, $user_identity;
    $display_user_link = $bp->displayed_user->domain;
    $user_link = $display_user_link . $bp->settings->slug . '/';
    bp_core_new_subnav_item(array('name' => __('Flickr Youtube', TEMPLATE_DOMAIN), 'slug' => 'flickr-youtube', 'parent_url' => $user_link, 'parent_slug' => $bp->settings->slug, 'screen_function' => 'bp_profile_social', 'position' => 10));
}
Example #5
0
/**
 * bp_em_setup_nav()
 *
 * Sets up the user profile 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_em_setup_nav()
{
    global $bp;
    $count = 0;
    /* Add 'Events' to the main user profile navigation */
    bp_core_new_nav_item(array('name' => __('Events', 'bp-em'), 'slug' => $bp->events->slug, 'position' => 80, 'screen_function' => bp_is_my_profile() ? 'bp_em_my_events' : 'bp_em_events', 'default_subnav_slug' => bp_is_my_profile() ? 'my-events' : ''));
    $em_link = $bp->loggedin_user->domain . $bp->events->slug . '/';
    /* Create two sub nav items for this component */
    bp_core_new_subnav_item(array('name' => __('My Profile', 'dbem'), 'slug' => 'profile', 'parent_slug' => $bp->events->slug, 'parent_url' => $em_link, 'screen_function' => 'bp_em_events', 'position' => 10, 'user_has_access' => bp_is_my_profile()));
    bp_core_new_subnav_item(array('name' => __('Events I\'m Attending', 'dbem'), 'slug' => 'attending', 'parent_slug' => $bp->events->slug, 'parent_url' => $em_link, 'screen_function' => 'bp_em_attending', 'position' => 20, 'user_has_access' => bp_is_my_profile()));
    bp_core_new_subnav_item(array('name' => __('My Events', 'dbem'), 'slug' => 'my-events', 'parent_slug' => $bp->events->slug, 'parent_url' => $em_link, 'screen_function' => 'bp_em_my_events', 'position' => 30, 'user_has_access' => bp_is_my_profile()));
    bp_core_new_subnav_item(array('name' => __('My Locations', 'dbem'), 'slug' => 'my-locations', 'parent_slug' => $bp->events->slug, 'parent_url' => $em_link, 'screen_function' => 'bp_em_my_locations', 'position' => 40, 'user_has_access' => bp_is_my_profile()));
    bp_core_new_subnav_item(array('name' => __('My Event Bookings', 'dbem'), 'slug' => 'my-bookings', 'parent_slug' => $bp->events->slug, 'parent_url' => $em_link, 'screen_function' => 'bp_em_my_bookings', 'position' => 50, 'user_has_access' => bp_is_my_profile()));
    /* Add a nav item for this component under the settings nav item. */
    bp_core_new_subnav_item(array('name' => __('Events', 'dbem'), 'slug' => 'group-events', 'parent_slug' => $bp->groups->slug, 'parent_url' => $bp->loggedin_user->domain . $bp->groups->slug . '/', 'screen_function' => 'bp_em_my_group_events', 'position' => 60, 'user_has_access' => bp_is_my_profile()));
    /* Add a nav item for this component under the settings nav item. */
    bp_core_new_subnav_item(array('name' => __('Events', 'dbem'), 'slug' => 'events-settings', 'parent_slug' => $bp->settings->slug, 'parent_url' => $bp->loggedin_user->domain . $bp->settings->slug . '/', 'screen_function' => 'bp_em_screen_settings_menu', 'position' => 40, 'user_has_access' => bp_is_my_profile()));
    /* Create two sub nav items for this component */
    $group_link = $bp->root_domain . '/' . $bp->groups->slug . '/' . $bp->groups->current_group->slug . '/';
    if ($bp->current_component == 'groups') {
        $count = EM_Events::count(array('group' => $bp->groups->current_group->id));
        if (empty($count)) {
            $count = 0;
        }
    }
    bp_core_new_subnav_item(array('name' => sprintf(__('Events (%s)', 'dbem'), $count), 'slug' => 'events', 'parent_url' => $group_link, 'parent_slug' => $bp->groups->slug, 'screen_function' => 'bp_em_group_events', 'position' => 50, 'user_has_access' => $bp->groups->current_group->user_has_access, 'item_css_id' => 'forums'));
}
function bp_content_setup_nav()
{
    global $bp;
    bp_core_new_nav_item(array('name' => __('My Posts', 'buddypress'), 'slug' => 'my-posts', 'screen_function' => 'my_posts_screen_link', 'position' => 40, 'default_subnav_slug' => 'my-posts-subnav'));
    bp_core_new_subnav_item(array('name' => __('', 'buddypress'), 'slug' => 'my-posts', 'parent_url' => trailingslashit(bp_loggedin_user_domain() . 'main-tab'), 'parent_slug' => 'my-posts', 'screen_function' => 'my_posts_screen_link', 'position' => 10));
    do_action('bp_content_setup_nav');
}
 public static function bp_page_nav()
 {
     global $bp;
     global $fitbit_php;
     if (!is_user_logged_in() || !is_object($fitbit_php)) {
         return '';
     }
     $user_domain = bp_displayed_user_domain() ? bp_displayed_user_domain() : bp_loggedin_user_domain();
     $profile_link = trailingslashit($user_domain . $bp->profile->slug);
     bp_core_new_subnav_item(array('name' => FITPRESS_TAB_NAME, 'slug' => 'fitpress', 'parent_url' => $profile_link, 'parent_slug' => $bp->profile->slug, 'screen_function' => array('FitPress_BuddyPress', 'page_screen'), 'position' => 20, 'user_has_access' => current_user_can('edit_users')));
     // $fitbit_php->resetSession();
     // var_dump($fitbit_php);
     $user_domain = bp_displayed_user_domain() ? bp_displayed_user_domain() : bp_loggedin_user_domain();
     $profile_link = trailingslashit($user_domain . $bp->profile->slug);
     // var_dump($fitbit_php->sessionStatus());
     // wp_die();
     if (0 != $fitbit_php->sessionStatus() || 'authorize' == $_GET['FitPress']) {
         $fitbit_php->initSession($profile_link . '/fitpress/');
         $user_id = get_current_user_id();
         $new_value = $fitbit_php->getOAuthToken();
         // will return false if the previous value is the same as $new_value
         update_user_meta($user_id, 'fitpress_fitbit_token', $new_value);
         // so check and make sure the stored value matches $new_value
         if (get_user_meta($user_id, 'fitpress_fitbit_token', true) != $new_value) {
             wp_die('An error occurred');
         }
         $new_value = $fitbit_php->getOAuthSecret();
         // will return false if the previous value is the same as $new_value
         update_user_meta($user_id, 'fitpress_fitbit_secret', $new_value);
         // so check and make sure the stored value matches $new_value
         if (get_user_meta($user_id, 'fitpress_fitbit_secret', true) != $new_value) {
             wp_die('An error occurred');
         }
     }
 }
function ec_bp_setup_nav()
{
    global $bp;
    $events_link = $bp->displayed_user->domain . 'eventos/';
    bp_core_new_nav_item(array('name' => 'Eventos', 'slug' => 'eventos', 'screen_function' => 'ec_show_events_list', 'position' => 0));
    bp_core_new_subnav_item(array('name' => 'Eventos', 'slug' => 'mis-eventos', 'parent_url' => $events_link, 'parent_slug' => 'eventos', 'screen_function' => 'ec_show_events_list', 'position' => 10));
    bp_core_new_subnav_item(array('name' => 'Calendario', 'slug' => 'mi-calendario', 'parent_url' => $events_link, 'parent_slug' => 'eventos', 'screen_function' => 'ec_show_events_calendar', 'position' => 20));
    bp_core_new_subnav_item(array('name' => 'Crear Evento', 'slug' => 'evento_nuevo', 'parent_url' => $events_link, 'parent_slug' => 'eventos', 'screen_function' => 'ec_show_events_editor', 'user_has_access' => bp_is_my_profile(), 'position' => 30));
}
Example #9
0
function add_videos_subnav_tab()
{
    global $bp;
    bp_core_new_subnav_item(array('name' => 'Posts', 'slug' => 'posts', 'parent_url' => trailingslashit(bp_loggedin_user_domain() . 'favorites'), 'parent_slug' => 'favorites', 'screen_function' => 'profile_screen_posts', 'position' => 10));
    bp_core_new_subnav_item(array('name' => 'Articles', 'slug' => 'articles', 'parent_url' => trailingslashit(bp_loggedin_user_domain() . 'favorites'), 'parent_slug' => 'favorites', 'screen_function' => 'profile_screen_articles', 'position' => 20));
    $bp->bp_nav['profile']['name'] = 'About Me';
    $bp->bp_nav['buddyblog']['name'] = 'Published Articles';
    $bp->bp_nav['friends']['name'] = 'Soul Family';
    $bp->bp_nav['friends']['position'] = 20;
}
Example #10
0
/**
 * Build two sub menu items, the first is showing by default
 * @author Nacho Abejaro
 */
function bp_profile_submenu_posts()
{
    global $bp;
    $publishCount = get_user_posts_count('publish');
    $pendingCount = get_user_posts_count('pending');
    $draftCount = get_user_posts_count('draft');
    bp_core_new_subnav_item(array('name' => __('Published', 'agora-functions') . '<span>' . $publishCount . '</span>', 'slug' => 'mypublished', 'parent_url' => bp_displayed_user_domain() . $bp->bp_nav['myposts']['slug'] . '/', 'parent_slug' => $bp->bp_nav['myposts']['slug'], 'position' => 10, 'screen_function' => 'mb_author_posts'));
    bp_core_new_subnav_item(array('name' => __('Pending Review', 'agora-functions') . '<span>' . $pendingCount . '</span>', 'slug' => 'myunder-review', 'parent_url' => bp_displayed_user_domain() . $bp->bp_nav['myposts']['slug'] . '/', 'parent_slug' => $bp->bp_nav['myposts']['slug'], 'position' => 20, 'screen_function' => 'mb_author_pending'));
    bp_core_new_subnav_item(array('name' => __('Drafts', 'agora-functions') . '<span>' . $draftCount . '</span>', 'slug' => 'mydrafts', 'parent_url' => bp_displayed_user_domain() . $bp->bp_nav['myposts']['slug'] . '/', 'parent_slug' => $bp->bp_nav['myposts']['slug'], 'position' => 30, 'screen_function' => 'mb_author_drafts'));
}
Example #11
0
 /**
  * set_nav()
  *
  * Sets up the component navigation
  */
 function set_nav()
 {
     global $bp;
     if (!$bp->groups->current_group || !$this->courseware_status($bp->groups->current_group->id)) {
         return;
     }
     $group_permalink = bp_get_group_permalink($bp->groups->current_group);
     bp_core_new_subnav_item(array('name' => __('Courseware', 'bpsp'), 'slug' => $bp->courseware->slug, 'parent_url' => $group_permalink, 'parent_slug' => $bp->groups->current_group->slug, 'screen_function' => array(&$this, 'screen_handler'), 'position' => 35, 'user_has_access' => $bp->groups->current_group->user_has_access, 'item_css_id' => 'courseware-group'));
     $this->nav_options[__('Home', 'bpsp')] = $group_permalink . $bp->courseware->slug;
     do_action('courseware_group_set_nav');
 }
/**
 * Add albums page for network albums (grouped)
 */
function buddystream_profile_navigation()
{
    global $bp;
    if (get_site_option('buddystream_social_albums') == "on") {
        if (get_site_option('buddystream_social_albums_profile_navigation') == "on") {
            bp_core_new_subnav_item(array('name' => __('Social albums', 'buddystream_lang'), 'slug' => 'social-album', 'parent_url' => $bp->displayed_user->domain . $bp->profile->slug . '/', 'parent_slug' => $bp->profile->slug, 'screen_function' => 'buddystream_default_album', 'position' => 80));
        } else {
            bp_core_new_nav_item(array('name' => __('Social albums', 'buddystream_lang'), 'slug' => 'social-album', 'position' => 12, 'default_subnav_slug' => 'albums', 'screen_function' => 'buddystream_default_album'));
        }
    }
}
 function add_bp_profile_entry()
 {
     global $bp;
     bp_core_new_nav_item(array('name' => __('Events', Eab_EventsHub::TEXT_DOMAIN), 'slug' => 'my-events', 'show_for_displayed_user' => true, 'default_subnav_slug' => $this->_check_permissions() ? 'organized' : 'attending', 'screen_function' => '__return_false'));
     if ($this->_check_permissions()) {
         bp_core_new_subnav_item(array('name' => __('Organized', Eab_EventsHub::TEXT_DOMAIN), 'slug' => 'organized', 'parent_url' => $bp->displayed_user->domain . 'my-events' . '/', 'parent_slug' => 'my-events', 'screen_function' => array($this, 'bind_bp_organized_page')));
     }
     bp_core_new_subnav_item(array('name' => __('Attending', Eab_EventsHub::TEXT_DOMAIN), 'slug' => 'attending', 'parent_url' => $bp->displayed_user->domain . 'my-events' . '/', 'parent_slug' => 'my-events', 'screen_function' => array($this, 'bind_bp_attending_page')));
     bp_core_new_subnav_item(array('name' => __('Maybe', Eab_EventsHub::TEXT_DOMAIN), 'slug' => 'mabe', 'parent_url' => $bp->displayed_user->domain . 'my-events' . '/', 'parent_slug' => 'my-events', 'screen_function' => array($this, 'bind_bp_maybe_page')));
     bp_core_new_subnav_item(array('name' => __('Not Attending', Eab_EventsHub::TEXT_DOMAIN), 'slug' => 'not-attending', 'parent_url' => $bp->displayed_user->domain . 'my-events' . '/', 'parent_slug' => 'my-events', 'screen_function' => array($this, 'bind_bp_not_attending_page')));
     do_action('eab-events-my_events-set_up_navigation');
 }
Example #14
0
function bfox_bp_plans_setup_nav()
{
    global $bp;
    $slug = 'plans';
    $link = (!empty($bp->displayed_user->domain) ? $bp->displayed_user->domain : $bp->loggedin_user->domain) . $slug . '/';
    bp_core_new_nav_item(array('name' => __('Reading Plans', 'bfox'), 'slug' => $slug, 'position' => 21, 'show_for_displayed_user' => true, 'screen_function' => 'bfox_bp_plans_my_plans_screen_view', 'default_subnav_slug' => 'my-plans'));
    /*	bp_core_new_subnav_item( array(
    		'name' => __('Calendar', 'bfox'),
    		'slug' => 'calendar',
    		'parent_slug' => $slug,
    		'parent_url' => $link,
    		'screen_function' => 'bfox_bp_bible_study_calendar_screen_view',
    		'position' => 130,
    	) );
    */
    bp_core_new_subnav_item(array('name' => __('My Plans', 'bfox'), 'slug' => 'my-plans', 'parent_slug' => $slug, 'parent_url' => $link, 'screen_function' => 'bfox_bp_plans_my_plans_screen_view', 'position' => 130));
    /*
    if ($slug == $bp->current_component && ('schedule' == $bp->current_action || 'delete-schedule' == $bp->current_action)) {
    	$schedule = bfox_bp_schedule(BfoxReadingSchedule::schedule($bp->action_variables[0]));
    	if ($schedule->id) {
    		if ($schedule->is_user_member($bp->displayed_user->id)) {
    			if ('schedule' == $bp->current_action) {
    				bfox_bp_plans_reading_redirect($schedule, $bp->action_variables[1], $bp->action_variables[2]);
    
    				$bp->current_action = "schedule/$schedule->id";
    				bp_core_new_subnav_item( array(
    					'name' => __('View Schedule', 'bfox'),
    					'slug' => $bp->current_action,
    					'parent_slug' => $slug,
    					'parent_url' => $link,
    					'screen_function' => 'bfox_bp_bible_study_edit_schedule_screen_view',
    					'position' => 130,
    				));
    			}
    			elseif ('delete-schedule' == $bp->current_action) {
    				$bp->current_action = "delete-schedule/$schedule->id";
    				bp_core_new_subnav_item( array(
    					'name' => __('Delete Schedule', 'bfox'),
    					'slug' => $bp->current_action,
    					'parent_slug' => $slug,
    					'parent_url' => $link,
    					'screen_function' => 'bfox_bp_bible_study_edit_schedule_screen_view',
    					'position' => 130,
    				) );
    			}
    		}
    		else bp_core_redirect($schedule->url());
    	}
    	else bp_core_redirect($link);
    }
    */
    do_action('bfox_bp_plans_setup_nav', $slug, $link);
}
/**
 * bp_media_galleries_setup_nav()
 *
 * Sets up the user profile 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_media_galleries_setup_nav()
{
    global $bp;
    /* Add 'Example' to the main user profile navigation */
    bp_core_new_nav_item(array('name' => __('Media Galleries', 'bp-media-galleries'), 'slug' => $bp->media_galleries->slug, 'position' => 80, 'screen_function' => 'bp_media_galleries_view', 'default_subnav_slug' => 'view'));
    $media_galleries_link = $bp->loggedin_user->domain . $bp->media_galleries->slug . '/';
    bp_core_new_subnav_item(array('name' => __('Create Gallery', 'bp-media-galleries'), 'slug' => 'create', 'parent_slug' => $bp->media_galleries->slug, 'parent_url' => $media_galleries_link, 'screen_function' => 'bp_media_galleries_create', 'position' => 10, 'user_has_access' => bp_is_home()));
    bp_core_new_subnav_item(array('name' => __('Upload Audio', 'bp-media-galleries'), 'slug' => 'upload-audio', 'parent_slug' => $bp->media_galleries->slug, 'parent_url' => $media_galleries_link, 'screen_function' => 'bp_media_galleries_upload_audio', 'position' => 20, 'user_has_access' => bp_is_home()));
    bp_core_new_subnav_item(array('name' => __('Upload Images', 'bp-media-galleries'), 'slug' => 'upload-images', 'parent_slug' => $bp->media_galleries->slug, 'parent_url' => $media_galleries_link, 'screen_function' => 'bp_media_galleries_upload_images', 'position' => 30, 'user_has_access' => bp_is_home()));
    bp_core_new_subnav_item(array('name' => __('Upload Videos', 'bp-media-galleries'), 'slug' => 'upload-video', 'parent_slug' => $bp->media_galleries->slug, 'parent_url' => $media_galleries_link, 'screen_function' => 'bp_media_galleries_upload_video', 'position' => 40, 'user_has_access' => bp_is_home()));
    /* Add a nav item for this component under the settings nav item. See bp_example_screen_settings_menu() for more info */
    bp_core_new_subnav_item(array('name' => __('Media Galleries', 'bp-media-galleries'), 'slug' => 'media-galleries-admin', 'parent_slug' => $bp->settings->slug, 'parent_url' => $bp->loggedin_user->domain . $bp->settings->slug . '/', 'screen_function' => 'bp_media_galleries_screen_settings_menu', 'position' => 40, 'user_has_access' => bp_is_my_profile()));
}
 public function add_activity_nav()
 {
     $bp = buddypress();
     if (!bp_is_user() || !is_user_logged_in() || !bp_is_my_profile()) {
         return;
     }
     $activity_link = bp_core_get_user_domain(bp_loggedin_user_id()) . $bp->activity->slug . '/';
     //add to user activity subnav if it is logged in users profile
     bp_core_new_subnav_item(array('name' => __('News Feed', 'fb-like-activity-stream'), 'slug' => MYSTREAM_ACTIVITY_SLUG, 'parent_url' => $activity_link, 'parent_slug' => $bp->activity->slug, 'screen_function' => array($this, 'activity_screen'), 'position' => 2, 'user_has_access' => bp_is_my_profile()));
     //bp_core_new_nav_default(array('parent_slug'=>$bp->activity->slug,'subnav_slug'=>MYSTREAM_ACTIVITY_SLUG,'screen_function'=>array($this,'activity_screen')));
     bp_core_remove_subnav_item('activity', 'just-me');
     $sub_nav = array('name' => __('My Posts', 'buddypress'), 'slug' => 'personal', 'parent_url' => $activity_link, 'parent_slug' => $bp->activity->slug, 'screen_function' => 'bp_activity_screen_my_activity', 'position' => 10);
     bp_core_new_subnav_item($sub_nav);
 }
 public function setup_nav($current_user_access)
 {
     $bp = buddypress();
     if (!bp_is_group()) {
         return;
     }
     $group_id = bp_get_current_group_id();
     if (bcg_is_disabled($group_id)) {
         return;
     }
     $current_group = groups_get_current_group();
     $group_link = bp_get_group_permalink($current_group);
     bp_core_new_subnav_item(array('name' => __('Blog', 'blog-categories-for-groups'), 'slug' => BCG_SLUG, 'parent_url' => $group_link, 'parent_slug' => $current_group->slug, 'screen_function' => array($this, 'display'), 'position' => 10, 'user_has_access' => $current_user_access, 'item_css_id' => 'blog'));
 }
Example #18
0
 /**
  * Load Custom tabs on BuddyPress
  *
  * @global object $bp global BuddyPress object
  */
 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');
             }
         }
     }
 }
 /**
  * @ticket BP7203
  */
 public function test_remove_subnav_item_array_as_screen_function()
 {
     $bp = buddypress();
     add_filter('bp_is_active', array($this, 'foo_is_active'), 10, 2);
     $bp->foo = new stdClass();
     $bp->foo->nav = new BP_Core_Nav(0);
     $expected = array('foo', 'bar');
     bp_core_new_nav_item(array('name' => 'Foo', 'slug' => 'foo', 'screen_function' => $expected), 'foo');
     bp_core_new_subnav_item(array('name' => 'Bar', 'slug' => 'bar', 'parent_slug' => 'foo', 'parent_url' => 'foo', 'screen_function' => $expected), 'foo');
     remove_filter('bp_is_active', array($this, 'foo_is_active'), 10);
     $this->assertNotEmpty($bp->foo->nav->get_primary(array('slug' => 'foo'), false));
     $tested = $bp->foo->nav->delete_nav('foo');
     $this->assertSame($expected, reset($tested));
     $this->assertEmpty($bp->foo->nav->get_primary(array('slug' => 'foo'), false));
 }
 /**
  * Setup profile nav.
  */
 public function setup_nav()
 {
     // Determine user to use
     if (bp_displayed_user_domain()) {
         $user_domain = bp_displayed_user_domain();
     } elseif (bp_loggedin_user_domain()) {
         $user_domain = bp_loggedin_user_domain();
     } else {
         return;
     }
     // Add activity sub nav item
     if (bp_is_active('activity') && apply_filters('bp_follow_activity_show_activity_subnav', true)) {
         bp_core_new_subnav_item(array('name' => _x('Followed Activity', 'Activity subnav tab', 'bp-follow'), 'slug' => constant('BP_FOLLOW_ACTIVITY_USER_ACTIVITY_SLUG'), 'parent_url' => trailingslashit($user_domain . bp_get_activity_slug()), 'parent_slug' => bp_get_activity_slug(), 'screen_function' => 'bp_activity_screen_my_activity', 'position' => 21, 'item_css_id' => 'activity-follow'));
     }
 }
Example #21
0
/**
 * bp_groupblog_setup_nav()
 */
function bp_groupblog_setup_nav()
{
    global $bp, $current_blog;
    if (bp_is_group()) {
        $bp->groups->current_group->is_group_visible_to_member = 'public' == $bp->groups->current_group->status || groups_is_user_member(bp_loggedin_user_id(), bp_get_current_group_id()) ? true : false;
        $group_link = bp_get_group_permalink(groups_get_current_group());
        $checks = get_site_option('bp_groupblog_blog_defaults_options');
        if (!$checks['deep_group_integration']) {
            $parent_slug = isset($bp->bp_nav[$bp->groups->current_group->slug]) ? $bp->groups->current_group->slug : $bp->groups->slug;
            if (bp_groupblog_is_blog_enabled($bp->groups->current_group->id) or isset($_POST['groupblog-create-new']) and $_POST['groupblog-create-new'] == 'yes') {
                bp_core_new_subnav_item(array('name' => __('Blog', 'groupblog'), 'slug' => 'blog', 'parent_url' => $group_link, 'parent_slug' => $parent_slug, 'screen_function' => 'groupblog_screen_blog', 'position' => 32, 'item_css_id' => 'group-blog'));
            }
        }
    }
}
Example #22
0
function bebop_setup_user_nav()
{
    global $bp;
    $should_users_verify_content = bebop_tables::get_option_value('bebop_content_user_verification');
    //Shows in the profile all the time.
    bp_core_new_nav_item(array('name' => __('Resources', 'bebop'), 'slug' => 'bebop', 'position' => 30, 'show_for_displayed_user' => true, 'screen_function' => 'bebop_user_settings', 'default_subnav_slug' => 'bebop-content'));
    bp_core_new_subnav_item(array('name' => __('Content', 'bebop'), 'slug' => 'bebop-content', 'parent_url' => bp_displayed_user_domain() . 'bebop/', 'parent_slug' => 'bebop', 'screen_function' => 'bebop_user_settings', 'position' => 10));
    //only show if current user is the owner of the profile.
    if (bp_is_my_profile()) {
        if ($should_users_verify_content != 'no') {
            bp_core_new_subnav_item(array('name' => __('Content Manager', 'bebop'), 'slug' => 'bebop-manager', 'parent_url' => $bp->loggedin_user->domain . 'bebop/', 'parent_slug' => 'bebop', 'screen_function' => 'bebop_user_settings', 'position' => 20));
        }
        bp_core_new_subnav_item(array('name' => __('Accounts', 'bebop'), 'slug' => 'bebop-accounts', 'parent_url' => $bp->loggedin_user->domain . 'bebop/', 'parent_slug' => 'bebop', 'screen_function' => 'bebop_user_settings', 'position' => 20));
    }
}
Example #23
0
 /**
  * @group bp_core_sort_subnav_items
  */
 public function test_bp_core_sort_subnav_items()
 {
     $bp_options_nav = buddypress()->bp_options_nav;
     $u = $this->factory->user->create();
     $old_current_user = get_current_user_id();
     $this->set_current_user($u);
     $user_domain = bp_core_get_user_domain($u);
     $this->go_to($user_domain);
     bp_core_new_subnav_item(array('name' => 'Foo', 'slug' => 'foo', 'parent_url' => trailingslashit($user_domain . 'foo'), 'parent_slug' => 'foo', 'screen_function' => 'foo_screen_function', 'position' => 10));
     bp_core_sort_subnav_items();
     $expected = array('name' => 'Foo', 'link' => trailingslashit($user_domain . 'foo/foo'), 'slug' => 'foo', 'css_id' => 'foo', 'position' => 10, 'user_has_access' => true, 'no_access_url' => '', 'screen_function' => 'foo_screen_function', 'show_in_admin_bar' => false);
     $this->assertSame(buddypress()->bp_options_nav['foo'][10], $expected);
     // Clean up
     buddypress()->bp_options_nav = $bp_options_nav;
     $this->set_current_user($old_current_user);
 }
 /**
  * Create a tab on member profile pages
  */
 public function profile_tab()
 {
     // Determine user to use
     if (bp_displayed_user_domain()) {
         $user_domain = bp_displayed_user_domain();
     } elseif (bp_loggedin_user_domain()) {
         $user_domain = bp_loggedin_user_domain();
     } else {
         return;
     }
     $parent_url = trailingslashit($user_domain . $this->slug);
     $nav_text = __('Papers', 'social-paper');
     // create primary nav
     bp_core_new_nav_item(array('name' => $nav_text, 'slug' => $this->slug, 'item_css_id' => 'user-papers', 'show_for_displayed_user' => true, 'site_admin_only' => false, 'position' => $this->position, 'screen_function' => 'cacsp_profile_screen', 'default_subnav_slug' => $this->published_slug));
     // create subnav items
     bp_core_new_subnav_item(array('name' => __('Published', 'social-paper'), 'slug' => $this->published_slug, 'parent_url' => $parent_url, 'parent_slug' => $this->slug, 'screen_function' => 'cacsp_profile_screen_published', 'position' => 10));
     bp_core_new_subnav_item(array('name' => __('Drafts', 'social-paper'), 'slug' => $this->drafts_slug, 'parent_url' => $parent_url, 'parent_slug' => $this->slug, 'screen_function' => 'cacsp_profile_screen_draft', 'position' => 10, 'user_has_access' => bp_core_can_edit_settings()));
 }
 public function test_backcompat_remove_group_nav_items()
 {
     $g1 = $this->factory->group->create();
     // In group context
     $g_obj = groups_get_group($g1);
     $this->go_to(bp_get_group_permalink($g_obj));
     bp_core_new_subnav_item(array('name' => 'Clam', 'slug' => 'clam', 'parent_slug' => bp_get_current_group_slug(), 'parent_url' => bp_get_group_permalink($g_obj), 'screen_function' => 'clam_subnav'));
     bp_core_remove_subnav_item($g_obj->slug, 'clam');
     $nav = bp_get_nav_menu_items('groups');
     $found = false;
     foreach ($nav as $_nav) {
         if ('clam' === $_nav->css_id) {
             $found = true;
             break;
         }
     }
     $this->assertFalse($found);
 }
function mtc_setup_nav()
{
    global $bp;
    /* Add 'My Content' to the main user profile navigation */
    bp_core_new_nav_item(array('name' => __('My Content', 'bp-mtc'), 'slug' => $bp->mtc->slug, 'position' => 80, 'screen_function' => 'bp_mtc_screen_one', 'default_subnav_slug' => 'Content'));
    $mtc_link = $bp->loggedin_user->domain . $bp->mtc->slug . '/';
    /* Create two sub nav items for this component */
    bp_core_new_subnav_item(array('name' => __('Content', 'bp-mtc'), 'slug' => 'my-content', 'parent_slug' => $bp->mtc->slug, 'parent_url' => $mtc_link, 'screen_function' => 'bp_mtc_screen_one', 'position' => 10));
    bp_core_new_subnav_item(array('name' => __('Select Tags', 'bp-mtc'), 'slug' => 'select-tags', 'parent_slug' => $bp->mtc->slug, 'parent_url' => $mtc_link, 'screen_function' => 'bp_mtc_screen_two', 'position' => 20, 'user_has_access' => bp_is_my_profile()));
    /* Add a nav item for this component under the settings nav item. See bp_example_screen_settings_menu() for more info */
    /*	bp_core_new_subnav_item( array(
    		'name' => __( 'Example', 'mtc' ),
    		'slug' => 'example-admin',
    		'parent_slug' => $bp->settings->slug,
    		'parent_url' => $bp->loggedin_user->domain . $bp->settings->slug . '/',
    		'screen_function' => 'bp_example_screen_settings_menu',
    		'position' => 40,
    		'user_has_access' => bp_is_my_profile() // Only the logged in user can access this on his/her profile
    	) );*/
}
Example #27
0
function bp_core_add_settings_nav() {
	global $bp;

	/* Set up settings as a sudo-component for identification and nav selection */
	$bp->settings->id = 'settings';
	$bp->settings->slug = BP_SETTINGS_SLUG;

	/* Register this in the active components array */
	$bp->active_components[$bp->settings->slug] = $bp->settings->id;

	/* Add the settings navigation item */
	bp_core_new_nav_item( array( 'name' => __('Settings', 'buddypress'), 'slug' => $bp->settings->slug, 'position' => 100, 'show_for_displayed_user' => false, 'screen_function' => 'bp_core_screen_general_settings', 'default_subnav_slug' => 'general' ) );

	$settings_link = $bp->loggedin_user->domain . $bp->settings->slug . '/';

	bp_core_new_subnav_item( array( 'name' => __( 'General', 'buddypress' ), 'slug' => 'general', 'parent_url' => $settings_link, 'parent_slug' => $bp->settings->slug, 'screen_function' => 'bp_core_screen_general_settings', 'position' => 10, 'user_has_access' => bp_is_my_profile() ) );
	bp_core_new_subnav_item( array( 'name' => __( 'Notifications', 'buddypress' ), 'slug' => 'notifications', 'parent_url' => $settings_link, 'parent_slug' => $bp->settings->slug, 'screen_function' => 'bp_core_screen_notification_settings', 'position' => 20, 'user_has_access' => bp_is_my_profile() ) );

	if ( !is_super_admin() && !(int) $bp->site_options['bp-disable-account-deletion'] )
		bp_core_new_subnav_item( array( 'name' => __( 'Delete Account', 'buddypress' ), 'slug' => 'delete-account', 'parent_url' => $settings_link, 'parent_slug' => $bp->settings->slug, 'screen_function' => 'bp_core_screen_delete_account', 'position' => 90, 'user_has_access' => bp_is_my_profile() ) );
}
function wpmudev_chat_buddypress_settings_setup_nav()
{
    global $wpmudev_chat;
    $slug_parent = 'settings';
    $slug_page = 'chat';
    // Set thsi so when we get to wp_footer it knows we need to load the JS/CSS for the Friends display.
    $wpmudev_chat->_chat_plugin_settings['blocked_urls']['front'] = false;
    // Determine user to use
    if (bp_displayed_user_domain()) {
        $user_domain = bp_displayed_user_domain();
    } elseif (bp_loggedin_user_domain()) {
        $user_domain = bp_loggedin_user_domain();
    } else {
        return;
    }
    //echo "user_domain=[". $user_domain ."]<br />";
    $settings_link = trailingslashit($user_domain . $slug_parent);
    //echo "settings_link=[". $settings_link ."]<br />";
    $sub_nav = array('name' => __('Chat', $wpmudev_chat->translation_domain), 'slug' => $slug_page, 'parent_url' => $settings_link, 'parent_slug' => $slug_parent, 'screen_function' => 'wpmudev_chat_settings_screen_chat_proc', 'position' => 30, 'user_has_access' => bp_core_can_edit_settings());
    bp_core_new_subnav_item($sub_nav);
}
Example #29
0
function intention_profile_menu()
{
    global $wpdb, $bp;
    $displayed_user_id = $bp->displayed_user->id;
    $posts_table = $wpdb->prefix . "posts";
    $intentions_table = $wpdb->prefix . "intentions";
    $sql = "SELECT COUNT(*) as intention_count FROM {$posts_table} WHERE post_author = %d AND post_status='publish' AND post_type='post'";
    $sql = $wpdb->prepare($sql, $displayed_user_id);
    $intentions_cnt = $wpdb->get_var($sql);
    $meditonsql = "SELECT {$posts_table}.* \r\n                    FROM {$posts_table} LEFT JOIN {$intentions_table} ON {$posts_table}.ID={$intentions_table}.intention_id \r\n                    WHERE {$intentions_table}.meditater_id = %d AND {$posts_table}.post_status='publish' AND {$posts_table}.post_type='post' \r\n                    GROUP BY {$posts_table}.ID ORDER BY {$posts_table}.post_date DESC";
    $meditonsql = $wpdb->prepare($meditonsql, $displayed_user_id);
    $wpdb->get_results($meditonsql);
    $mediton_cnt = $wpdb->num_rows;
    $meditotalsql = "SELECT SUM(total_mins) FROM {$intentions_table} WHERE meditater_id = %d";
    $meditotalsql = $wpdb->prepare($meditotalsql, $displayed_user_id);
    $meditime_sum = secns_to_human($wpdb->get_var($meditotalsql));
    bp_core_new_nav_item(array('name' => sprintf('Intentions <span>%d</span>', $intentions_cnt), 'slug' => 'intentions', 'position' => 40, 'screen_function' => 'intentions_user_grid', 'default_subnav_slug' => 'summary'));
    $parent_url = $bp->displayed_user->domain . 'intentions/';
    bp_core_new_subnav_item(array('name' => 'Summary', 'slug' => 'summary', 'parent_slug' => 'intentions', 'parent_url' => $parent_url, 'screen_function' => 'intentions_user_grid', 'position' => 10));
    bp_core_new_subnav_item(array('name' => sprintf('Intentions Set <span class="cnt">%d</span>', $intentions_cnt), 'slug' => 'wishes', 'parent_slug' => 'intentions', 'parent_url' => $parent_url, 'screen_function' => 'intentions_user_grid', 'position' => 20));
    bp_core_new_subnav_item(array('name' => sprintf('Intentions Meditated On <span class="cnt">%d</span>', $mediton_cnt), 'slug' => 'mediton', 'parent_slug' => 'intentions', 'parent_url' => $parent_url, 'screen_function' => 'intentions_user_grid', 'position' => 30));
}
Example #30
0
 /**
  * Add BuddyPress navigation.
  *
  * @return void
  **/
 function add_navigation()
 {
     global $bp;
     /* Set up directory as a sudo-component for identification and nav selection */
     $directory_page = get_page($this->directory_page_id);
     if (!@is_object($bp->directory)) {
         $bp->directory = new stdClass();
     }
     $bp->directory->slug = $directory_page->post_name;
     /* Construct URL to the BuddyPress profile URL */
     $user_domain = !empty($bp->displayed_user->domain) ? $bp->displayed_user->domain : $bp->loggedin_user->domain;
     $parent_url = $user_domain . $bp->directory->slug . '/';
     /* Add the settings navigation item */
     if (0 < $directory_page->ID) {
         $nav_title = $directory_page->post_title;
     } else {
         $nav_title = 'Directory';
     }
     bp_core_new_nav_item(array('name' => __($nav_title, $this->text_domain), 'slug' => $bp->directory->slug, 'position' => 100, 'show_for_displayed_user' => true, 'screen_function' => array(&$this, 'load_template')));
     if (bp_is_my_profile()) {
         $directory_page = get_page($this->my_listings_page_id);
         if (0 < $directory_page->ID) {
             $nav_title = $directory_page->post_title;
         } else {
             $nav_title = 'My Directory';
         }
         bp_core_new_subnav_item(array('name' => __($nav_title, $this->text_domain), 'slug' => $directory_page->post_name, 'parent_url' => $parent_url, 'parent_slug' => $bp->directory->slug, 'screen_function' => array(&$this, 'load_template'), 'position' => 10, 'user_has_access' => true));
         if ($this->use_credits && !$this->is_full_access()) {
             bp_core_new_subnav_item(array('name' => __('My Credits', $this->text_domain), 'slug' => 'my-credits', 'parent_url' => $parent_url, 'parent_slug' => $bp->directory->slug, 'screen_function' => array(&$this, 'load_template'), 'position' => 10, 'user_has_access' => true));
         }
         if (current_user_can('create_listings')) {
             bp_core_new_subnav_item(array('name' => __('Add Listing', $this->text_domain), 'slug' => 'add-listing', 'parent_url' => $parent_url, 'parent_slug' => $bp->directory->slug, 'screen_function' => array(&$this, 'load_template'), 'position' => 10, 'user_has_access' => true));
         }
     } else {
         //display author classifids page
         bp_core_new_subnav_item(array('name' => __('All', $this->text_domain), 'slug' => 'all', 'parent_url' => $parent_url, 'parent_slug' => $bp->directory->slug, 'screen_function' => array(&$this, 'load_template'), 'position' => 10, 'user_has_access' => true));
     }
 }