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 09:07:31 +0000 |
| commit | 3c896ae484b71676d5f5e5c4c5984f608a54c51b (patch) | |
| tree | 277dd5c967ba9a70a66f8e9260fd2d2c419fc4f7 /lib/models/Courseware/StructuralElement.php | |
| parent | 1f67726f652f7aa085430b83e3de80897c763a0e (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 | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/models/Courseware/StructuralElement.php b/lib/models/Courseware/StructuralElement.php index 9262123..8e00012 100644 --- a/lib/models/Courseware/StructuralElement.php +++ b/lib/models/Courseware/StructuralElement.php @@ -276,6 +276,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; } @@ -336,13 +340,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; } @@ -357,7 +361,7 @@ class StructuralElement extends \SimpleORMap implements \PrivacyObject, \Feedbac if ($unit->permission_scope === 'unit') { return $unit->canRead($user); } else { - 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; } @@ -376,20 +380,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->hasReadContentApproval($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; } |
