From 58e6f4d3b00005b4042080eb82745f8aee9c057f Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Wed, 8 Nov 2023 08:44:31 +0000
Subject: [PATCH] fixes #3241

Closes #3241

Merge request studip/studip!2200
---
 lib/classes/MVV.class.php           |  5 +++--
 lib/navigation/StudipNavigation.php | 12 ++++++++----
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/lib/classes/MVV.class.php b/lib/classes/MVV.class.php
index 242ad25341e..6c577093779 100644
--- a/lib/classes/MVV.class.php
+++ b/lib/classes/MVV.class.php
@@ -69,8 +69,9 @@ class MVV implements Loggable {
      */
     public static function isVisibleSearch()
     {
-        return ($GLOBALS['perm']->have_perm('autor') || Config::get()->COURSE_SEARCH_IS_VISIBLE_NOBODY)
-                && Modul::publicModulesAvailable();
+        return isset($GLOBALS['perm'])
+            && ($GLOBALS['perm']->have_perm('autor') || Config::get()->COURSE_SEARCH_IS_VISIBLE_NOBODY)
+            && Modul::publicModulesAvailable();
     }
 
     /**
diff --git a/lib/navigation/StudipNavigation.php b/lib/navigation/StudipNavigation.php
index ff74dccbcac..9d1cb42bbe1 100644
--- a/lib/navigation/StudipNavigation.php
+++ b/lib/navigation/StudipNavigation.php
@@ -64,16 +64,20 @@ class StudipNavigation extends Navigation
         }
 
         // contents pages
-        if ($user->id !== 'nobody') {
+        if (isset($user) && $user->id !== 'nobody') {
             $this->addSubNavigation('contents', new ContentsNavigation());
         }
 
         // contents pages
-        if (Config::get()->OERCAMPUS_ENABLED && $perm && $perm->have_perm(Config::get()->OER_PUBLIC_STATUS)) {
+        if (
+            Config::get()->OERCAMPUS_ENABLED
+            && isset($perm)
+            && $perm->have_perm(Config::get()->OER_PUBLIC_STATUS)
+        ) {
             $this->addSubNavigation('oer', new OERNavigation());
         }
 
-        if ($user->id !== 'nobody') {
+        if (isset($user) && $user->id !== 'nobody') {
             // internal message system
             $this->addSubNavigation('messaging', new MessagingNavigation());
 
@@ -140,7 +144,7 @@ class StudipNavigation extends Navigation
         $links = new Navigation('Links');
 
         // login / logout
-        if ($user->id === 'nobody') {
+        if (!isset($user) || $user->id === 'nobody') {
             if (in_array('CAS', $GLOBALS['STUDIP_AUTH_PLUGIN'])) {
                 $links->addSubNavigation('login_cas', new Navigation(_('Login CAS'), Request::url(), ['again' => 'yes', 'sso' => 'cas']));
             }
-- 
GitLab