diff --git a/app/controllers/admin/user.php b/app/controllers/admin/user.php
index dcc3690ea4b943116dbcb789d877365686842f7c..0ceeb392f316eb9002931647ac10c00e522e656c 100644
--- a/app/controllers/admin/user.php
+++ b/app/controllers/admin/user.php
@@ -1280,7 +1280,7 @@ class Admin_UserController extends AuthenticatedController
         $this->sections = [];
 
         foreach ($memberships as $membership) {
-            $semester_name = $membership->course->isOpenEnded() ? _('unbegrenzt') : $membership->course->start_semester->name;
+            $semester_name = $membership->course->isOpenEnded() ? _('unbegrenzt') : (string)$membership->course->start_semester->name;
             if (!Request::get('view') || Request::get('view') === 'files') {
                 // count files for course
 
@@ -1290,10 +1290,15 @@ class Admin_UserController extends AuthenticatedController
 
 
                 if ($count) {
-                    if (!isset($course_files[$membership->seminar_id])) {
-                        $course_files[$semester_name][$membership->course->id]['course'] = $membership->course;
+                    if (!isset($course_files[$semester_name])) {
+                        $course_files[$semester_name] = [];
                     }
-                    $course_files[$semester_name][$membership->course->id]['files'] = $count;
+                    if (!isset($course_files[$semester_name][$membership->seminar_id])) {
+                        $course_files[$semester_name][$membership->seminar_id] = [
+                            'course' => $membership->course,
+                        ];
+                    }
+                    $course_files[$semester_name][$membership->seminar_id]['files'] = $count;
                 }
             }
             if (in_array(Request::get('view'), words('courses closed_courses'))) {
@@ -1335,6 +1340,7 @@ class Admin_UserController extends AuthenticatedController
         } elseif (Request::get('view') === 'priorities') {
             // priorities
             $priorities = DBManager::get()->fetchAll('SELECT * FROM `priorities` WHERE `user_id` = ?', [$user_id]);
+            $seminar_wait = [];
         }
 
         if (!empty($course_files)) {
@@ -1350,7 +1356,7 @@ class Admin_UserController extends AuthenticatedController
             $this->sections['closed_courses'] = $closed_courses;
         }
 
-        if (is_array($seminar_wait) && count($seminar_wait)) {
+        if (!empty($seminar_wait)) {
             $this->sections['seminar_wait'] = $seminar_wait;
         }
 
diff --git a/app/views/admin/user/activities.php b/app/views/admin/user/activities.php
index d21c85f2afdb300dca56064f991e292b795f500b..0357b86561d0d0bcd0b534f516c42333758679bb 100644
--- a/app/views/admin/user/activities.php
+++ b/app/views/admin/user/activities.php
@@ -29,10 +29,10 @@
                     <?= htmlReady($query['value']) ?>
                 </td>
                 <td>
-                    <? if ($query['details']) : ?>
+                    <? if (!empty($query['details'])) : ?>
                         <a href="<?= $controller->url_for('admin/user/activities/' . $user['user_id'], ['view' => $query['details']] + $params) ?>"
                             <?= Request::isXhr() ? 'data-dialog="size=50%"' :  ''?>>
-                            <?= Icon::create('info-circle', 'clickable', ['title' => _('Ãœbersicht anzeigen')])->asImg('16') ?>
+                            <?= Icon::create('info-circle')->asImg(['title' => _('Ãœbersicht anzeigen')]) ?>
                         </a>
                     <? endif ?>
                 </td>
@@ -42,7 +42,7 @@
 </section>
 
 <? if (Request::get('view') !== 'files') : ?>
-    <? if (Request::get('view') == 'courses') : ?>
+    <? if (Request::get('view') === 'courses') : ?>
         <?= $this->render_partial('admin/user/_course_list.php',
                 ['memberships' => $sections['courses'],
                  'headline'    => _('Ãœbersicht Veranstaltungen'),
@@ -57,11 +57,11 @@
     <? endif ?>
 
 
-    <? if (Request::get('view') == 'seminar_wait') : ?>
+    <? if (Request::get('view') === 'seminar_wait' && !empty($sections['seminar_wait'])) : ?>
         <?= $this->render_partial('admin/user/_waiting_list.php', ['memberships' => $sections['seminar_wait']]) ?>
     <? endif ?>
 
-    <? if (Request::get('view') == 'priorities') : ?>
+    <? if (Request::get('view') === 'priorities' && !empty($sections['priorities'])) : ?>
         <?= $this->render_partial('admin/user/_priority_list.php', ['priorities' => $sections['priorities']]) ?>
     <? endif ?>
 <? endif ?>
@@ -70,7 +70,7 @@
         <?= $this->render_partial('admin/user/_course_files.php', ['course_files' => $sections['course_files']]) ?>
     <? endif ?>
 
-    <? if ($sections['institutes']) : ?>
+    <? if (!empty($sections['institutes'])) : ?>
         <?= $this->render_partial('admin/user/_institute_files.php', ['institutes' => $sections['institutes']]) ?>
     <? endif ?>
 <? endif ?>
diff --git a/app/views/admin/user/index.php b/app/views/admin/user/index.php
index bac2b527151652d3c7a1eb502944ece2bab9f41f..aaafc4b662c46162ce0cbe41e87371f4b65ca712 100644
--- a/app/views/admin/user/index.php
+++ b/app/views/admin/user/index.php
@@ -45,11 +45,11 @@ use Studip\Button;
             <?= _('Status')?>
 
             <select name="perm">
-            <? foreach(words('alle user autor tutor dozent admin root') as $one): ?>
-                <option value="<?= $one ?>" <?= (!empty($request['perm']) && $request['perm'] === $one) ? 'selected' : '' ?>>
-                    <?= ($one === 'alle') ? _('alle') : $one ?>
-                </option>
-            <? endforeach; ?>
+                <? foreach(words('alle user autor tutor dozent admin root') as $one): ?>
+                    <option value="<?= $one ?>" <?= (!empty($request['perm']) && $request['perm'] === $one) ? 'selected' : '' ?>>
+                        <?= ($one === 'alle') ? _('alle') : $one ?>
+                    </option>
+                <? endforeach; ?>
             </select>
         </label>
 
@@ -58,11 +58,11 @@ use Studip\Button;
 
             <div class="hgroup">
                 <select name="inaktiv" class="size-s">
-                <? foreach(['<=' => '>=', '=' => '=', '>' => '<', 'nie' =>_('nie')] as $i => $one): ?>
-                    <option value="<?= htmlready($i) ?>" <?= (!empty($request['inaktiv'][0]) && $request['inaktiv'][0] === $i) ? 'selected' : '' ?>>
-                        <?= htmlReady($one) ?>
-                    </option>
-                <? endforeach; ?>
+                    <? foreach(['<=' => '>=', '=' => '=', '>' => '<', 'nie' =>_('nie')] as $i => $one): ?>
+                        <option value="<?= htmlready($i) ?>" <?= (!empty($request['inaktiv'][0]) && $request['inaktiv'][0] === $i) ? 'selected' : '' ?>>
+                            <?= htmlReady($one) ?>
+                        </option>
+                    <? endforeach; ?>
                 </select>
 
                 <input name="inaktiv_tage" type="number" id="inactive"
@@ -100,11 +100,11 @@ use Studip\Button;
                 <option value="null-domain" <?= $request['userdomains'] === 'null-domain' ? 'selected' : '' ?>>
                     <?= _('Ohne Domäne') ?>
                 </option>
-            <? foreach ($userdomains as $one): ?>
-                <option value="<?= htmlReady($one->id) ?>" <?= $request['userdomains'] === $one->id ? 'selected' : ''?>>
-                    <?= htmlReady($one->name ?: $one->id) ?>
-                </option>
-            <? endforeach; ?>
+                <? foreach ($userdomains as $one): ?>
+                    <option value="<?= htmlReady($one->id) ?>" <?= $request['userdomains'] === $one->id ? 'selected' : ''?>>
+                        <?= htmlReady($one->name ?: $one->id) ?>
+                    </option>
+                <? endforeach; ?>
             </select>
         </label>
 
@@ -149,51 +149,51 @@ use Studip\Button;
         <label class="col-3">
             <?= _('Authentifizierung') ?>
             <select name="auth_plugins">
-               <option value=""><?= _('Alle') ?></option>
-           <? foreach (array_merge(['preliminary' => _('vorläufig')], $available_auth_plugins) as $key => $val): ?>
-                <option value="<?= $key ?>" <?= $request['auth_plugins'] === $key ? 'selected' : '' ?>>
-                    <?= htmlReady($val) ?>
-                </option>
-            <? endforeach; ?>
+                <option value=""><?= _('Alle') ?></option>
+                <? foreach (array_merge(['preliminary' => _('vorläufig')], $available_auth_plugins) as $key => $val): ?>
+                    <option value="<?= $key ?>" <?= $request['auth_plugins'] === $key ? 'selected' : '' ?>>
+                        <?= htmlReady($val) ?>
+                    </option>
+                <? endforeach; ?>
             </select>
         </label>
 
-    <? foreach ($datafields as $datafield): ?>
-        <label class="col-3">
-            <?= htmlReady($datafield->name) ?>
+        <? foreach ($datafields as $datafield): ?>
+            <label class="col-3">
+                <?= htmlReady($datafield->name) ?>
 
-        <? if ($datafield->type === 'bool'): ?>
-            <section class="hgroup">
+                <? if ($datafield->type === 'bool'): ?>
+                    <section class="hgroup">
                 <span class="col-2">
-                    <input type="radio" name="<?= $datafield->id ?>" value="" <?= (mb_strlen($request[$datafield->id]) === 0) ? 'checked' : '' ?>>
+                    <input type="radio" name="<?= $datafield->id ?>" value="" <?= isset($request[$datafield->id]) && mb_strlen($request[$datafield->id]) === 0 ? 'checked' : '' ?>>
                     <?= _('egal') ?>
                 </span>
-                <span class="col-2">
-                    <input type="radio" name="<?= $datafield->id ?>" value="1" <?= ($request[$datafield->id] === '1') ? 'checked' : '' ?>>
+                        <span class="col-2">
+                    <input type="radio" name="<?= $datafield->id ?>" value="1" <?= (!empty($request[$datafield->id]) && $request[$datafield->id] === '1') ? 'checked' : '' ?>>
                     <?= _('ja') ?>
                 </span>
-                <span class="col-2">
-                    <input type="radio" name="<?= $datafield->id ?>" value="0" <?= ($request[$datafield->id] === '0') ? 'checked' : '' ?>>
+                        <span class="col-2">
+                    <input type="radio" name="<?= $datafield->id ?>" value="0" <?= isset($request[$datafield->id]) && $request[$datafield->id] === '0' ? 'checked' : '' ?>>
                     <?= _('nein') ?>
                 </span>
-            </section>
-        <? elseif ($datafield->type === 'selectbox' || $datafield->type === 'radio') : ?>
-            <? $datafield_entry = DataFieldEntry::createDataFieldEntry($datafield);?>
-            <? [$type_param, $is_assoc_param] = $datafield_entry->getParameters(); ?>
-            <select name="<?= $datafield->id ?>">
-                <option value="---ignore---"><?= _('alle') ?></option>
-            <? foreach ($type_param as $pkey => $pval) :?>
-                <? $value = $is_assoc_param ? (string) $pkey : $pval; ?>
-                <option value="<?= $value ?>" <?= ($request[$datafield->id] === $value) ? 'selected' : '' ?>>
-                    <?= htmlReady($pval) ?>
-                </option>
-            <? endforeach ?>
-            </select>
-        <? else : ?>
-            <input type="text" name="<?= htmlReady($datafield->id) ?>" value="<?= htmlReady($request[$datafield->id] ?? '') ?>">
-        <? endif ?>
-        </label>
-    <? endforeach; ?>
+                    </section>
+                <? elseif ($datafield->type === 'selectbox' || $datafield->type === 'radio') : ?>
+                    <? $datafield_entry = DataFieldEntry::createDataFieldEntry($datafield);?>
+                    <? [$type_param, $is_assoc_param] = $datafield_entry->getParameters(); ?>
+                    <select name="<?= $datafield->id ?>">
+                        <option value="---ignore---"><?= _('alle') ?></option>
+                        <? foreach ($type_param as $pkey => $pval) :?>
+                            <? $value = $is_assoc_param ? (string) $pkey : $pval; ?>
+                            <option value="<?= $value ?>" <?= isset($request[$datafield->id]) && $request[$datafield->id] === $value ? 'selected' : '' ?>>
+                                <?= htmlReady($pval) ?>
+                            </option>
+                        <? endforeach ?>
+                    </select>
+                <? else : ?>
+                    <input type="text" name="<?= htmlReady($datafield->id) ?>" value="<?= htmlReady($request[$datafield->id] ?? '') ?>">
+                <? endif ?>
+            </label>
+        <? endforeach; ?>
         <? if(!empty($roles)) :?>
             <label class="col-3">
                 <?= _('Rollen')?>
@@ -209,7 +209,7 @@ use Studip\Button;
         <? endif?>
         <label>
             <input type="checkbox" name="show_only_not_lectures" value="1"
-                   <?= (!empty($request['show_only_not_lectures'])) ? 'checked' : '' ?>>
+                <?= (!empty($request['show_only_not_lectures'])) ? 'checked' : '' ?>>
             <?= _('Nur Personen anzeigen, die in keiner Veranstaltung Lehrende sind')?>
         </label>
     </fieldset>
diff --git a/lib/models/CourseDate.class.php b/lib/models/CourseDate.class.php
index bcfe5c743a765ac1f7b42dc5fd54be004b5cf7ae..7f7d172f16277007b0a46ef89b62aeb46b3c3b40 100644
--- a/lib/models/CourseDate.class.php
+++ b/lib/models/CourseDate.class.php
@@ -250,7 +250,7 @@ class CourseDate extends SimpleORMap implements PrivacyObject
      */
     public function getTypeName()
     {
-        return $GLOBALS['TERMIN_TYP'][$this->date_typ]['name'];
+        return $GLOBALS['TERMIN_TYP'][$this->date_typ]['name'] ?? '';
     }
 
     /**
diff --git a/lib/plugins/engine/PluginManager.class.php b/lib/plugins/engine/PluginManager.class.php
index 5873eb2d8127e9ab2496cee548fb89d1af8ce708..1f2d22ea31b32e1e39304041708aba6ba2de138a 100644
--- a/lib/plugins/engine/PluginManager.class.php
+++ b/lib/plugins/engine/PluginManager.class.php
@@ -619,7 +619,7 @@ class PluginManager
      */
     public function getPlugins ($type, $context = null)
     {
-        $user = $GLOBALS['user'] ? $GLOBALS['user']->id : 'nobody';
+        $user = isset($GLOBALS['user']) ? $GLOBALS['user']->id : 'nobody';
         $plugin_info = $this->getPluginInfos($type);
         $plugins = [];