示例#1
0
    JsonView::render($result);
});
$app->get("/{$v}/messages/rows/:id/?", function ($id) use($params, $requestPayload, $app, $acl, $ZendDb) {
    $currentUser = Auth::getUserInfo();
    $messagesTableGateway = new DirectusMessagesTableGateway($acl, $ZendDb);
    $message = $messagesTableGateway->fetchMessageWithRecipients($id, $currentUser['id']);
    if (!isset($message)) {
        header("HTTP/1.0 404 Not Found");
        return JsonView::render(array('message' => 'Message not found.'));
    }
    JsonView::render($message);
});
$app->map("/{$v}/messages/rows/:id/?", function ($id) use($params, $requestPayload, $app, $acl, $ZendDb) {
    $currentUser = Auth::getUserInfo();
    $messagesTableGateway = new DirectusMessagesTableGateway($acl, $ZendDb);
    $messagesRecipientsTableGateway = new DirectusMessagesRecipientsTableGateway($acl, $ZendDb);
    $message = $messagesTableGateway->fetchMessageWithRecipients($id, $currentUser['id']);
    $ids = array($message['id']);
    $message['read'] = '1';
    foreach ($message['responses']['rows'] as &$response) {
        $ids[] = $response['id'];
        $response['read'] = "1";
    }
    $messagesRecipientsTableGateway->markAsRead($ids, $currentUser['id']);
    JsonView::render($message);
})->via('PATCH');
$app->post("/{$v}/messages/rows/?", function () use($params, $requestPayload, $app, $acl, $ZendDb) {
    $currentUser = Auth::getUserInfo();
    // Unpack recipients
    $recipients = explode(',', $requestPayload['recipients']);
    $groupRecipients = array();
 public function fetchMessagesInboxWithHeaders($uid, $messageIds = null)
 {
     $messagesRecipientsTableGateway = new DirectusMessagesRecipientsTableGateway($this->acl, $this->adapter);
     $result = $messagesRecipientsTableGateway->countMessages($uid);
     $result['rows'] = $this->fetchMessagesInbox($uid, $messageIds);
     return $result;
 }