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 BuddyBar navigation
  *
  * @global BuddyPress $bp The one true BuddyPress instance
  */
 public function setup_nav($main_nav = array(), $sub_nav = array())
 {
     $sub_nav = array();
     $name = sprintf(__('Messages <span>%s</span>', 'buddypress'), bp_get_total_unread_messages_count());
     // Add 'Messages' to the main navigation
     $main_nav = array('name' => $name, 'slug' => $this->slug, 'position' => 50, 'show_for_displayed_user' => false, 'screen_function' => 'messages_screen_inbox', 'default_subnav_slug' => 'inbox', 'item_css_id' => $this->id);
     // 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;
     }
     // Link to user messages
     $messages_link = trailingslashit($user_domain . $this->slug);
     // Add the subnav items to the profile
     $sub_nav[] = array('name' => __('Inbox', 'buddypress'), 'slug' => 'inbox', 'parent_url' => $messages_link, 'parent_slug' => $this->slug, 'screen_function' => 'messages_screen_inbox', 'position' => 10, 'user_has_access' => bp_core_can_edit_settings());
     $sub_nav[] = array('name' => __('Sent', 'buddypress'), 'slug' => 'sentbox', 'parent_url' => $messages_link, 'parent_slug' => $this->slug, 'screen_function' => 'messages_screen_sentbox', 'position' => 20, 'user_has_access' => bp_core_can_edit_settings());
     $sub_nav[] = array('name' => __('Compose', 'buddypress'), 'slug' => 'compose', 'parent_url' => $messages_link, 'parent_slug' => $this->slug, 'screen_function' => 'messages_screen_compose', 'position' => 30, 'user_has_access' => bp_core_can_edit_settings());
     if (bp_current_user_can('bp_moderate')) {
         $sub_nav[] = array('name' => __('Notices', 'buddypress'), 'slug' => 'notices', 'parent_url' => $messages_link, 'parent_slug' => $this->slug, 'screen_function' => 'messages_screen_notices', 'position' => 90, 'user_has_access' => bp_current_user_can('bp_moderate'));
     }
     parent::setup_nav($main_nav, $sub_nav);
 }
 /**
  * Setup BuddyBar navigation
  *
  * @global obj $bp
  */
 function setup_nav()
 {
     global $bp;
     $name = sprintf(__('Messages <span>%s</span>', 'buddypress'), bp_get_total_unread_messages_count());
     // Add 'Messages' to the main navigation
     $main_nav = array('name' => $name, 'slug' => $this->slug, 'position' => 50, 'show_for_displayed_user' => false, 'screen_function' => 'messages_screen_inbox', 'default_subnav_slug' => 'inbox', 'item_css_id' => $this->id);
     // Link to user messages
     $messages_link = trailingslashit($bp->loggedin_user->domain . $this->slug);
     // Add the subnav items to the profile
     $sub_nav[] = array('name' => __('Inbox', 'buddypress'), 'slug' => 'inbox', 'parent_url' => $messages_link, 'parent_slug' => $this->slug, 'screen_function' => 'messages_screen_inbox', 'position' => 10, 'user_has_access' => bp_is_my_profile());
     $sub_nav[] = array('name' => __('Sent', 'buddypress'), 'slug' => 'sentbox', 'parent_url' => $messages_link, 'parent_slug' => $this->slug, 'screen_function' => 'messages_screen_sentbox', 'position' => 20, 'user_has_access' => bp_is_my_profile());
     $sub_nav[] = array('name' => __('Compose', 'buddypress'), 'slug' => 'compose', 'parent_url' => $messages_link, 'parent_slug' => $this->slug, 'screen_function' => 'messages_screen_compose', 'position' => 30, 'user_has_access' => bp_is_my_profile());
     if (is_super_admin()) {
         $sub_nav[] = array('name' => __('Notices', 'buddypress'), 'slug' => 'notices', 'parent_url' => $messages_link, 'parent_slug' => $this->slug, 'screen_function' => 'messages_screen_notices', 'position' => 90, 'user_has_access' => is_super_admin());
     }
     parent::setup_nav($main_nav, $sub_nav);
 }
