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 11:26:24 +0200
commit861c32e6889f33faff7f8fbb69d287f9e57d478b (patch)
tree76cabe52a2cfe6afd5ac5eb7094c70c5174b306a /lib/models/Courseware/StructuralElement.php
parentfbffec70730f8247b04d94cdcae6f4971b78b91e (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.php18
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;
}