Beispiel #1
0
/**
 * Messages page menu setup
 *
 * @param string $hook Equals 'register'
 * @param string $type Equals 'menu:page'
 * @param array $return An array of menu items
 * @param array $params Additional parameters
 * @return array An array of menu items
 */
function hj_inbox_page_menu_setup($hook, $type, $return, $params)
{
    if (!elgg_in_context('messages')) {
        return $return;
    }
    $user = elgg_get_page_owner_entity();
    $return = array();
    $return[] = ElggMenuItem::factory(array('name' => 'inbox', 'text' => elgg_echo('hj:inbox:inbox'), 'href' => 'messages/inbox', 'priority' => 100, 'class' => 'inbox-load'));
    $intypes = hj_inbox_get_incoming_message_types($user);
    if ($intypes) {
        foreach ($intypes as $type) {
            $return[] = ElggMenuItem::factory(array('name' => "inbox:{$type}", 'parent_name' => 'inbox', 'text' => elgg_echo("item:object:message:{$type}:plural"), 'href' => "messages/inbox?message_type={$type}", 'class' => 'inbox-load'));
        }
    }
    $return[] = ElggMenuItem::factory(array('name' => 'sentmessages', 'text' => elgg_echo('hj:inbox:sent'), 'href' => 'messages/sent', 'priority' => 500, 'class' => 'inbox-load'));
    $outtypes = hj_inbox_get_outgoing_message_types($user);
    if ($outtypes) {
        foreach ($outtypes as $type) {
            $return[] = ElggMenuItem::factory(array('name' => "sent:{$type}", 'parent_name' => 'sentmessages', 'text' => elgg_echo("item:object:message:{$type}:plural"), 'href' => "messages/sent?message_type={$type}", 'class' => 'inbox-load'));
        }
    }
    return $return;
}
Beispiel #2
0
<?php

$message_type = elgg_extract('message_type', $vars, 'all');
$user = elgg_get_page_owner_entity();
$i = 100;
$text = elgg_echo('hj:inbox:all');
$count = hj_inbox_count_unread_messages(null, $user);
if ($count) {
    $text .= ' <span class="inbox-unread-count">' . $count . '</span>';
}
$tabs = array();
$message_types = hj_inbox_get_incoming_message_types($user);
if ($message_types) {
    foreach ($message_types as $type) {
        $text = elgg_echo("item:object:message:{$type}:plural");
        $count = hj_inbox_count_unread_messages($type, $user);
        if ($count) {
            $text .= ' <span class="inbox-unread-count">' . $count . '</span>';
        }
        $tabs[$type] = array('text' => $text, 'href' => "messages/inbox/{$user->username}?message_type={$type}", 'priority' => $i++, 'class' => 'inbox-load');
    }
}
foreach ($tabs as $name => $tab) {
    if ($tab) {
        $tab['name'] = $name;
        $tab['selected'] = $message_type == $name;
        elgg_register_menu_item('filter', $tab);
    }
}
echo elgg_view_menu('filter', array('sort_by' => 'priority', 'class' => 'elgg-menu-hz'));