function bp_total_unread_messages_count()
{
    echo bp_get_total_unread_messages_count();
}
 /**
  * Set up navigation for user pages.
  *
  * @param array $main_nav See {BP_Component::setup_nav()} for details.
  * @param array $sub_nav  See {BP_Component::setup_nav()} for details.
  */
 public function setup_nav($main_nav = array(), $sub_nav = array())
 {
     // 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;
     }
     $access = bp_core_can_edit_settings();
     $slug = bp_get_messages_slug();
     $messages_link = trailingslashit($user_domain . $slug);
     // Only grab count if we're on a user page and current user has access
     if (bp_is_user() && bp_user_has_access()) {
         $count = bp_get_total_unread_messages_count();
         $class = 0 === $count ? 'no-count' : 'count';
         $nav_name = sprintf(__('Messages <span class="%s">%s</span>', 'buddypress'), esc_attr($class), bp_core_number_format($count));
     } else {
         $nav_name = __('Messages', 'buddypress');
     }
     // Add 'Messages' to the main navigation
     $main_nav = array('name' => $nav_name, 'slug' => $slug, 'position' => 50, 'show_for_displayed_user' => $access, 'screen_function' => 'messages_screen_inbox', 'default_subnav_slug' => 'inbox', 'item_css_id' => $this->id);
     // Add the subnav items to the profile
     $sub_nav[] = array('name' => __('Inbox', 'buddypress'), 'slug' => 'inbox', 'parent_url' => $messages_link, 'parent_slug' => $slug, 'screen_function' => 'messages_screen_inbox', 'position' => 10, 'user_has_access' => $access);
     if (bp_is_active($this->id, 'star')) {
         $sub_nav[] = array('name' => __('Starred', 'buddypress'), 'slug' => bp_get_messages_starred_slug(), 'parent_url' => $messages_link, 'parent_slug' => $slug, 'screen_function' => 'bp_messages_star_screen', 'position' => 11, 'user_has_access' => $access);
     }
     $sub_nav[] = array('name' => __('Sent', 'buddypress'), 'slug' => 'sentbox', 'parent_url' => $messages_link, 'parent_slug' => $slug, 'screen_function' => 'messages_screen_sentbox', 'position' => 20, 'user_has_access' => $access);
     $sub_nav[] = array('name' => __('Compose', 'buddypress'), 'slug' => 'compose', 'parent_url' => $messages_link, 'parent_slug' => $slug, 'screen_function' => 'messages_screen_compose', 'position' => 30, 'user_has_access' => $access);
     if (bp_current_user_can('bp_moderate')) {
         $sub_nav[] = array('name' => __('Notices', 'buddypress'), 'slug' => 'notices', 'parent_url' => $messages_link, 'parent_slug' => $slug, 'screen_function' => 'messages_screen_notices', 'position' => 90, 'user_has_access' => true);
     }
     parent::setup_nav($main_nav, $sub_nav);
 }
/**
 * Load an individual conversation screen.
 *
 * @since BuddyPress (1.0.0)
 *
 * @return bool|null False on failure.
 */
function messages_screen_conversation()
{
    // Bail if not viewing a single message
    if (!bp_is_messages_component() || !bp_is_current_action('view')) {
        return false;
    }
    $thread_id = (int) bp_action_variable(0);
    if (empty($thread_id) || !messages_is_valid_thread($thread_id) || !messages_check_thread_access($thread_id) && !bp_current_user_can('bp_moderate')) {
        bp_core_redirect(trailingslashit(bp_displayed_user_domain() . bp_get_messages_slug()));
    }
    // Load up BuddyPress one time
    $bp = buddypress();
    // Decrease the unread count in the nav before it's rendered
    $bp->bp_nav[$bp->messages->slug]['name'] = sprintf(__('Messages <span>%s</span>', 'buddypress'), bp_get_total_unread_messages_count());
    /**
     * Fires right before the loading of the Messages view screen template file.
     *
     * @since BuddyPress (1.7.0)
     */
    do_action('messages_screen_conversation');
    /**
     * Filters the template to load for the Messages view screen.
     *
     * @since BuddyPress (1.0.0)
     *
     * @param string $template Path to the messages template to load.
     */
    bp_core_load_template(apply_filters('messages_template_view_message', 'members/single/home'));
}
                                <a href="<?php 
