diff --git a/lib/classes/JsonApi/Routes/Courseware/StructuralElementsSharedIndex.php b/lib/classes/JsonApi/Routes/Courseware/StructuralElementsSharedIndex.php index 0dc7c0d447ca25f6fc5e0e28ce3bd88483e43009..1582fbfb18d42118dfb74e913aac067cbcfc68b1 100644 --- a/lib/classes/JsonApi/Routes/Courseware/StructuralElementsSharedIndex.php +++ b/lib/classes/JsonApi/Routes/Courseware/StructuralElementsSharedIndex.php @@ -42,9 +42,9 @@ class StructuralElementsSharedIndex extends JsonApiController } list($offset, $limit) = $this->getOffsetAndLimit(); - $resources = []; + $elements = []; $contents = StructuralElement::findBySQL( - 'range_id != ? AND range_type = ? ORDER BY mkdate DESC', + 'range_id != ? AND range_type = ? ORDER BY mkdate ASC', [$user->id, 'user'] ); @@ -68,7 +68,15 @@ class StructuralElementsSharedIndex extends JsonApiController } if ($add_content) { - $resources[] = $content; + $elements[] = $content; + } + } + + $resources = []; + foreach ($elements as $element) { + $has_parent = array_column($elements, null, 'id')[$element->parent_id] ?? false; + if (!$has_parent) { + $resources[] = $element; } }