예제 #1
0
        $fileData = array_merge($fileData, $Files->getLink($_POST['link']));
        $result[] = array('type' => $fileData['type'], 'name' => $fileData['name'], 'title' => $fileData['title'], 'tags' => $fileData['tags'], 'caption' => $fileData['caption'], 'location' => $fileData['location'], 'charset' => $fileData['charset'], 'size' => $fileData['size'], 'width' => $fileData['width'], 'height' => $fileData['height'], 'url' => isset($fileData['url']) ? $fileData['url'] : '', 'data' => isset($fileData['data']) ? $fileData['data'] : null);
    }
    JsonView::render($result);
});
$app->get("/{$v}/messages/rows/?", function () use($params, $requestPayload, $app, $acl, $ZendDb) {
    $currentUser = Auth::getUserInfo();
    if (isset($_GET['max_id'])) {
        $messagesRecipientsTableGateway = new DirectusMessagesRecipientsTableGateway($acl, $ZendDb);
        $ids = $messagesRecipientsTableGateway->getMessagesNewerThan($_GET['max_id'], $currentUser['id']);
        if (sizeof($ids) > 0) {
            $messagesTableGateway = new DirectusMessagesTableGateway($acl, $ZendDb);
            $result = $messagesTableGateway->fetchMessagesInboxWithHeaders($currentUser['id'], $ids);
            return JsonView::render($result);
        } else {
            $result = $messagesRecipientsTableGateway->countMessages($currentUser['id']);
            return JsonView::render($result);
        }
    }
    $messagesTableGateway = new DirectusMessagesTableGateway($acl, $ZendDb);
    $result = $messagesTableGateway->fetchMessagesInboxWithHeaders($currentUser['id']);
    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.'));
    }
 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;
 }