echo bp_loggedin_user_domain();
?>
">
                                    Wall
                                </a>
                            </li>
                            <li>
                                <a href="<?php 
echo bp_loggedin_user_domain();
?>
messages">
                                    Messages
                                </a>
                                <?php 
if ($nm = bp_get_total_unread_messages_count(bp_loggedin_user_id())) {
    printf('<span class="badge">%d</span>', $nm);
}
?>
                            </li>
                            <li> 
                                <a href="<?php 
echo bp_loggedin_user_domain();
?>
notifications">
                                    Notifications
                                </a>
                                <?php 
if ($nn = bp_notifications_get_unread_notification_count(bp_loggedin_user_id())) {
    printf('<span class="badge">%d</span>', $nn);
}
/**
 * Load an individual conversation screen.
 *
 * @since 1.0.0
 *
 * @return bool|null False on failure.
 */
function messages_screen_conversation()
{
    // Bail if not viewing a single message.
    if (!bp_is_messages_component() || !bp_is_current_action('view')) {
        return false;
    }
    $thread_id = (int) bp_action_variable(0);
    if (empty($thread_id) || !messages_is_valid_thread($thread_id) || !messages_check_thread_access($thread_id) && !bp_current_user_can('bp_moderate')) {
        bp_core_redirect(trailingslashit(bp_displayed_user_domain() . bp_get_messages_slug()));
    }
    // Load up BuddyPress one time.
    $bp = buddypress();
    // Decrease the unread count in the nav before it's rendered.
    $count = bp_get_total_unread_messages_count();
    $class = 0 === $count ? 'no-count' : 'count';
    $nav_name = sprintf(__('Messages <span class="%s">%s</span>', 'buddypress'), esc_attr($class), bp_core_number_format($count));
    // Edit the Navigation name.
    $bp->members->nav->edit_nav(array('name' => $nav_name), $bp->messages->slug);
    /**
     * Fires right before the loading of the Messages view screen template file.
     *
     * @since 1.7.0
     */
    do_action('messages_screen_conversation');
    /**
     * Filters the template to load for the Messages view screen.
     *
     * @since 1.0.0
     *
     * @param string $template Path to the messages template to load.
     */
    bp_core_load_template(apply_filters('messages_template_view_message', 'members/single/home'));
}
Beispiel #9
0
    echo '</h1>';
} else {
    echo '</h2>';
}
?>
                </div>
                <div class="col-md-5 col-sm-5">
                        <?php 
if (function_exists('bp_loggedin_user_link') && is_user_logged_in()) {
    ?>
                                <ul class="topmenu">
                                    <li><a href="<?php 
    echo bp_loggedin_user_domain() . 'messages';
    ?>
"><i class="fa fa-envelope-o"></i><?php 
    $n = bp_get_total_unread_messages_count();
    echo $n ? '<span>' . $n . '</span>' : '';
    ?>
</a></li>
                                    <li><a href="<?php 
    echo bp_loggedin_user_domain() . 'notifications';
    ?>
"><i class="fa fa-bell-o"></i><?php 
    $n = bp_notifications_get_unread_notification_count(bp_loggedin_user_id());
    echo $n ? '<span>' . $n . '</span>' : '';
    ?>
</a></li>
                                    <?php 
    if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins'))) || function_exists('is_plugin_active_for_network') && is_plugin_active_for_network('woocommerce/woocommerce.php')) {
        global $woocommerce;
        ?>