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; }