diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-04-01 09:07:31 +0000 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-04-01 11:26:24 +0200 |
| commit | 861c32e6889f33faff7f8fbb69d287f9e57d478b (patch) | |
| tree | 76cabe52a2cfe6afd5ac5eb7094c70c5174b306a /lib/models/Courseware/StructuralElement.php | |
| parent | fbffec70730f8247b04d94cdcae6f4971b78b91e (diff) | |
prevent php8 warnings, fixes #5441
Closes #5441
Merge request studip/studip!4084
Diffstat (limited to 'lib/models/Courseware/StructuralElement.php')
| -rw-r--r-- | lib/models/Courseware/StructuralElement.php | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/lib/models/Courseware/StructuralElement.php b/lib/models/Courseware/StructuralElement.php index 35a0184..4b29313 100644 --- a/lib/models/Courseware/StructuralElement.php +++ b/lib/models/Courseware/StructuralElement.php @@ -267,6 +267,10 @@ class StructuralElement extends \SimpleORMap implements \PrivacyObject, \Feedbac */ public function canEdit($user): bool { + if (!$user) { + return false; + } + if ($GLOBALS['perm']->have_perm('root', $user->id)) { return true; } @@ -322,13 +326,13 @@ class StructuralElement extends \SimpleORMap implements \PrivacyObject, \Feedbac public function canRead($user): bool { // root darf immer - if ($GLOBALS['perm']->have_perm('root', $user->id)) { + if ($user && $GLOBALS['perm']->have_perm('root', $user->id)) { return true; } switch ($this->range_type) { case 'user': - if ($this->range_id === $user->id) { + if ($user && $this->range_id === $user->id) { return true; } @@ -339,7 +343,7 @@ class StructuralElement extends \SimpleORMap implements \PrivacyObject, \Feedbac return $this->hasReadApproval($user); case 'course': - if (!$GLOBALS['perm']->have_studip_perm('user', $this->range_id, $user->id)) { + if (!$user || !$GLOBALS['perm']->have_studip_perm('user', $this->range_id, $user->id)) { return false; } @@ -361,20 +365,20 @@ class StructuralElement extends \SimpleORMap implements \PrivacyObject, \Feedbac public function canVisit($user): bool { // root darf immer - if ($GLOBALS['perm']->have_perm('root', $user->id)) { + if ($user && $GLOBALS['perm']->have_perm('root', $user->id)) { return true; } switch ($this->range_type) { case 'user': - if ($this->range_id === $user->id) { + if ($user && $this->range_id === $user->id) { return true; } return $this->hasReadApproval($user); case 'course': - if (!$GLOBALS['perm']->have_studip_perm('user', $this->range_id, $user->id)) { + if (!$user || !$GLOBALS['perm']->have_studip_perm('user', $this->range_id, $user->id)) { return false; } @@ -1219,7 +1223,7 @@ SQL; if ($this->range_type === 'user') { return 'contents/courseware/courseware/' . $unit->id . '#/structural_element/' . $this->id; } - + return 'course/courseware/courseware/' . $unit->id . '?cid=' . $this->range_id . '#/structural_element/' . $this->id; } |
