From a3c8a524da66aa1cc561f6e72915b6a05755e418 Mon Sep 17 00:00:00 2001
From: David Siegfried <david.siegfried@uni-vechta.de>
Date: Wed, 8 Mar 2023 13:35:01 +0000
Subject: [PATCH] prevent php-warnings, closes #2284

Closes #2284

Merge request studip/studip!1508
---
 .../JsonApi/Routes/Courseware/CoursewareInstancesHelper.php  | 5 ++++-
 lib/models/Courseware/ContainerTypes/ContainerType.php       | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/classes/JsonApi/Routes/Courseware/CoursewareInstancesHelper.php b/lib/classes/JsonApi/Routes/Courseware/CoursewareInstancesHelper.php
index e203fcdb1aa..aff2916aaf0 100644
--- a/lib/classes/JsonApi/Routes/Courseware/CoursewareInstancesHelper.php
+++ b/lib/classes/JsonApi/Routes/Courseware/CoursewareInstancesHelper.php
@@ -32,6 +32,7 @@ trait CoursewareInstancesHelper
         if (!($method = $methods[$rangeType])) {
             throw new BadRequestException('Invalid range type: "' . $rangeType . '".');
         }
+
         $root = null;
         if ($rangeType !== 'sharedusers') {
             $chunks = explode('_', $rangeId);
@@ -45,7 +46,9 @@ trait CoursewareInstancesHelper
             } else {
                 $unit = Unit::findOneBySQL('range_id = ?', [$courseId]);
             }
-            $root = $unit->structural_element;
+            if ($unit) {
+                $root = $unit->structural_element;
+            }
         } else {
             $root = StructuralElement::$method($rangeId);
         }
diff --git a/lib/models/Courseware/ContainerTypes/ContainerType.php b/lib/models/Courseware/ContainerTypes/ContainerType.php
index 4b28b345875..dbe6df255b5 100644
--- a/lib/models/Courseware/ContainerTypes/ContainerType.php
+++ b/lib/models/Courseware/ContainerTypes/ContainerType.php
@@ -197,7 +197,7 @@ abstract class ContainerType
 
         foreach ($payload['sections'] as &$section) {
             foreach ($section['blocks'] as &$block) {
-                $block = $block_map[$block];
+                $block = $block_map[$block] ?? null;
             }
         }
 
-- 
GitLab