aboutsummaryrefslogtreecommitdiff
path: root/lib/models/Courseware/StructuralElement.php
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2025-04-01 09:07:31 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2025-04-01 09:07:31 +0000
commit3c896ae484b71676d5f5e5c4c5984f608a54c51b (patch)
tree277dd5c967ba9a70a66f8e9260fd2d2c419fc4f7 /lib/models/Courseware/StructuralElement.php
parent1f67726f652f7aa085430b83e3de80897c763a0e (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.php16
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;
}