/** * Returns all documents for the topic * @param $topic_id * @return array */ private function getDocuments($topic_id) { $document_mapper = new DocumentDBMapper(); $documents = $document_mapper->getDocumentsByTopicId($topic_id); $documents_array = array(); // Sets profiles, links, fields and target groups for each document foreach ($documents as $document) { $document->setTargetGroups(DocumentController::getTargetGroups($document)); $document->setLinks(DocumentController::getLinks($document)); $document->setFields(DocumentController::getFields($document)); $document_array = $document->toArray(); array_push($documents_array, $document_array); } // Sort document list on sequence usort($documents_array, function ($a, $b) { return $a['sequence'] - $b['sequence']; }); return $documents_array; }