Beispiel #1
0
<?php

use hypeJunction\Inbox\Inbox;
elgg_ajax_gatekeeper();
$user = elgg_get_logged_in_user_entity();
$inbox = new Inbox();
$inbox->setOwner($user)->displayThreaded(true);
$count = $inbox->getCount();
$messages = $inbox->getMessages();
$latest_messages = array();
// Fix for 'GROUP_BY' statememtn returning wrong order
foreach ($messages as $msg) {
    $lastMsg = $msg->getVolatileData('select:lastMsg');
    if ($lastMsg && $lastMsg != $msg->guid) {
        $latest_messages[] = get_entity($lastMsg);
    } else {
        $latest_messages[] = $msg;
    }
}
$messages = $latest_messages;
$unread = Inbox::countUnread($user);
elgg_push_context('widgets');
$list = elgg_view_entity_list($messages, array('list_class' => 'elgg-list-inbox', 'no_results' => elgg_echo('inbox:empty'), 'full_view' => false, 'size' => 'tiny', 'threaded' => false, 'pagination' => false, 'threaded' => true));
elgg_pop_context();
echo json_encode(array('list' => $list, 'unread' => $unread, 'count' => $count));
Beispiel #2
0
Datei: inbox.php Projekt: n8b/VMN
use ElggUser;
use hypeJunction\Inbox\Inbox;
$user = elgg_get_page_owner_entity();
if (!$user instanceof ElggUser) {
    return true;
}
$limit = get_input('limit', 20);
$offset = get_input('offset', 0);
$message_type = elgg_extract('message_type', $vars);
$read = elgg_extract('read', $vars);
$threaded = elgg_extract('threaded', $vars, true);
$inbox = new Inbox();
$inbox->setOwner($user)->setMessageType($message_type)->setReadStatus($read)->displayThreaded($threaded);
$count = $inbox->getCount();
$messages = $inbox->getMessages(array('limit' => $limit, 'offset' => $offset));
if ($threaded && $messages) {
    $latest_messages = array();
    // Fix for 'GROUP_BY' statememtn returning wrong order
    foreach ($messages as $msg) {
        $lastMsg = $msg->getVolatileData('select:lastMsg');
        if ($lastMsg && $lastMsg != $msg->guid) {
            $latest_messages[] = get_entity($lastMsg);
        } else {
            $latest_messages[] = $msg;
        }
    }
    $messages = $latest_messages;
}
$params = array('items' => $messages, 'limit' => $limit, 'offset' => $offset, 'count' => $count, 'threaded' => $threaded);
elgg_push_context('inbox-form');