From 0256cb7c7a213427f85b0b00d0527bd6a008d46a Mon Sep 17 00:00:00 2001
From: David Siegfried <david.siegfried@uni-vechta.de>
Date: Thu, 27 Oct 2022 07:27:02 +0000
Subject: [PATCH] add docblocks, closes #1653

Closes #1653

Merge request studip/studip!1064
---
 app/controllers/admin/specification.php       |  4 +-
 app/views/admin/additional/index.php          | 10 +++-
 app/views/admin/api/config.php                |  8 ++-
 app/views/admin/api/edit.php                  |  9 +++-
 app/views/admin/api/index.php                 |  7 +++
 app/views/admin/api/permissions.php           |  9 ++++
 app/views/admin/autoinsert/_search.php        |  6 +++
 app/views/admin/autoinsert/_status.php        |  8 +++
 app/views/admin/autoinsert/index.php          | 10 ++--
 app/views/admin/autoinsert/manual.php         | 16 +++++-
 app/views/admin/banner/edit.php               | 21 ++++++--
 app/views/admin/banner/index.php              | 14 +++++-
 app/views/admin/banner/info.php               | 16 ++++--
 app/views/admin/cache/_stats_entry.php        |  6 ++-
 app/views/admin/cache/settings.php            |  8 +++
 app/views/admin/cache/stats.php               |  5 ++
 .../admin/configuration/configuration.php     |  8 +++
 .../configuration/edit_configuration.php      |  7 +++
 .../admin/configuration/edit_range_config.php |  9 ++++
 .../configuration/range_configuration.php     |  6 +++
 app/views/admin/configuration/table-row.php   |  9 ++++
 app/views/admin/configuration/type-edit.php   |  6 ++-
 .../admin/content_terms_of_use/delete.php     | 11 ++++-
 app/views/admin/content_terms_of_use/edit.php |  6 +++
 .../admin/content_terms_of_use/index.php      |  6 +++
 app/views/admin/course_wizard_steps/edit.php  |  7 +++
 app/views/admin/course_wizard_steps/index.php |  7 +++
 app/views/admin/courseplanning/index.php      | 14 ++++--
 app/views/admin/courseplanning/nonconform.php |  6 +++
 app/views/admin/courseplanning/pick_color.php | 10 ++++
 .../admin/courseplanning/rename_column.php    |  8 +++
 .../admin/courseplanning/viewcolumns.php      |  8 +++
 app/views/admin/courseplanning/weekday.php    | 16 ++++--
 app/views/admin/courses/_course.php           | 11 ++++-
 app/views/admin/courses/add_to_archive.php    |  5 ++
 app/views/admin/courses/additional_inputs.php | 10 +++-
 app/views/admin/courses/admission_locked.php  |  6 +++
 app/views/admin/courses/aux-select.php        |  6 +++
 app/views/admin/courses/aux_preselect.php     |  8 ++-
 app/views/admin/courses/courses.php           | 49 ++++++++++++-------
 app/views/admin/courses/export_csv.php        |  7 +++
 app/views/admin/courses/get_subcourses.php    |  9 ++++
 app/views/admin/courses/index.php             |  6 +++
 app/views/admin/courses/lock.php              |  7 +++
 app/views/admin/courses/lock_preselect.php    |  8 ++-
 app/views/admin/courses/notice-action.php     |  7 +++
 app/views/admin/courses/notice.php            |  7 +++
 app/views/admin/courses/sidebar.php           |  6 +++
 app/views/admin/courses/visibility.php        |  5 ++
 app/views/admin/cronjobs/logs/display.php     |  5 ++
 app/views/admin/cronjobs/logs/index.php       | 13 ++++-
 .../admin/cronjobs/schedules/display.php      |  6 +++
 app/views/admin/cronjobs/schedules/edit.php   | 32 +++++++-----
 app/views/admin/cronjobs/schedules/index.php  | 15 +++++-
 .../admin/cronjobs/schedules/parameters.php   | 10 +++-
 .../cronjobs/schedules/periodic-schedule.php  |  9 ++++
 app/views/admin/cronjobs/tasks/execute.php    |  8 ++-
 app/views/admin/cronjobs/tasks/index.php      | 10 +++-
 app/views/admin/datafields/config.php         |  6 +++
 app/views/admin/datafields/edit.php           | 10 +++-
 app/views/admin/datafields/index.php          | 11 ++++-
 app/views/admin/datafields/new.php            | 10 ++++
 app/views/admin/datafields/preview.php        |  7 +++
 app/views/admin/datafields/type_select.php    |  6 +++
 app/views/admin/domain/edit.php               |  6 +++
 app/views/admin/domain/index.php              |  6 +++
 app/views/admin/holidays/edit.php             |  6 +++
 app/views/admin/holidays/index.php            |  7 +++
 app/views/admin/ilias_interface/add_ilias.php | 10 +++-
 .../admin/ilias_interface/edit_content.php    |  8 +++
 .../edit_interface_settings.php               |  7 +++
 .../ilias_interface/edit_permissions.php      |  9 +++-
 .../admin/ilias_interface/edit_server.php     | 13 +++++
 app/views/admin/ilias_interface/index.php     |  6 +++
 .../admin/ilias_interface/soap_methods.php    | 12 ++++-
 app/views/admin/install/index.php             |  5 ++
 app/views/admin/install/install-basic.php     |  6 +++
 app/views/admin/install/install.php           |  5 ++
 app/views/admin/install/layout.php            | 17 +++++++
 app/views/admin/install/mysql.php             |  5 ++
 app/views/admin/install/mysql_check.php       |  5 ++
 app/views/admin/install/permissions.php       |  7 +++
 app/views/admin/install/php_check.php         |  5 ++
 app/views/admin/install/prepare.php           |  8 +++
 app/views/admin/licenses/edit.php             |  6 +++
 app/views/admin/licenses/index.php            | 12 +++--
 app/views/admin/lockrules/_form.php           | 19 +++++--
 app/views/admin/lockrules/edit.php            |  9 +++-
 app/views/admin/lockrules/index.php           | 17 +++++--
 app/views/admin/lockrules/new.php             |  9 ++--
 app/views/admin/login_style/index.php         |  8 ++-
 app/views/admin/login_style/newpic.php        |  5 ++
 app/views/admin/lti/edit.php                  |  6 +++
 app/views/admin/lti/index.php                 | 22 ++++++---
 app/views/admin/oauth2/_clients.php           | 23 +++++----
 app/views/admin/oauth2/_notices.php           |  6 +++
 app/views/admin/oauth2/_setup.php             |  5 ++
 app/views/admin/oauth2/_setup_key.php         |  8 ++-
 app/views/admin/overlapping/admin_info.php    |  7 +++
 app/views/admin/overlapping/conflicts.php     | 12 ++++-
 app/views/admin/overlapping/courses.php       |  9 ++++
 app/views/admin/overlapping/index.php         |  9 +++-
 app/views/admin/overlapping/modul.php         |  7 +++
 app/views/admin/overlapping/overlapping.php   |  8 ++-
 app/views/admin/overlapping/selection.php     |  9 ++++
 .../admin/plugin/activation-error-form.php    |  7 +++
 .../admin/plugin/edit_automaticupdate.php     |  6 +++
 app/views/admin/plugin/index.php              | 10 +++-
 app/views/admin/plugin/manifest.php           |  6 +++
 app/views/admin/plugin/search.php             |  8 +++
 app/views/admin/plugin/unregistered.php       |  6 +++
 app/views/admin/plugin/update_info.php        |  8 ++-
 .../admin/plugin/upload-drag-and-drop.php     |  5 ++
 app/views/admin/role/add.php                  |  5 ++
 app/views/admin/role/add_plugin.php           |  5 ++
 app/views/admin/role/assign_plugin_role.php   | 11 ++++-
 app/views/admin/role/assign_role.php          | 12 ++++-
 .../admin/role/assign_role_institutes.php     | 13 +++--
 app/views/admin/role/index.php                |  7 +++
 app/views/admin/role/show_role.php            | 31 +++++++-----
 app/views/admin/sem_classes/_sem_type.php     |  9 ++--
 .../admin/sem_classes/content_plugin.php      |  6 ++-
 app/views/admin/sem_classes/details.php       |  6 ++-
 app/views/admin/sem_classes/overview.php      |  4 +-
 app/views/admin/semester/edit.php             |  6 +++
 app/views/admin/semester/index.php            | 19 ++++---
 app/views/admin/semester/lock.php             | 10 +++-
 app/views/admin/smileys/edit.php              | 23 +++++----
 app/views/admin/smileys/index.php             | 28 ++++++-----
 app/views/admin/smileys/statistics.php        |  8 +++
 app/views/admin/smileys/upload.php            | 14 ++++--
 app/views/admin/specification/_field.php      |  5 ++
 app/views/admin/specification/edit.php        | 11 ++++-
 app/views/admin/specification/index.php       | 12 +++--
 .../statusgroups/_edit_subgroupselect.php     | 10 +++-
 .../admin/statusgroups/_group-nestable.php    |  7 ++-
 app/views/admin/statusgroups/_group.php       | 10 ++++
 app/views/admin/statusgroups/_members.php     |  7 +++
 app/views/admin/statusgroups/delete.php       |  7 +++
 app/views/admin/statusgroups/deleteGroup.php  |  6 +++
 app/views/admin/statusgroups/editGroup.php    |  8 +++
 app/views/admin/statusgroups/index.php        |  7 ++-
 .../admin/statusgroups/sortAlphabetic.php     |  6 +++
 app/views/admin/statusgroups/sortGroups.php   |  6 +++
 app/views/admin/user/_course_files.php        |  8 +++
 app/views/admin/user/_course_list.php         |  6 +++
 app/views/admin/user/_delete.php              | 23 ++++++---
 app/views/admin/user/_institute_files.php     | 13 +++--
 app/views/admin/user/_priority_list.php       |  7 ++-
 app/views/admin/user/_results.php             | 10 +++-
 app/views/admin/user/_waiting_list.php        |  7 ++-
 app/views/admin/user/activities.php           |  9 ++++
 app/views/admin/user/edit.php                 | 15 +++++-
 app/views/admin/user/edit_institute.php       | 11 ++++-
 app/views/admin/user/index.php                | 14 +++++-
 app/views/admin/user/list_files.php           |  8 +++
 app/views/admin/user/lock_comment.php         |  7 +++
 app/views/admin/user/migrate.php              |  7 ++-
 app/views/admin/user/new.php                  | 15 ++++--
 app/views/admin/user/show_user_courses.php    | 16 ++++--
 app/views/admin/webservice_access/index.php   |  7 ++-
 app/views/admin/webservice_access/test.php    |  8 ++-
 162 files changed, 1336 insertions(+), 215 deletions(-)

diff --git a/app/controllers/admin/specification.php b/app/controllers/admin/specification.php
index 193a2a9f491..977ec1830f5 100644
--- a/app/controllers/admin/specification.php
+++ b/app/controllers/admin/specification.php
@@ -47,7 +47,7 @@ class Admin_SpecificationController extends AuthenticatedController
     /**
      * Edit or create a rule
      *
-     * @param md5 $edit_id
+     * @param string $edit_id
      */
     public function edit_action($id = null)
     {
@@ -108,7 +108,7 @@ class Admin_SpecificationController extends AuthenticatedController
     /**
      * Delete a rule, using a modal dialog
      *
-     * @param md5 $rule_id
+     * @param string $rule_id
      */
     public function delete_action($rule_id)
     {
diff --git a/app/views/admin/additional/index.php b/app/views/admin/additional/index.php
index f906f44703c..f61b7e0e036 100644
--- a/app/views/admin/additional/index.php
+++ b/app/views/admin/additional/index.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Course $course
+ * @var AuxLockRule[] $list
+ * @var int $count
+ * @var array $config
+ */
+?>
 <? if ($list): ?>
     <form class='default' method='post'>
         <fieldset>
@@ -34,5 +42,5 @@
         </footer>
     </form>
 <? else: ?>
-    <? _('Keine Zusatzangaben vorhanden') ?>
+    <?= _('Keine Zusatzangaben vorhanden') ?>
 <? endif; ?>
diff --git a/app/views/admin/api/config.php b/app/views/admin/api/config.php
index 426db12cdde..83d2ae540de 100644
--- a/app/views/admin/api/config.php
+++ b/app/views/admin/api/config.php
@@ -1,4 +1,10 @@
-<? use Studip\Button, Studip\LinkButton; ?>
+<?php
+/**
+ * @var Admin_ApiController $controller
+ * @var array $config
+ */
+use Studip\Button, Studip\LinkButton;
+?>
 
 <form class="default" action="<?= $controller->url_for('admin/api/config') ?>" method="post">
     <fieldset>
diff --git a/app/views/admin/api/edit.php b/app/views/admin/api/edit.php
index 65af5e9a582..f1c7e03f006 100644
--- a/app/views/admin/api/edit.php
+++ b/app/views/admin/api/edit.php
@@ -1,4 +1,11 @@
-<? use Studip\Button, Studip\LinkButton; ?>
+<?php
+/**
+ * @var Admin_ApiController $controller
+ * @var RESTAPI\Consumer\Base $consumer
+ * @var array $types
+ */
+use Studip\Button, Studip\LinkButton;
+?>
 
 <? if ($consumer->id): ?>
     <h1>
diff --git a/app/views/admin/api/index.php b/app/views/admin/api/index.php
index 8a79dca512f..87dff7e5b9c 100644
--- a/app/views/admin/api/index.php
+++ b/app/views/admin/api/index.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Admin_ApiController $controller
+ * @var RESTAPI\Consumer\Base[] $consumers
+ * @var array $types
+ */
+?>
 <? if (!empty($consumers)): ?>
 <form action="#" method="post" class="default">
 <table class="default">
diff --git a/app/views/admin/api/permissions.php b/app/views/admin/api/permissions.php
index 07441d69d5f..9eb48e36e1f 100644
--- a/app/views/admin/api/permissions.php
+++ b/app/views/admin/api/permissions.php
@@ -1,3 +1,12 @@
+<?php
+/**
+ * @var Admin_ApiController $controller
+ * @var RESTAPI\ConsumerPermissions $permissions
+ * @var string $consumer_id
+ * @var array $routes
+ * @var bool $global
+ */
+?>
 <form action="<?= $controller->url_for('admin/api/permissions', $consumer_id) ?>" method="post" class="default">
 <table class="default">
     <thead>
diff --git a/app/views/admin/autoinsert/_search.php b/app/views/admin/autoinsert/_search.php
index c457d7466b0..3aec17b6f4d 100644
--- a/app/views/admin/autoinsert/_search.php
+++ b/app/views/admin/autoinsert/_search.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var string $sem_select
+ * @var string $sem_search
+ */
+?>
 <fieldset>
     <legend>
         <?= _('Suche nach Veranstaltungen')?>
diff --git a/app/views/admin/autoinsert/_status.php b/app/views/admin/autoinsert/_status.php
index 22b4001aa3d..7a9be60e5a3 100644
--- a/app/views/admin/autoinsert/_status.php
+++ b/app/views/admin/autoinsert/_status.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Admin_AutoinsertController $controller
+ * @var array $domains
+ * @var array $auto_sems
+ * @var string $status
+ */
+?>
 <td>
     <? foreach ($domains as $domain) : ?>
         <div>
diff --git a/app/views/admin/autoinsert/index.php b/app/views/admin/autoinsert/index.php
index 6f863c551f0..f69bc173ccd 100644
--- a/app/views/admin/autoinsert/index.php
+++ b/app/views/admin/autoinsert/index.php
@@ -1,7 +1,9 @@
-<?
-# Lifter010: TODO
-use Studip\Button, Studip\LinkButton;
-
+<?php
+/**
+ * @var Admin_AutoinsertController $controller
+ * @var array $seminar_search
+ * @var array $userdomains
+ */
 ?>
 <? if (isset($flash['delete'])): ?>
     <?= (string)QuestionBox::create(
diff --git a/app/views/admin/autoinsert/manual.php b/app/views/admin/autoinsert/manual.php
index e081a10c7c5..c06454830a8 100644
--- a/app/views/admin/autoinsert/manual.php
+++ b/app/views/admin/autoinsert/manual.php
@@ -1,3 +1,17 @@
+<?php
+/**
+ * @var Admin_AutoinsertController $controller
+ * @var string $sem_search
+ * @var string $sem_select
+ * @var array $seminar_search
+ * @var array $filtertype
+ * @var string $sem_id
+ * @var array $available_filtertypes
+ * @var array $values
+ * @var array $filter
+ */
+?>
+
 <style type="text/css">
     .filter_selection select {
         width: 100%;
@@ -14,7 +28,7 @@
 </form>
 
 
-<? if ($seminar_search > 0 && $sem_search && $sem_select): ?>
+<? if ((is_array($seminar_search) && count($seminar_search) > 0) && $sem_search && $sem_select): ?>
     <form class="default" action="<?= $controller->manual() ?>" method="post">
         <?= CSRFProtection::tokenTag() ?>
         <input type="hidden" name="sem_search" value="<?= htmlReady($sem_search) ?>">
diff --git a/app/views/admin/banner/edit.php b/app/views/admin/banner/edit.php
index 0c0108259bf..9bf48f5ce3e 100644
--- a/app/views/admin/banner/edit.php
+++ b/app/views/admin/banner/edit.php
@@ -1,4 +1,17 @@
-<? use Studip\Button, Studip\LinkButton; ?>
+<?php
+/**
+ * @var Admin_BannerController $controller
+ * @var Banner $banner
+ * @var array $target_types
+ * @var Course $seminar
+ * @var Institute $institut
+ * @var User $user
+ * @var array $priorities
+ * @var array $assigned
+ * @var array $rolesStats
+ * @var Role $roles
+ */
+?>
 <form action="<?= $controller->url_for('admin/banner/edit', $banner->id) ?>" method="post" enctype="multipart/form-data" class="default">
     <?= CSRFProtection::tokenTag() ?>
 
@@ -20,13 +33,13 @@
 
         <label>
             <?= _('Beschreibung:') ?>
-            <input type="text" id="description" name="description" value="<?= htmlReady($banner['description']) ?>" size="40" maxlen="254">
+            <input type="text" id="description" name="description" value="<?= htmlReady($banner['description']) ?>" size="40" maxlength="254">
         </label>
 
         <label>
             <?= _('Alternativtext:') ?>
 
-            <input type="text" id="alttext" name="alttext" value="<?= htmlReady($banner['alttext']) ?>" size="40" maxlen="254">
+            <input type="text" id="alttext" name="alttext" value="<?= htmlReady($banner['alttext']) ?>" size="40" maxlength="254">
         </label>
 
         <label>
@@ -147,4 +160,4 @@
             }).change();
         });
     </script>
-<? endif; ?>
\ No newline at end of file
+<? endif; ?>
diff --git a/app/views/admin/banner/index.php b/app/views/admin/banner/index.php
index 9c3fb27fb88..11f9d8e3a18 100644
--- a/app/views/admin/banner/index.php
+++ b/app/views/admin/banner/index.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_BannerController $controller
+ * @var Banner[] $banners
+ */
+?>
 <? if (isset($flash['delete'])): ?>
     <?= QuestionBox::create(
         _('Wollen Sie das Banner wirklich löschen?'),
@@ -22,6 +28,10 @@
     </thead>
     <tbody>
     <? foreach ($banners as $banner): ?>
+        <?
+            $object_name_sem = get_object_name($banner->target, 'sem');
+            $object_name_inst = get_object_name($banner->target, 'inst');
+        ?>
         <tr id="banner-<?= htmlReady($banner->id) ?>">
             <td style="text-align: center;">
                 <?= $banner->toImg(['style' => 'max-width: 80px']) ?>
@@ -30,9 +40,9 @@
             <td><?= htmlReady($banner->target_type) ?></td>
             <td>
             <? if ($banner['target_type'] === 'seminar'): ?>
-                <?= mila(reset(get_object_name($banner->target, 'sem')), 30) ?>
+                <?= mila(reset($object_name_sem), 30) ?>
             <? elseif ($banner['target_type'] === 'inst') :?>
-                <?= mila(reset(get_object_name($banner->target, 'inst')), 30) ?>
+                <?= mila(reset($object_name_inst), 30) ?>
             <? else: ?>
                 <?= htmlReady($banner->target) ?>
             <? endif; ?>
diff --git a/app/views/admin/banner/info.php b/app/views/admin/banner/info.php
index 74e8c730337..be5df975fe6 100644
--- a/app/views/admin/banner/info.php
+++ b/app/views/admin/banner/info.php
@@ -1,3 +1,12 @@
+<?php
+/**
+ * @var Admin_BannerController $controller
+ * @var array $banner
+ * @var array $target_types
+ * @var array $priorities
+ * @var array $assigned
+ */
+?>
 <table class="default">
     <tbody>
         <tr>
@@ -14,7 +23,7 @@
             <td>
                 <input type="text" readonly
                        value="<?= htmlReady($banner['description']) ?>"
-                       size="40" maxlen="254">
+                       size="40" maxlength="254">
             </td>
         </tr>
         <tr>
@@ -22,7 +31,7 @@
             <td>
                 <input type="text" readonly
                        value="<?= htmlReady($banner['alttext']) ?>"
-                       size="40" maxlen="254">
+                       size="40" maxlength="254">
             </td>
         </tr>
         <tr>
@@ -42,7 +51,7 @@
             <td>
                 <input type="text" readonly
                        value="<?= htmlReady($banner['target']) ?>"
-                       size="40" maxlen="254" disabled>
+                       size="40" maxlength="254" disabled>
             </td>
         </tr>
         <tr>
@@ -86,4 +95,3 @@
         </tr>
     </tbody>
 </table>
-
diff --git a/app/views/admin/cache/_stats_entry.php b/app/views/admin/cache/_stats_entry.php
index 0c850747ed9..2c8b940a103 100644
--- a/app/views/admin/cache/_stats_entry.php
+++ b/app/views/admin/cache/_stats_entry.php
@@ -1,4 +1,8 @@
-<? if (is_array($entry)) : ?>
+<?php
+/**
+ * @var array $entry
+ */
+?><? if (is_array($entry)) : ?>
     <dl class="default">
         <? foreach ($entry as $index => $data) : ?>
             <dt><?= htmlReady($index) ?></dt>
diff --git a/app/views/admin/cache/settings.php b/app/views/admin/cache/settings.php
index ad1e54439cf..cf022d4d930 100644
--- a/app/views/admin/cache/settings.php
+++ b/app/views/admin/cache/settings.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var boolean $enabled
+ * @var array $types
+ * @var array $config
+ * @var string $cache
+ */
+?>
 <? if ($enabled) : ?>
     <div id="cache-admin-container">
         <cache-administration :cache-types='<?= htmlReady(json_encode($types)) ?>' current-cache="<?= htmlReady($cache) ?>"
diff --git a/app/views/admin/cache/stats.php b/app/views/admin/cache/stats.php
index 9de9bafb3e9..c01a8e631f6 100644
--- a/app/views/admin/cache/stats.php
+++ b/app/views/admin/cache/stats.php
@@ -1,3 +1,8 @@
+<?php
+/**
+* @var array $stats
+ */
+?>
 <section class="contentbox">
     <header>
         <h1><?= _('Cache-Statistiken') ?></h1>
diff --git a/app/views/admin/configuration/configuration.php b/app/views/admin/configuration/configuration.php
index 8b8e6d01f5e..de80ac70e76 100644
--- a/app/views/admin/configuration/configuration.php
+++ b/app/views/admin/configuration/configuration.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var string $needle
+ * @var array $sections
+ * @var array $open_section
+ * @var array $only_section
+ */
+?>
 <section class="contentbox">
     <header>
         <h1>
diff --git a/app/views/admin/configuration/edit_configuration.php b/app/views/admin/configuration/edit_configuration.php
index 4818094e491..aa4c574a6aa 100644
--- a/app/views/admin/configuration/edit_configuration.php
+++ b/app/views/admin/configuration/edit_configuration.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Admin_ConfigurationController $controller
+ * @var array $config
+ * @var array $allconfigs
+ */
+?>
 <form action="<?= $controller->link_for('admin/configuration/edit_configuration', ['field' => $config['field']]) ?>"
       method="post" data-dialog="size=auto" class="default">
     <?= CSRFProtection::tokenTag() ?>
diff --git a/app/views/admin/configuration/edit_range_config.php b/app/views/admin/configuration/edit_range_config.php
index 32d2d4c9028..3367aae6fff 100644
--- a/app/views/admin/configuration/edit_range_config.php
+++ b/app/views/admin/configuration/edit_range_config.php
@@ -1,3 +1,12 @@
+<?php
+/**
+ * @var Admin_ConfigurationController $controller
+ * @var string $range_type
+ * @var string $field
+ * @var User|Institute|Course $range
+ * @var array $config
+ */
+?>
 <form action="<?= $controller->link_for("admin/configuration/edit_{$range_type}_config", $range, compact('field')) ?>"
       method="post" data-dialo="size=auto" class="default">
     <?= CSRFProtection::tokenTag() ?>
diff --git a/app/views/admin/configuration/range_configuration.php b/app/views/admin/configuration/range_configuration.php
index f32bd0d5c23..1bc650c10f9 100644
--- a/app/views/admin/configuration/range_configuration.php
+++ b/app/views/admin/configuration/range_configuration.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var string $title
+ * @var array $configs
+ */
+?>
 <table class="default">
     <caption>
         <?= htmlReady($title) ?>
diff --git a/app/views/admin/configuration/table-row.php b/app/views/admin/configuration/table-row.php
index ef161e30cf1..12769ed5c3c 100644
--- a/app/views/admin/configuration/table-row.php
+++ b/app/views/admin/configuration/table-row.php
@@ -1,3 +1,12 @@
+<?php
+/**
+ * @var Admin_ConfigurationController $controller
+ * @var string $field
+ * @var string $linkchunk
+ * @var string $type
+ * @var string $value
+ */
+?>
 <tr id="field-<?= htmlReady($field) ?>">
     <td>
         <a data-dialog href="<?= $controller->link_for($linkchunk, compact('field')) ?>">
diff --git a/app/views/admin/configuration/type-edit.php b/app/views/admin/configuration/type-edit.php
index 6d277b45374..9fddb454f0a 100644
--- a/app/views/admin/configuration/type-edit.php
+++ b/app/views/admin/configuration/type-edit.php
@@ -1,5 +1,9 @@
+<?php
+/**
+ * @var string $value
+ */
+?>
 <? if ($type === 'boolean') : ?>
-
     <input type="hidden" name="value" value="0">
     <label>
         <input type="checkbox" name="value" value="1" <? if ($value) echo 'checked'; ?>>
diff --git a/app/views/admin/content_terms_of_use/delete.php b/app/views/admin/content_terms_of_use/delete.php
index d7aabd229e5..d658fc1fd8c 100644
--- a/app/views/admin/content_terms_of_use/delete.php
+++ b/app/views/admin/content_terms_of_use/delete.php
@@ -1,5 +1,12 @@
-
-
+<?php
+/**
+ * @var Admin_ContentTermsOfUseController $controller
+ * @var string $entry_id
+ * @var int $dependent_files_count
+ * @var ContentTermsOfUse[] $other_entries
+ * @var string $other_entry_id
+ */
+?>
 <form class="default" method="post" action="<?= $controller->link_for('admin/content_terms_of_use/delete') ?>">
     <input type="hidden" name="entry_id" value="<?= htmlReady($entry_id) ?>">
     <fieldset>
diff --git a/app/views/admin/content_terms_of_use/edit.php b/app/views/admin/content_terms_of_use/edit.php
index e72a15dcf6d..587332b3765 100644
--- a/app/views/admin/content_terms_of_use/edit.php
+++ b/app/views/admin/content_terms_of_use/edit.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_ContentTermsOfUseController $controller
+ * @var ContentTermsOfUse $entry
+ */
+?>
 <form class="default" method="post" action="<?= $controller->link_for('admin/content_terms_of_use/store?id=' . $entry->id) ?>">
     <?= CSRFProtection::tokenTag() ?>
     <fieldset>
diff --git a/app/views/admin/content_terms_of_use/index.php b/app/views/admin/content_terms_of_use/index.php
index afaeb810dbd..4727fb13e93 100644
--- a/app/views/admin/content_terms_of_use/index.php
+++ b/app/views/admin/content_terms_of_use/index.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_ContentTermsOfUseController $controller
+ * @var ContentTermsOfUse[] $entries
+ */
+?>
 <table class="default">
     <caption><?= _('Inhalts-Nutzungsbedingungen') ?></caption>
     <thead>
diff --git a/app/views/admin/course_wizard_steps/edit.php b/app/views/admin/course_wizard_steps/edit.php
index ab3de24dd7b..067ff2eceb6 100644
--- a/app/views/admin/course_wizard_steps/edit.php
+++ b/app/views/admin/course_wizard_steps/edit.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var array $availableClasses
+ * @var Admin_CourseWizardStepsController $controller
+ * @var CourseWizardStep $step
+ */
+?>
 <form class="default" action="<?= $controller->url_for('admin/coursewizardsteps/save', $step->id) ?>" method="post">
     <?= CSRFProtection::tokenTag() ?>
     <fieldset>
diff --git a/app/views/admin/course_wizard_steps/index.php b/app/views/admin/course_wizard_steps/index.php
index bed64e5ad45..19314f0418e 100644
--- a/app/views/admin/course_wizard_steps/index.php
+++ b/app/views/admin/course_wizard_steps/index.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var bool $has_enabled
+ * @var Admin_CourseWizardStepsController $controller
+ * @var CourseWizardStep[] $steps
+ */
+?>
 <? if (!$has_enabled) : ?>
     <?= MessageBox::info(_('Es gibt keine aktiven Schritte für den Anlegeassistenten!')) ?>
 <? endif ?>
diff --git a/app/views/admin/courseplanning/index.php b/app/views/admin/courseplanning/index.php
index 1b0b5e9ce2e..5fd28e95096 100644
--- a/app/views/admin/courseplanning/index.php
+++ b/app/views/admin/courseplanning/index.php
@@ -1,10 +1,16 @@
-<?
-    $min_time = Config::get()->INSTITUTE_COURSE_PLAN_START_HOUR . ':00';
-    $max_time = Config::get()->INSTITUTE_COURSE_PLAN_END_HOUR . ':00';
+<?php
+/**
+ * @var string $plan_title
+ * @var array $events
+ * @var array $eventless_courses
+ * @var Admin_CourseplanningController $controller
+ */
+
+$min_time = Config::get()->INSTITUTE_COURSE_PLAN_START_HOUR . ':00';
+$max_time = Config::get()->INSTITUTE_COURSE_PLAN_END_HOUR . ':00';
 ?>
 
 <?= Studip\Fullcalendar::create($plan_title, [
-    'editable' => true,
     'minTime' => $min_time,
     'maxTime' => $max_time,
     'allDaySlot' => false,
diff --git a/app/views/admin/courseplanning/nonconform.php b/app/views/admin/courseplanning/nonconform.php
index 5a7aed49663..08a128ad1f0 100644
--- a/app/views/admin/courseplanning/nonconform.php
+++ b/app/views/admin/courseplanning/nonconform.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var array $non_conform_dates
+ * @var Course_DetailsController $controller
+ */
+?>
 <table class="default">
     <caption>
         <?= _('Folgende regelmäßige Termine von Veranstaltungen passen nicht in das vorgegebene Zeitraster:') ?>
diff --git a/app/views/admin/courseplanning/pick_color.php b/app/views/admin/courseplanning/pick_color.php
index b9a95b50f94..dbd93a8ea0d 100644
--- a/app/views/admin/courseplanning/pick_color.php
+++ b/app/views/admin/courseplanning/pick_color.php
@@ -1,3 +1,13 @@
+<?php
+/**
+ * @var Admin_CourseplanningController $controller
+ * @var string $metadate_id
+ * @var string $from_action
+ * @var string $weekday
+ * @var string $semtype
+ * @var string $color
+ */
+?>
 <form class="default" method="post" action="<?= $controller->pick_color($metadate_id, $from_action, $weekday) ?>" data-dialog="size=auto">
     <input type="hidden" id="selected-color" name="selected-color" value="<?= $color ?>">
 
diff --git a/app/views/admin/courseplanning/rename_column.php b/app/views/admin/courseplanning/rename_column.php
index 41400ae93de..2cb8b67f542 100644
--- a/app/views/admin/courseplanning/rename_column.php
+++ b/app/views/admin/courseplanning/rename_column.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Admin_CourseplanningController $controller
+ * @var string $column_id
+ * @var string $week_day
+ * @var string $column_name
+ */
+?>
 <form class="default" method="post" action="<?= $controller->link_for('admin/courseplanning/rename_column/' . $column_id . '/' . $week_day) ?>" data-dialog="size=auto">
     <label>
         <?= _('Spaltenname') ?>
diff --git a/app/views/admin/courseplanning/viewcolumns.php b/app/views/admin/courseplanning/viewcolumns.php
index cc072733fc1..3082f0c9cd2 100644
--- a/app/views/admin/courseplanning/viewcolumns.php
+++ b/app/views/admin/courseplanning/viewcolumns.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Admin_CourseplanningController $controller
+ * @var string $column_id
+ * @var array $columns
+ * @var string $institute_id
+ */
+?>
 <form class="default" method="POST" action="<?= $controller->url_for('admin/courseplanning/viewcolumns/' . $week_day) ?>" data-dialog="size=auto">
 
     <table class="default">
diff --git a/app/views/admin/courseplanning/weekday.php b/app/views/admin/courseplanning/weekday.php
index a0e15c769b6..cc1a14ecd22 100644
--- a/app/views/admin/courseplanning/weekday.php
+++ b/app/views/admin/courseplanning/weekday.php
@@ -1,6 +1,15 @@
-<?
-    $min_time = Config::get()->INSTITUTE_COURSE_PLAN_START_HOUR . ':00';
-    $max_time = Config::get()->INSTITUTE_COURSE_PLAN_END_HOUR . ':00';
+<?php
+/**
+ * @var Admin_CourseplanningController $controller
+ * @var DateTime $cal_date
+ * @var string $plan_title
+ * @var array $events
+ * @var array $columns
+ * @var array $eventless_courses
+ */
+
+$min_time = Config::get()->INSTITUTE_COURSE_PLAN_START_HOUR . ':00';
+$max_time = Config::get()->INSTITUTE_COURSE_PLAN_END_HOUR . ':00';
 ?>
 
 <? $days = ['Sonntag', 'Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag']; ?>
@@ -12,7 +21,6 @@
 </div>
 
 <?= Studip\Fullcalendar::create($plan_title, [
-    'editable' => true,
     'minTime' => $min_time,
     'maxTime' => $max_time,
     'allDaySlot' => false,
diff --git a/app/views/admin/courses/_course.php b/app/views/admin/courses/_course.php
index 80cec90d39e..87491fd152a 100644
--- a/app/views/admin/courses/_course.php
+++ b/app/views/admin/courses/_course.php
@@ -1,8 +1,17 @@
 <?php
-/*
+/**
  * Show course only if it has no parent course or the parent course is not
  * part of the current view. Otherwise the current course will be listed
  * as subcourse under its parent.
+ *
+ * @var array $values
+ * @var array $courses
+ * @var string $semid
+ * @var string $parent
+ * @var Admin_CoursesController $controller
+ * @var array $view_filter
+ * @var Semester $semester
+ * @var string $selected_action
  */
 if (!$values['parent_course'] || !in_array($values['parent_course'], array_keys($courses))) : ?>
     <?php
diff --git a/app/views/admin/courses/add_to_archive.php b/app/views/admin/courses/add_to_archive.php
index 1d96f98f12e..802b7d613de 100644
--- a/app/views/admin/courses/add_to_archive.php
+++ b/app/views/admin/courses/add_to_archive.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var Course $course
+ */
+?>
 <label>
     <input name="archiv_sem[]" type="checkbox" value="<?= htmlReady($course->id) ?>">
 </label>
diff --git a/app/views/admin/courses/additional_inputs.php b/app/views/admin/courses/additional_inputs.php
index 5d84f69ee75..54c32e931fb 100644
--- a/app/views/admin/courses/additional_inputs.php
+++ b/app/views/admin/courses/additional_inputs.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var string $colspan
+ * @var string $selected_action
+ * @var string $selected_action
+ * @var array $values
+ */
+?>
 <tr>
     <th colspan="<?= $colspan ?>" style="text-align: right">
         <? switch ($selected_action) {
@@ -25,4 +33,4 @@
                 break;
         }?>
     </th>
-</tr>
\ No newline at end of file
+</tr>
diff --git a/app/views/admin/courses/admission_locked.php b/app/views/admin/courses/admission_locked.php
index 20e6f0a0dbc..38c3bf09da2 100644
--- a/app/views/admin/courses/admission_locked.php
+++ b/app/views/admin/courses/admission_locked.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Course $course
+ * @var array $values
+ */
+?>
 <input type="hidden" name="all_sem[]" value="<?= htmlReady($course->id) ?>">
 <label>
     <input type="checkbox" <?= $values['admission_locked'] == 'disable' ? 'disabled' : '' ?>
diff --git a/app/views/admin/courses/aux-select.php b/app/views/admin/courses/aux-select.php
index 9088902428e..1786598a0b2 100644
--- a/app/views/admin/courses/aux-select.php
+++ b/app/views/admin/courses/aux-select.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Course $course
+ * @var array $aux_lock_rules
+ */
+?>
 <select name="lock_sem[<?= htmlReady($course->id) ?>]" style="max-width: 200px">
 <? foreach ($aux_lock_rules as $id => $rule) : ?>
     <option value="<?= $id ?>" <?= $values['aux_lock_rule'] == $id ?  'selected' : '' ?>>
diff --git a/app/views/admin/courses/aux_preselect.php b/app/views/admin/courses/aux_preselect.php
index 86e88befb0e..e44e378973f 100644
--- a/app/views/admin/courses/aux_preselect.php
+++ b/app/views/admin/courses/aux_preselect.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var array $values
+ * @var array $aux_lock_rules
+ */
+?>
 <label><?= _('Für alle Veranstaltungen') ?>
     <select name="lock_sem_all" style="max-width: 200px">
         <? foreach ($aux_lock_rules as $id => $rule) : ?>
@@ -12,4 +18,4 @@
 <input type="checkbox" value="1" name="aux_all_forced">
 <?=_("Erzwungen")?>
 </label>
-<?= \Studip\Button::createAccept(_('Speichern'), 'all'); ?>
\ No newline at end of file
+<?= \Studip\Button::createAccept(_('Speichern'), 'all'); ?>
diff --git a/app/views/admin/courses/courses.php b/app/views/admin/courses/courses.php
index ee5ce7e09db..0d19b001782 100644
--- a/app/views/admin/courses/courses.php
+++ b/app/views/admin/courses/courses.php
@@ -1,14 +1,28 @@
-<? $colspan = 2 ?>
+<?php
+/**
+ * @var string $selected_action
+ * @var array $view_filter
+ * @var Semester $semester
+ * @var int $count_courses
+ * @var string $sortby
+ * @var string $sortFlag
+ * @var int $nav_elements
+ * @var array $courses
+ */
+
+$colspan = 2
+?>
+
 <? if (!empty($actions[$selected_action]['multimode'])) : ?>
     <form action="<?= URLHelper::getLink($actions[$selected_action]['url']) ?>" method="post">
 <? endif ?>
 <?= CSRFProtection::tokenTag() ?>
 <table class="default course-admin">
     <colgroup>
-        <col width="2%">
+        <col style="width: 2%">
     <? if (in_array('number', $view_filter)) : ?>
         <? $colspan++ ?>
-        <col width="8%">
+        <col style="width: 8%">
     <? endif ?>
     <? if (in_array('name', $view_filter)) : ?>
         <? $colspan++ ?>
@@ -16,57 +30,57 @@
     <? endif ?>
     <? if (in_array('type', $view_filter)) : ?>
         <? $colspan++ ?>
-        <col width="10%">
+        <col style="width: 10%">
     <? endif ?>
     <? if (in_array('room_time', $view_filter)) : ?>
         <? $colspan++ ?>
-        <col width="30%">
+        <col style="width: 30%">
     <? endif ?>
         <? if (in_array('semester', $view_filter)) : ?>
             <? $colspan++ ?>
-            <col width="10%">
+            <col style="width: 10%">
         <? endif ?>
         <? if (in_array('institute', $view_filter)) : ?>
             <? $colspan++ ?>
-            <col width="10%">
+            <col style="width: 10%">
         <? endif ?>
         <? if (in_array('requests', $view_filter)) : ?>
         <? $colspan++ ?>
-        <col width="5%">
+        <col style="width: 5%">
     <? endif ?>
     <? if (in_array('teachers', $view_filter)) : ?>
         <? $colspan++ ?>
-        <col width="10%">
+        <col style="width: 10%">
     <? endif ?>
     <? if (in_array('members', $view_filter)) : ?>
         <? $colspan++ ?>
-        <col width="3%">
+        <col style="width: 3%">
     <? endif ?>
     <? if (in_array('waiting', $view_filter)) : ?>
         <? $colspan++ ?>
-        <col width="5%">
+        <col style="width: 5%">
     <? endif ?>
     <? if (in_array('preliminary', $view_filter)) : ?>
         <? $colspan++ ?>
-        <col width="5%">
+        <col style="width: 5%">
     <? endif ?>
     <? if (in_array('contents', $view_filter)) : ?>
         <? $colspan++ ?>
-        <col width="8%">
+        <col style="width: 8%">
     <? endif ?>
     <? if (in_array('last_activity', $view_filter)) : ?>
         <? $colspan++ ?>
-        <col width="8%">
+        <col style="width: 8%">
     <? endif ?>
         <? foreach (PluginManager::getInstance()->getPlugins("AdminCourseContents") as $plugin) : ?>
             <? foreach ($plugin->adminAvailableContents() as $index => $label) : ?>
                 <? if (in_array($plugin->getPluginId()."_".$index, $view_filter)) : ?>
                     <? $colspan++ ?>
-                    <col width="8%">
+                    <col style="width: 8%">
                 <? endif ?>
             <? endforeach ?>
         <? endforeach ?>
-        <col width="15%">
+        <col style="width: 15%">
 
     </colgroup>
     <caption>
@@ -152,8 +166,7 @@
         <? endif ?>
         <? if (in_array('members', $view_filter)) : ?>
             <th <?= ($sortby == 'teilnehmer') ? sprintf('class="sort%s"', mb_strtolower($sortFlag)) : '' ?>>
-                <a href="<?=
-                URLHelper::getLink('', ['sortby'   => 'teilnehmer',
+                <a href="<?= URLHelper::getLink('', ['sortby'   => 'teilnehmer',
                                              'sortFlag' => mb_strtolower($sortFlag)]) ?>">
                     <abbr title="<?= _('Teilnehmende') ?>">
                         <?= _('TN') ?>
diff --git a/app/views/admin/courses/export_csv.php b/app/views/admin/courses/export_csv.php
index 795c3003067..b2933404eb2 100644
--- a/app/views/admin/courses/export_csv.php
+++ b/app/views/admin/courses/export_csv.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Admin_CoursesController $controller
+ * @var array $fields
+ * @var array $selection
+ */
+?>
 <form action="<?= $controller->link_for('admin/courses/export_csv') ?>" method="get" class="default">
     <fieldset>
     <? foreach ($fields as $index => $name) : ?>
diff --git a/app/views/admin/courses/get_subcourses.php b/app/views/admin/courses/get_subcourses.php
index dfa0d21f6de..b2857ae7f45 100644
--- a/app/views/admin/courses/get_subcourses.php
+++ b/app/views/admin/courses/get_subcourses.php
@@ -1,3 +1,12 @@
+<?php
+/**
+ * @var array $courses
+ * @var array $view_filter
+ * @var array $actions
+ * @var string $selected_action
+ * @var string $parent
+ */
+?>
 <?php foreach ($courses as $semid => $values) : ?>
     <?= $this->render_partial('admin/courses/_course', compact('semid', 'values', 'view_filter', 'actions', 'selected_action', 'parent', 'courses')) ?>
 <?php endforeach;
diff --git a/app/views/admin/courses/index.php b/app/views/admin/courses/index.php
index c5a17c83062..7145332b37f 100644
--- a/app/views/admin/courses/index.php
+++ b/app/views/admin/courses/index.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_CoursesController $controller
+ * @var int $count_courses
+ */
+?>
 <? if (empty($insts)): ?>
     <?= MessageBox::info(sprintf(_('Sie wurden noch keinen Einrichtungen zugeordnet. Bitte wenden Sie sich an einen der zuständigen %sAdministratoren%s.'), '<a href="' . URLHelper::getLink('dispatch.php/siteinfo/show') . '">', '</a>')) ?>
 <? elseif (!empty($courses)): ?>
diff --git a/app/views/admin/courses/lock.php b/app/views/admin/courses/lock.php
index 83d2c1163d2..459b8f744fd 100644
--- a/app/views/admin/courses/lock.php
+++ b/app/views/admin/courses/lock.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var array $values
+ * @var SimpleCollection $all_lock_rules
+ * @var Course $course
+ */
+?>
 <? $current_lock_rule = $all_lock_rules->findOneBy('lock_id', $values['lock_rule']); ?>
 <? if (!$GLOBALS['perm']->have_perm('root') && ($current_lock_rule['permission'] == 'admin' || $current_lock_rule['permission'] == 'root')) : ?>
     <?= htmlReady($current_lock_rule['name'])?>
diff --git a/app/views/admin/courses/lock_preselect.php b/app/views/admin/courses/lock_preselect.php
index ced1499f9b9..b9bfcef73fa 100644
--- a/app/views/admin/courses/lock_preselect.php
+++ b/app/views/admin/courses/lock_preselect.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var array $values
+ * @var SimpleCollection $all_lock_rules
+ */
+?>
 <label><?= _('Für alle Veranstaltungen') ?>
     <select name="lock_sem_all" style="max-width: 200px">
         <? for ($i = 0; $i < count($all_lock_rules); $i++) : ?>
@@ -9,4 +15,4 @@
     </select>
 </label>
 
-<?= \Studip\Button::createAccept(_('Zuweisen'), 'all'); ?>
\ No newline at end of file
+<?= \Studip\Button::createAccept(_('Zuweisen'), 'all'); ?>
diff --git a/app/views/admin/courses/notice-action.php b/app/views/admin/courses/notice-action.php
index c9866e18ba3..3d32fb6f27e 100644
--- a/app/views/admin/courses/notice-action.php
+++ b/app/views/admin/courses/notice-action.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var array $action
+ * @var Course $course
+ * @var string $action
+ */
+?>
 <?php
     $notice = $course->config->COURSE_ADMIN_NOTICE;
     $method = $notice ? 'createHasNotice' : 'createHasNoNotice';
diff --git a/app/views/admin/courses/notice.php b/app/views/admin/courses/notice.php
index 00e6f57a78f..03571ca5a7e 100644
--- a/app/views/admin/courses/notice.php
+++ b/app/views/admin/courses/notice.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Admin_CoursesController $controller
+ * @var Course $course
+ * @var string $notice
+ */
+?>
 <form action="<?= $controller->notice($course) ?>" method="post" data-dialog class="default">
     <fieldset>
         <legend>
diff --git a/app/views/admin/courses/sidebar.php b/app/views/admin/courses/sidebar.php
index a2a1d2cc5e7..808e99aadf9 100644
--- a/app/views/admin/courses/sidebar.php
+++ b/app/views/admin/courses/sidebar.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var array $userSelectedElements
+ * @var DatafieldEntryModel[] $datafields
+ */
+?>
 <form class="default" method="post"
     action="<?= URLHelper::getLink('dispatch.php/admin/courses/sidebar'); ?>" >
     <input type="hidden" name="updateConfig" value="1">
diff --git a/app/views/admin/courses/visibility.php b/app/views/admin/courses/visibility.php
index 90447f951d1..0f94492bc40 100644
--- a/app/views/admin/courses/visibility.php
+++ b/app/views/admin/courses/visibility.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var Course $course
+ */
+?>
 <? if ($GLOBALS['perm']->have_perm("admin") || !LockRules::Check($course->id, "seminar_visibility")) : ?>
     <label>
         <input type="hidden" name="all_sem[]" value="<?= htmlReady($course->id) ?>">
diff --git a/app/views/admin/cronjobs/logs/display.php b/app/views/admin/cronjobs/logs/display.php
index 6a0e0bc0019..f1e8d72e241 100644
--- a/app/views/admin/cronjobs/logs/display.php
+++ b/app/views/admin/cronjobs/logs/display.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var CronjobLog $log
+ */
+?>
 <dl class="cronlog">
     <dt><?= _('Cronjob') ?></dt>
     <dd><?= htmlReady($log->schedule->title) ?></dd>
diff --git a/app/views/admin/cronjobs/logs/index.php b/app/views/admin/cronjobs/logs/index.php
index 68cde605020..1073d1bd331 100644
--- a/app/views/admin/cronjobs/logs/index.php
+++ b/app/views/admin/cronjobs/logs/index.php
@@ -1,4 +1,15 @@
-<? use Studip\Button, Studip\LinkButton; ?>
+<?php
+/**
+ * @var Admin_Cronjobs_LogsController $controller
+ * @var Pagination $pagination
+ * @var int $total
+ * @var array $filter
+ * @var CronjobSchedule[] $schedules
+ * @var CronjobTask[] $tasks
+ * @var CronjobLog[] $logs
+ */
+use Studip\Button, Studip\LinkButton;
+?>
 
 <form action="<?= $controller->filter() ?>" method="post" class="cronjob-filters default">
     <fieldset>
diff --git a/app/views/admin/cronjobs/schedules/display.php b/app/views/admin/cronjobs/schedules/display.php
index 7d49b2d3037..8eb90759610 100644
--- a/app/views/admin/cronjobs/schedules/display.php
+++ b/app/views/admin/cronjobs/schedules/display.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var CronjobSchedule $schedule
+ * @var Admin_Cronjobs_SchedulesController $controller
+ */
+?>
 <dl class="cronjob">
     <dt><?= _('Titel') ?></dt>
     <dd><?= htmlReady($schedule->title) ?></dd>
diff --git a/app/views/admin/cronjobs/schedules/edit.php b/app/views/admin/cronjobs/schedules/edit.php
index 4b5b3dfd819..b73aa3a0a9f 100644
--- a/app/views/admin/cronjobs/schedules/edit.php
+++ b/app/views/admin/cronjobs/schedules/edit.php
@@ -1,17 +1,23 @@
-<? use Studip\Button, Studip\LinkButton; ?>
-
 <?php
-    $days_of_week = [
-        1 => _('Montag'),
-        2 => _('Dienstag'),
-        3 => _('Mittwoch'),
-        4 => _('Donnerstag'),
-        5 => _('Freitag'),
-        6 => _('Samstag'),
-        7 => _('Sonntag'),
-    ];
+/**
+ * @var CronjobSchedule $schedule
+ * @var Admin_Cronjobs_SchedulesController $controller
+ * @var int $page
+ * @var CronjobTask[] $tasks
+ */
+
+use Studip\Button, Studip\LinkButton;
+
+$days_of_week = [
+    1 => _('Montag'),
+    2 => _('Dienstag'),
+    3 => _('Mittwoch'),
+    4 => _('Donnerstag'),
+    5 => _('Freitag'),
+    6 => _('Samstag'),
+    7 => _('Sonntag'),
+];
 ?>
-
 <form action="<?= $controller->edit($schedule, $page) ?>" method="post" class="cronjobs-edit default">
     <?= CSRFProtection::tokenTag() ?>
 
@@ -238,4 +244,4 @@
         <?= Button::createAccept(_('Speichern'), 'store') ?>
         <?= LinkButton::createCancel('Abbrechen', $controller->indexURL($page)) ?>
     </footer>
-</form>
\ No newline at end of file
+</form>
diff --git a/app/views/admin/cronjobs/schedules/index.php b/app/views/admin/cronjobs/schedules/index.php
index 4a188dd0e42..2db97d1af1e 100644
--- a/app/views/admin/cronjobs/schedules/index.php
+++ b/app/views/admin/cronjobs/schedules/index.php
@@ -1,4 +1,15 @@
-<? use Studip\Button, Studip\LinkButton; ?>
+<?php
+/**
+ * @var CronjobTask[] $tasks
+ * @var CronjobSchedule[] $schedules
+ * @var Admin_Cronjobs_SchedulesController $controller
+ * @var Pagination $pagination
+ * @var int $total
+ * @var array $filter
+ */
+
+use Studip\Button, Studip\LinkButton;
+?>
 
 <form action="<?= $controller->filter() ?>" method="post" class="default cronjob-filters">
     <fieldset>
@@ -160,4 +171,4 @@
         </tr>
         </tfoot>
     </table>
-</form>
\ No newline at end of file
+</form>
diff --git a/app/views/admin/cronjobs/schedules/parameters.php b/app/views/admin/cronjobs/schedules/parameters.php
index e4ffefdd2f1..c78e6d82768 100644
--- a/app/views/admin/cronjobs/schedules/parameters.php
+++ b/app/views/admin/cronjobs/schedules/parameters.php
@@ -1,6 +1,12 @@
 <?php
-    $selected   = !$schedule->isNew() && $schedule->task_id === $task->task_id;
-    $parameters = $schedule->parameters;
+/**
+ * @var CronjobSchedule $schedule
+ * @var CronjobTask $task
+ * @var Admin_Cronjobs_SchedulesController $controller
+ */
+
+$selected   = !$schedule->isNew() && $schedule->task_id === $task->task_id;
+$parameters = $schedule->parameters;
 ?>
 
 <h3><?= _('Parameter') ?></h3>
diff --git a/app/views/admin/cronjobs/schedules/periodic-schedule.php b/app/views/admin/cronjobs/schedules/periodic-schedule.php
index 021002adf55..2ed677cf840 100644
--- a/app/views/admin/cronjobs/schedules/periodic-schedule.php
+++ b/app/views/admin/cronjobs/schedules/periodic-schedule.php
@@ -1,4 +1,13 @@
 <?php
+/**
+ * @var string $minute
+ * @var string $hour
+ * @var string $day
+ * @var string $month
+ * @var string $day_of_week
+ */
+?>
+<?php
 $cronify = function ($n) {
     if ($n === null) {
         return '*';
diff --git a/app/views/admin/cronjobs/tasks/execute.php b/app/views/admin/cronjobs/tasks/execute.php
index e0c1e03310f..03adefe1170 100644
--- a/app/views/admin/cronjobs/tasks/execute.php
+++ b/app/views/admin/cronjobs/tasks/execute.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_Cronjobs_TasksController $controller
+ * @var CronjobTask $task
+ */
+?>
 <h2><?= sprintf(_('Cronjob-Aufgabe "%s" ausführen'), htmlReady($task->name)) ?></h2>
 <? if (isset($result)): ?>
     <pre><code><?= htmlReady($result ?: _('- Keine Ausgabe -')) ?></code></pre>
@@ -11,4 +17,4 @@
             <?= Studip\Button::createAccept(_('Ausführen'), 'submit') ?>
         </div>
     </form>
-<? endif; ?>
\ No newline at end of file
+<? endif; ?>
diff --git a/app/views/admin/cronjobs/tasks/index.php b/app/views/admin/cronjobs/tasks/index.php
index 0169bb78a1f..2e0adde53d1 100644
--- a/app/views/admin/cronjobs/tasks/index.php
+++ b/app/views/admin/cronjobs/tasks/index.php
@@ -1,4 +1,12 @@
-<? use Studip\Button; ?>
+<?php
+/**
+ * @var Admin_Cronjobs_TasksController $controller
+ * @var Pagination $pagination
+ * @var CronjobTask[] $tasks
+ */
+
+use Studip\Button;
+?>
 
 <form action="<?= $controller->bulk($pagination->getCurrentPage()) ?>" method="post" class="default">
     <?= CSRFProtection::tokenTag() ?>
diff --git a/app/views/admin/datafields/config.php b/app/views/admin/datafields/config.php
index ae3fa971547..2bed85a14ea 100644
--- a/app/views/admin/datafields/config.php
+++ b/app/views/admin/datafields/config.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_DatafieldsController $controller
+ * @var DataField $struct
+ */
+?>
 <form action="<?= $controller->url_for('admin/datafields/config/' . $struct->id) ?>" method="post" class="default">
     <?= CSRFProtection::tokenTag() ?>
 
diff --git a/app/views/admin/datafields/edit.php b/app/views/admin/datafields/edit.php
index 5d8116a4f0f..46b7aa1dcb8 100644
--- a/app/views/admin/datafields/edit.php
+++ b/app/views/admin/datafields/edit.php
@@ -1,5 +1,13 @@
-<?
+<?php
 # Lifter010: TODO
+/**
+ * @var Admin_DatafieldsController $controller
+ * @var DataField $item
+ * @var string $datafield_id
+ * @var DataFieldEntry $datafield_entry
+ * @var array $institutes
+ */
+
 use Studip\Button, Studip\LinkButton;
 ?>
 
diff --git a/app/views/admin/datafields/index.php b/app/views/admin/datafields/index.php
index a10dba7f7b1..e62b8d6fd00 100644
--- a/app/views/admin/datafields/index.php
+++ b/app/views/admin/datafields/index.php
@@ -1,3 +1,12 @@
+<?php
+/**
+ * @var Admin_DatafieldsController $controller
+ * @var array $datafields_list
+ * @var array $allclasses
+ * @var string $current_class
+ * @var string $class_filter
+ */
+?>
 <!-- Alle Datenfelder  -->
 <table class="collapsable default">
     <colgroup>
@@ -20,7 +29,7 @@
         <tr>
             <th rowspan="2"><?= _('Name') ?></th>
             <th rowspan="2"><?= _('Feldtyp') ?></th>
-            <th rowspan="2" style="word-wrap: nowrap">
+            <th rowspan="2" style="white-space: nowrap">
                 <?= _('Typ') ?>
                 <?= tooltipIcon(_('Veranstaltungskategorie, Einrichtungstyp, Sprache bzw. Nutzerstatus')) ?>
             </th>
diff --git a/app/views/admin/datafields/new.php b/app/views/admin/datafields/new.php
index 575d0de6d7a..25d9a8a0a5d 100644
--- a/app/views/admin/datafields/new.php
+++ b/app/views/admin/datafields/new.php
@@ -1,4 +1,14 @@
 <?php
+/**
+ * @var Admin_DatafieldsController $controller
+ * @var string $object_typ
+ * @var string $type_name
+ * @var string $object_type
+ * @var array $institutes
+ * @var Institute $item
+ * @var DataField $datafield
+ */
+
 use Studip\Button, Studip\LinkButton;
 ?>
 
diff --git a/app/views/admin/datafields/preview.php b/app/views/admin/datafields/preview.php
index 9980d0ce20b..334a33c0595 100644
--- a/app/views/admin/datafields/preview.php
+++ b/app/views/admin/datafields/preview.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Admin_DatafieldsController $controller
+ * @var DataField $struct
+ * @var DataFieldEntry $preview
+ */
+?>
 <form action="<?= $controller->url_for('admin/datafields/config/' . $struct->id) ?>" method="post" class="default">
     <?= CSRFProtection::tokenTag() ?>
 
diff --git a/app/views/admin/datafields/type_select.php b/app/views/admin/datafields/type_select.php
index e430a755b7d..a519d5ce528 100644
--- a/app/views/admin/datafields/type_select.php
+++ b/app/views/admin/datafields/type_select.php
@@ -1,4 +1,10 @@
 <?php
+/**
+ * @var Admin_DatafieldsController $controller
+ * @var array $allclasses
+ * @var string $class_filter
+ */
+
 use Studip\Button, Studip\LinkButton;
 ?>
 
diff --git a/app/views/admin/domain/edit.php b/app/views/admin/domain/edit.php
index d63172ce998..00a28c9fc3d 100644
--- a/app/views/admin/domain/edit.php
+++ b/app/views/admin/domain/edit.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_DomainController $controller
+ * @var UserDomain $domain
+ */
+?>
 <form action="<?= $controller->link_for("admin/domain/save/{$domain->id}") ?>" method="post" class="default">
     <?= CSRFProtection::tokenTag() ?>
 
diff --git a/app/views/admin/domain/index.php b/app/views/admin/domain/index.php
index 1d935eb1759..4b709d7e9bb 100644
--- a/app/views/admin/domain/index.php
+++ b/app/views/admin/domain/index.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_DomainController $controller
+ * @var UserDomain[] $domains
+ */
+?>
 <? if (count($domains) == 0) : ?>
     <?= MessageBox::info(_('Es sind keine Nutzerdomänen vorhanden.')) ?>
 <? else : ?>
diff --git a/app/views/admin/holidays/edit.php b/app/views/admin/holidays/edit.php
index 4cdd3c2986b..9758d4dccd0 100644
--- a/app/views/admin/holidays/edit.php
+++ b/app/views/admin/holidays/edit.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_HolidaysController $controller
+ * @var SemesterHoliday $holiday
+ */
+?>
 <form method="post" class="default" action="<?= $controller->url_for('admin/holidays/edit/' . $holiday->id) ?>" data-dialog="size=auto">
     <?= CSRFProtection::tokenTag() ?>
 
diff --git a/app/views/admin/holidays/index.php b/app/views/admin/holidays/index.php
index 23f720f659d..7c4446a99fb 100644
--- a/app/views/admin/holidays/index.php
+++ b/app/views/admin/holidays/index.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Admin_HolidaysController $controller
+ * @var SemesterHoliday[] $holidays
+ * @var string $filter
+ */
+?>
 <form action="<?= $controller->url_for('admin/holidays/delete/bulk') ?>" method="post">
     <?= CSRFProtection::tokenTag() ?>
 
diff --git a/app/views/admin/ilias_interface/add_ilias.php b/app/views/admin/ilias_interface/add_ilias.php
index f20970029a7..d40133f5ec5 100644
--- a/app/views/admin/ilias_interface/add_ilias.php
+++ b/app/views/admin/ilias_interface/add_ilias.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Admin_IliasInterfaceController $controller
+ * @var string $ilias_index
+ * @var array $existing_indices
+ * @var array $ilias_config
+ */
+?>
 <form class="default" action="<?= $controller->url_for('admin/ilias_interface/save/'.$ilias_index) ?>" method="post">
     <?= CSRFProtection::tokenTag() ?>
     <? if (count($existing_indices)) : ?>
@@ -23,4 +31,4 @@
         <?= Studip\Button::createAccept(_('Speichern'), 'submit') ?>
         <?= Studip\Button::createCancel(_('Abbrechen'), 'cancel', ['data-dialog' => 'close']) ?>
     </footer>
-</form>
\ No newline at end of file
+</form>
diff --git a/app/views/admin/ilias_interface/edit_content.php b/app/views/admin/ilias_interface/edit_content.php
index 908e1936ece..fdbaed95cf7 100644
--- a/app/views/admin/ilias_interface/edit_content.php
+++ b/app/views/admin/ilias_interface/edit_content.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Admin_IliasInterfaceController $controller
+ * @var string $ilias_index
+ * @var array $ilias_config
+ * @var array $modules_available
+ */
+?>
 <form class="default" action="<?= $controller->url_for('admin/ilias_interface/save/'.$ilias_index) ?>" method="post">
     <?= CSRFProtection::tokenTag() ?>
     <input type="hidden" name="ilias_content_settings" size="50" maxlength="255" value="1">
diff --git a/app/views/admin/ilias_interface/edit_interface_settings.php b/app/views/admin/ilias_interface/edit_interface_settings.php
index 5143cd0b578..9b0627d6300 100644
--- a/app/views/admin/ilias_interface/edit_interface_settings.php
+++ b/app/views/admin/ilias_interface/edit_interface_settings.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Admin_IliasInterfaceController $controller
+ * @var string $ilias_interface_moduletitle
+ * @var array $ilias_interface_config
+ */
+?>
 <form class="default" action="<?= $controller->url_for('admin/ilias_interface/save_interface_settings/') ?>" method="post">
     <?= CSRFProtection::tokenTag() ?>
     <label>
diff --git a/app/views/admin/ilias_interface/edit_permissions.php b/app/views/admin/ilias_interface/edit_permissions.php
index 81b53e98c7d..ef85091406e 100644
--- a/app/views/admin/ilias_interface/edit_permissions.php
+++ b/app/views/admin/ilias_interface/edit_permissions.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Admin_IliasInterfaceController $controller
+ * @var string $ilias_index
+ * @var array $ilias_config
+ */
+?>
 <form class="default" action="<?= $controller->url_for('admin/ilias_interface/save/'.$ilias_index) ?>" method="post">
     <?= CSRFProtection::tokenTag() ?>
     <label>
@@ -22,4 +29,4 @@
         <?= Studip\Button::createAccept(_('Speichern'), 'submit') ?>
         <?= Studip\Button::createCancel(_('Abbrechen'), 'cancel', ['data-dialog' => 'close']) ?>
     </footer>
-</form>
\ No newline at end of file
+</form>
diff --git a/app/views/admin/ilias_interface/edit_server.php b/app/views/admin/ilias_interface/edit_server.php
index b8b47bfe1be..4c4fb67fe7d 100644
--- a/app/views/admin/ilias_interface/edit_server.php
+++ b/app/views/admin/ilias_interface/edit_server.php
@@ -1,3 +1,16 @@
+<?php
+/**
+ * @var Admin_IliasInterfaceController $controller
+ * @var string $ilias_index
+ * @var string $valid_url
+ * @var string $ilias_version
+ * @var string $ilias_version_date
+ * @var string $ldap_options
+ * @var array $existing_indices
+ * @var array $ilias_config
+ * @var array $ilias_clients
+ */
+?>
 <? if (!$valid_url) : ?>
 <form class="default" action="<?= $controller->url_for('admin/ilias_interface/edit_server/'.$ilias_index) ?>" method="post">
 <? else : ?>
diff --git a/app/views/admin/ilias_interface/index.php b/app/views/admin/ilias_interface/index.php
index 6c103ac3405..b4789a8d82d 100644
--- a/app/views/admin/ilias_interface/index.php
+++ b/app/views/admin/ilias_interface/index.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_IliasInterfaceController $controller
+ * @var array $ilias_configs
+ */
+?>
  <form method="post">
     <?= CSRFProtection::tokenTag() ?>
     <table class="default">
diff --git a/app/views/admin/ilias_interface/soap_methods.php b/app/views/admin/ilias_interface/soap_methods.php
index a6c6dc804ba..19010745580 100644
--- a/app/views/admin/ilias_interface/soap_methods.php
+++ b/app/views/admin/ilias_interface/soap_methods.php
@@ -1,3 +1,13 @@
+<?php
+/**
+ * @var Admin_IliasInterfaceController $controller
+ * @var string $ilias_index
+ * @var string $ilias_soap_method
+ * @var array $soap_methods
+ * @var array $params
+ * @var array|string $result
+ */
+?>
 <form class="default" action="<?= $controller->url_for('admin/ilias_interface/soap_methods/'.$ilias_index) ?>" method="post">
     <? if ($result) : ?>
     <article class="studip">
@@ -37,4 +47,4 @@
             <?= Studip\Button::createAccept(_('Ausführen'), 'submit') ?>
         <? endif ?>
     </footer>
-</form>
\ No newline at end of file
+</form>
diff --git a/app/views/admin/install/index.php b/app/views/admin/install/index.php
index d6156d889ce..a87776e6c26 100644
--- a/app/views/admin/install/index.php
+++ b/app/views/admin/install/index.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var array $steps
+ */
+?>
 <h2><?= _('Willkommen beim Installationsassistenten für Stud.IP!') ?></h2>
 
 <p>
diff --git a/app/views/admin/install/install-basic.php b/app/views/admin/install/install-basic.php
index 688a86c5255..660907552b0 100644
--- a/app/views/admin/install/install-basic.php
+++ b/app/views/admin/install/install-basic.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var string $local_inc
+ * @var string $config_inc
+ */
+?>
 <h3><?= _('Installation') ?></h3>
 <dl>
     <dt><?= _('Datenbank') ?></dt>
diff --git a/app/views/admin/install/install.php b/app/views/admin/install/install.php
index f56a30bcdbb..ad4b193d167 100644
--- a/app/views/admin/install/install.php
+++ b/app/views/admin/install/install.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var Admin_InstallController $controller
+ */
+?>
 <h3><?= _('Installation') ?></h3>
 <dl class="requests">
     <dt data-request-url="<?= $controller->link_for('install/sql') ?>" data-event-source="1">
diff --git a/app/views/admin/install/layout.php b/app/views/admin/install/layout.php
index 7f10064aa54..03e9a59f82a 100644
--- a/app/views/admin/install/layout.php
+++ b/app/views/admin/install/layout.php
@@ -1,3 +1,20 @@
+<?php
+/**
+ * @var array $steps
+ * @var Admin_InstallController $controller
+ * @var int $current_step
+ * @var int $total_steps
+ * @var string $error
+ * @var string $content_for_layout
+ * @var string $button_label
+ * @var array $error_details
+ * @var bool $hide_back_button
+ * @var bool $valid
+ * @var int $previous_step
+ * @var int $next_step
+ * @var int $step
+ */
+?>
 <!DOCTYPE html>
 <html>
 <head>
diff --git a/app/views/admin/install/mysql.php b/app/views/admin/install/mysql.php
index dbc33045535..eb726462d63 100644
--- a/app/views/admin/install/mysql.php
+++ b/app/views/admin/install/mysql.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var int $valid
+ */
+?>
 <p>
     <?= _('In diesem Schritt verbinden Sie Ihre Stud.IP-Installation mit Ihrer '
         . 'bestehenden Datenbank.') ?>
diff --git a/app/views/admin/install/mysql_check.php b/app/views/admin/install/mysql_check.php
index 1b38f8bd255..7396ccfcd53 100644
--- a/app/views/admin/install/mysql_check.php
+++ b/app/views/admin/install/mysql_check.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var array $result
+ */
+?>
 <p>
     <?= _('In diesem Schritt wird geprüft, ob die Konfiguration der Datenbank '
         . 'korrekt ist.') ?>
diff --git a/app/views/admin/install/permissions.php b/app/views/admin/install/permissions.php
index 03c2b57e349..75964f8869b 100644
--- a/app/views/admin/install/permissions.php
+++ b/app/views/admin/install/permissions.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var array $writable
+ * @var array $requirements
+ * @var bool $valid
+ */
+?>
 <p>
     <?= _('In diesem Schritt wird geprüft, ob ausgewählte Datenverzeichnisse '
         . 'beschreibbar sind.') ?>
diff --git a/app/views/admin/install/php_check.php b/app/views/admin/install/php_check.php
index ea337f351ea..b48d11698ad 100644
--- a/app/views/admin/install/php_check.php
+++ b/app/views/admin/install/php_check.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var array $result
+ */
+?>
 <p>
     <?= _('In diesem Schritt wird geprüft, ob die PHP-Konfiguration auf dem '
         . 'Server den Anforderungen von Stud.IP entspricht.') ?>
diff --git a/app/views/admin/install/prepare.php b/app/views/admin/install/prepare.php
index 9cf2694a97a..bccb764dcd6 100644
--- a/app/views/admin/install/prepare.php
+++ b/app/views/admin/install/prepare.php
@@ -1,3 +1,11 @@
+
+<?php
+/**
+ * @var array $files
+ * @var array $required
+ * @var array $defaults
+ */
+?>
 <p>
     <?= _('In diesem Schritt wählen Sie aus, welche Beispieldaten in Ihre '
         . 'Datenbank eingespielt werden und geben einige Grunddaten zur '
diff --git a/app/views/admin/licenses/edit.php b/app/views/admin/licenses/edit.php
index 6943a534d54..ce722c26e01 100644
--- a/app/views/admin/licenses/edit.php
+++ b/app/views/admin/licenses/edit.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_LicensesController $controller
+ * @var License $licenses
+ */
+?>
 <form action="<?= $controller->link_for("admin/licenses/store", ['identifier' => $license->getId()]) ?>"
       method="post"
       enctype="multipart/form-data"
diff --git a/app/views/admin/licenses/index.php b/app/views/admin/licenses/index.php
index ee545ce5fda..9f13a6e9998 100644
--- a/app/views/admin/licenses/index.php
+++ b/app/views/admin/licenses/index.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_LicensesController $controller
+ * @var License[] $licenses
+ */
+?>
 <table class="default">
     <caption>
         <?= _("Lizenzen") ?>
@@ -14,7 +20,7 @@
         <? foreach ($licenses as $license) : ?>
         <tr>
             <td>
-                <?= LicenseAvatar::getAvatar($license['identifier'])->getImageTag(Avatar::MEDIUM) ?>
+                <?= LicenseAvatar::getAvatar($license['identifier'])->getImageTag() ?>
             </td>
             <td><?= htmlReady($license['identifier']) ?></td>
             <td>
@@ -28,13 +34,13 @@
             </td>
             <td class="actions">
                 <a href="<?= $controller->link_for("admin/licenses/edit", ['identifier' => $license['identifier']]) ?>" data-dialog>
-                    <?= Icon::create("edit", "clickable")->asImg(20, ['class' => "text-bottom"]) ?>
+                    <?= Icon::create("edit")->asImg(20, ['class' => "text-bottom"]) ?>
                 </a>
                 <form action="<?= $controller->link_for("admin/licenses/delete", ['identifier' => $license->getId()]) ?>"
                       method="post"
                       data-confirm="<?= _("Wirklich löschen?") ?>"
                       class="inline">
-                    <?= Icon::create("trash", "clickable")->asInput(20) ?>
+                    <?= Icon::create("trash")->asInput(20) ?>
                 </form>
             </td>
         </tr>
diff --git a/app/views/admin/lockrules/_form.php b/app/views/admin/lockrules/_form.php
index 319ecdc3c3f..c4ef11143bd 100644
--- a/app/views/admin/lockrules/_form.php
+++ b/app/views/admin/lockrules/_form.php
@@ -1,6 +1,15 @@
-<?
+<?php
 # Lifter010:
-use Studip\Button, Studip\LinkButton;
+
+/**
+ * @var string $action
+ * @var string $lock_rule_type
+ * @var LockRule $lock_rule
+ * @var array $rule_type_names
+ * @var array $lock_rule_permissions
+ * @var array $lock_config
+ */
+use Studip\Button;
 
 ?>
 <form action="<?= $action ?>" method="post" class="default">
@@ -57,9 +66,9 @@ use Studip\Button, Studip\LinkButton;
                     <?= htmlready($group_title) ?>
                 </caption>
                 <colgroup>
-                    <col width="70%">
-                    <col width="15%">
-                    <col width="15%">
+                    <col style="width: 70%">
+                    <col style="width: 15%">
+                    <col style="width: 15%">
                 </colgroup>
                 <thead>
                 <tr>
diff --git a/app/views/admin/lockrules/edit.php b/app/views/admin/lockrules/edit.php
index 87d0c8942e6..d32c0485b2f 100644
--- a/app/views/admin/lockrules/edit.php
+++ b/app/views/admin/lockrules/edit.php
@@ -1,4 +1,9 @@
-<?
+<?php
 # Lifter010: TODO
+
+/**
+ * @var Admin_LockrulesController $controller
+ * @var LockRule $lock_rule
+ */
 ?>
-<?= $this->render_partial('admin/lockrules/_form.php', ['action' => $this->controller->url_for('admin/lockrules/edit/' . $lock_rule->getId())]);
\ No newline at end of file
+<?= $this->render_partial('admin/lockrules/_form.php', ['action' => $controller->url_for('admin/lockrules/edit/' . $lock_rule->getId())]);
diff --git a/app/views/admin/lockrules/index.php b/app/views/admin/lockrules/index.php
index 9835b3b2ad6..ee776d0df88 100644
--- a/app/views/admin/lockrules/index.php
+++ b/app/views/admin/lockrules/index.php
@@ -1,5 +1,12 @@
 <?php
 # Lifter010: TODO
+
+/**
+ * @var Admin_LockrulesController $controller
+ * @var array $rule_type_names
+ * @var string $lock_rule_type
+ * @var LockRule[] $lock_rules
+ */
 ?>
 
 <form method="post" class="default">
@@ -9,9 +16,9 @@
             <?= _('Sperrebenen für den Bereich:') ?> <?= $rule_type_names[$lock_rule_type]; ?>
         </caption>
         <colgroup>
-            <col width="30%">
-            <col width="50%">
-            <col width="20%">
+            <col style="width: 30%">
+            <col style="width: 50%">
+            <col style="width: 20%">
         </colgroup>
         <thead>
         <tr>
@@ -36,7 +43,7 @@
                     </td>
                     <td class="actions">
                         <a href="<?= $controller->url_for('admin/lockrules/edit/' . $rule->lock_id) ?>">
-                            <?= Icon::create('edit', 'clickable', ['title' => _('Diese Regel bearbeiten')])->asImg() ?>
+                            <?= Icon::create('edit', Icon::ROLE_CLICKABLE, ['title' => _('Diese Regel bearbeiten')])->asImg() ?>
                         </a>
 
                         <?
@@ -46,7 +53,7 @@
                         <? else : ?>
                             <? $msg = sprintf(_('Möchten Sie die Ebene %s löschen?'), $rule->name) ?>
                         <? endif ?>
-                        <?= Icon::create('trash', 'clickable', [
+                        <?= Icon::create('trash', Icon::ROLE_CLICKABLE, [
                                 'title' => _('Diese Regel löschen'),
                                 'style' => 'vertical-align: middle'
                             ])->asInput(['data-confirm'=>$msg,'formaction'=>$controller->url_for('admin/lockrules/delete/'.$rule->lock_id)]) ?>
diff --git a/app/views/admin/lockrules/new.php b/app/views/admin/lockrules/new.php
index b40667dbd6f..9b997b9abca 100644
--- a/app/views/admin/lockrules/new.php
+++ b/app/views/admin/lockrules/new.php
@@ -1,5 +1,8 @@
-<?
+<?php
 # Lifter010: TODO
-?>
-<?= $this->render_partial('admin/lockrules/_form.php', ['action' => $this->controller->url_for('admin/lockrules/new')]);
 
+/**
+ * @var Admin_LockrulesController $controller
+ */
+?>
+<?= $this->render_partial('admin/lockrules/_form.php', ['action' => $controller->url_for('admin/lockrules/new')]);
diff --git a/app/views/admin/login_style/index.php b/app/views/admin/login_style/index.php
index aa0c74a0789..195cc6a9fc7 100644
--- a/app/views/admin/login_style/index.php
+++ b/app/views/admin/login_style/index.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var LoginBackground[] $pictures
+ * @var Admin_LoginStyleController $controller
+ */
+?>
 <? if (count($pictures) > 0) : ?>
     <table class="default">
         <caption>
@@ -60,5 +66,5 @@
         <? endforeach ?>
     </table>
 <? else : ?>
-    <?= PageLayout::postInfo(_('In Ihrem System sind leider keine Bilder für den Startbildschirm hinterlegt.')) ?>
+    <?= MessageBox::info(_('In Ihrem System sind leider keine Bilder für den Startbildschirm hinterlegt.')) ?>
 <? endif ?>
diff --git a/app/views/admin/login_style/newpic.php b/app/views/admin/login_style/newpic.php
index d2c92502e0a..d5bc74a677c 100644
--- a/app/views/admin/login_style/newpic.php
+++ b/app/views/admin/login_style/newpic.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var Admin_LoginStyleController $controller
+ */
+?>
 <form class="default" action="<?= $controller->link_for('admin/loginstyle/add') ?>" method="post" enctype="multipart/form-data">
     <fieldset>
         <legend>
diff --git a/app/views/admin/lti/edit.php b/app/views/admin/lti/edit.php
index 996b9f2688d..0473e863046 100644
--- a/app/views/admin/lti/edit.php
+++ b/app/views/admin/lti/edit.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_LtiController $controller
+ * @var LtiTool $tool
+ */
+?>
 <form class="default" action="<?= $controller->link_for('admin/lti/save/' . $tool->id) ?>" method="post">
     <?= CSRFProtection::tokenTag() ?>
     <fieldset>
diff --git a/app/views/admin/lti/index.php b/app/views/admin/lti/index.php
index 919aae895a1..e40380cac0b 100644
--- a/app/views/admin/lti/index.php
+++ b/app/views/admin/lti/index.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_LtiController $controller
+ * @var LtiTool[] $tools
+ */
+?>
 <form action="" method="post">
     <?= CSRFProtection::tokenTag() ?>
     <table class="default">
@@ -14,13 +20,15 @@
         </colgroup>
 
         <thead>
-            <th><?= _('Name der Anwendung') ?></th>
-            <th><?= _('URL der Anwendung') ?></th>
-            <th><?= _('Consumer-Key') ?></th>
-            <th><?= _('Links') ?></th>
-            <th class="actions">
-                <?= _('Aktionen') ?>
-            </th>
+            <tr>
+                <th><?= _('Name der Anwendung') ?></th>
+                <th><?= _('URL der Anwendung') ?></th>
+                <th><?= _('Consumer-Key') ?></th>
+                <th><?= _('Links') ?></th>
+                <th class="actions">
+                    <?= _('Aktionen') ?>
+                </th>
+            </tr>
         </thead>
 
         <tbody>
diff --git a/app/views/admin/oauth2/_clients.php b/app/views/admin/oauth2/_clients.php
index 0e3db8aaa3b..1332b5aabe4 100644
--- a/app/views/admin/oauth2/_clients.php
+++ b/app/views/admin/oauth2/_clients.php
@@ -1,12 +1,17 @@
-<?
-    $sidebar = Sidebar::get();
-    $actions = new ActionsWidget();
-    $actions->addLink(
-        _('OAuth2-Client hinzufügen'),
-        $controller->url_for('api/oauth2/clients/add'),
-        Icon::create('add')
-    );
-    $sidebar->addWidget($actions);
+<?php
+/**
+ * @var Admin_Oauth2Controller $controller
+ * @var Studip\OAuth2\Models\Client[] $clients
+ */
+
+$sidebar = Sidebar::get();
+$actions = new ActionsWidget();
+$actions->addLink(
+    _('OAuth2-Client hinzufügen'),
+    $controller->url_for('api/oauth2/clients/add'),
+    Icon::create('add')
+);
+$sidebar->addWidget($actions);
 ?>
 
 <? if (isset($clients) && count($clients)) { ?>
diff --git a/app/views/admin/oauth2/_notices.php b/app/views/admin/oauth2/_notices.php
index a67539c4e7c..6f260089e1d 100644
--- a/app/views/admin/oauth2/_notices.php
+++ b/app/views/admin/oauth2/_notices.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_Oauth2Controller $controller
+ * @var Studip\OAuth2\Models\Client[] $clients
+ */
+?>
 <? if (!isset($clients) || !count($clients)) { ?>
     <?= MessageBox::info(
         _('Es wurde noch kein OAuth2-Client erstellt.') .
diff --git a/app/views/admin/oauth2/_setup.php b/app/views/admin/oauth2/_setup.php
index 2469a1b63b2..9554d7f68df 100644
--- a/app/views/admin/oauth2/_setup.php
+++ b/app/views/admin/oauth2/_setup.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var  Studip\OAuth2\SetupInformation $setup
+ */
+?>
 <ul>
     <li>
         <? $privateKey = $setup->privateKey(); ?>
diff --git a/app/views/admin/oauth2/_setup_key.php b/app/views/admin/oauth2/_setup_key.php
index d1ee3229c99..26b56633864 100644
--- a/app/views/admin/oauth2/_setup_key.php
+++ b/app/views/admin/oauth2/_setup_key.php
@@ -1,5 +1,11 @@
 <?php
-    $checkmark = function (bool $checked): Icon {
+/**
+ * @var  Studip\OAuth2\KeyInformation $key
+ */
+
+?>
+<?php
+$checkmark = function (bool $checked): Icon {
         return $checked
              ? Icon::create('accept', Icon::ROLE_STATUS_GREEN)
              : Icon::create('decline', Icon::ROLE_STATUS_RED);
diff --git a/app/views/admin/overlapping/admin_info.php b/app/views/admin/overlapping/admin_info.php
index be3d68edd33..f340e751119 100644
--- a/app/views/admin/overlapping/admin_info.php
+++ b/app/views/admin/overlapping/admin_info.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Course $course
+ * @var InstituteMember[] $admins
+ * @var ProfileController $controller
+ */
+?>
 <section class="contentbox">
     <header>
         <h1>
diff --git a/app/views/admin/overlapping/conflicts.php b/app/views/admin/overlapping/conflicts.php
index f12588f3091..3bf39b79a4d 100644
--- a/app/views/admin/overlapping/conflicts.php
+++ b/app/views/admin/overlapping/conflicts.php
@@ -1,3 +1,13 @@
+<?php
+/**
+ * @var Admin_OverlappingController $controller
+ * @var SimpleORMapCollection $conflicts
+ * @var SeminarCycleDate $cycle
+ * @var Modul $base_modul
+ * @var Semester $selected_semester
+ * @var Modulteil $modulteil
+ */
+?>
 <? $comp_abs = $conflicts->findBy('base_metadate_id', $cycle->id)->pluck('comp_abschnitt_id') ?>
 <? $comp_versions = StgteilVersion::findBySQL('INNER JOIN `mvv_stgteilabschnitt` USING (`version_id`) WHERE `abschnitt_id` IN (?) GROUP BY `version_id`', [$comp_abs]); ?>
 <? foreach ($comp_versions as $comp_version) : ?>
@@ -93,4 +103,4 @@
     <? endforeach; ?>
     </ul>
 </li>
-<? endforeach; ?> 
\ No newline at end of file
+<? endforeach; ?> 
diff --git a/app/views/admin/overlapping/courses.php b/app/views/admin/overlapping/courses.php
index fe1e5a86ce6..ef6b9d7ef76 100644
--- a/app/views/admin/overlapping/courses.php
+++ b/app/views/admin/overlapping/courses.php
@@ -1,3 +1,12 @@
+<?php
+/**
+ * @var Admin_OverlappingController $controller
+ * @var SimpleORMapCollection $conflicts
+ * @var Modul $modul
+ * @var Semester $selected_semester
+ * @var Modulteil $modulteil
+ */
+?>
 <? foreach ($modulteil->lvgruppen as $lvgruppe) : ?>
     <? foreach ($lvgruppe->getAssignedCoursesBySemester($selected_semester->id, false) as $course) : ?>
         <? $course_obj = Course::find($course['seminar_id']) ?>
diff --git a/app/views/admin/overlapping/index.php b/app/views/admin/overlapping/index.php
index 821268f96ac..892a198b926 100644
--- a/app/views/admin/overlapping/index.php
+++ b/app/views/admin/overlapping/index.php
@@ -1,7 +1,14 @@
+<?php
+/**
+ * @var SimpleORMapCollection $conflicts
+ * @var array $semtypes
+ * @var array $fachsems
+ */
+?>
 <?= $this->render_partial('admin/overlapping/selection', ['fachsems' => $fachsems, 'semtypes' => $semtypes]) ?>
 <? if (count($conflicts)) : ?>
     <?= $this->render_partial('admin/overlapping/overlapping') ?>
 <? endif; ?>
 <script>
     STUDIP.Overlapping.init();
-</script>
\ No newline at end of file
+</script>
diff --git a/app/views/admin/overlapping/modul.php b/app/views/admin/overlapping/modul.php
index e075b83f0b4..fe9d4832423 100644
--- a/app/views/admin/overlapping/modul.php
+++ b/app/views/admin/overlapping/modul.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var SimpleORMapCollection $conflicts
+ * @var Modul $modul
+ * @var StgteilAbschnitt $abschnitt
+ */
+?>
 <?= Icon::create('log', Icon::ROLE_INFO); ?> <?= htmlReady($modul->getDisplayName()); ?>
 <ul>
     <? foreach ($modul->modul->modulteile->findBy('id', $conflicts->pluck('base_modulteil_id')) as $modulteil) : ?>
diff --git a/app/views/admin/overlapping/overlapping.php b/app/views/admin/overlapping/overlapping.php
index 03b35e1c3cc..328122a2783 100644
--- a/app/views/admin/overlapping/overlapping.php
+++ b/app/views/admin/overlapping/overlapping.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var SimpleORMapCollection $conflicts
+ * @var StgteilVersion $base_version
+ */
+?>
 <h1>
     <?= Icon::create('category', Icon::ROLE_INFO)->asImg() ?>
     <?= htmlReady($base_version->getDisplayName()); ?>
@@ -28,4 +34,4 @@
         <? endforeach; ?>
     </article>
     <? endforeach; ?>
-</section>
\ No newline at end of file
+</section>
diff --git a/app/views/admin/overlapping/selection.php b/app/views/admin/overlapping/selection.php
index 1c27c791ca9..18b1aef01e0 100644
--- a/app/views/admin/overlapping/selection.php
+++ b/app/views/admin/overlapping/selection.php
@@ -1,3 +1,12 @@
+<?php
+/**
+ * @var Admin_OverlappingController $controller
+ * @var array $fachsems
+ * @var array $semtypes
+ * @var StgteilVersion $base_version
+ * @var StgteilVersion[] $comp_versions
+ */
+?>
 <form method="post" class="default collapsable mvv-ovl-selection" action="<?= $controller->url_for('admin/overlapping/check') ?>">
     <fieldset>
         <legend>
diff --git a/app/views/admin/plugin/activation-error-form.php b/app/views/admin/plugin/activation-error-form.php
index cd9b8b9be08..30764171cee 100644
--- a/app/views/admin/plugin/activation-error-form.php
+++ b/app/views/admin/plugin/activation-error-form.php
@@ -1,4 +1,11 @@
 <?php
+/**
+ * @var Admin_PluginController $controller
+ * @var array $memory
+ * @var array $errors
+ */
+?>
+<?php
 $aggregated = array_sum($memory);
 if (!$aggregated) {
     $question = _('Markierte Plugins dennoch deaktivieren');
diff --git a/app/views/admin/plugin/edit_automaticupdate.php b/app/views/admin/plugin/edit_automaticupdate.php
index 066b1b32fbf..2831427e88a 100644
--- a/app/views/admin/plugin/edit_automaticupdate.php
+++ b/app/views/admin/plugin/edit_automaticupdate.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_PluginController $controller
+ * @var array $plugin
+ */
+?>
 <?
 if (mb_strpos($_SERVER['SERVER_NAME'], ':') !== false) {
     list($_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT']) =
diff --git a/app/views/admin/plugin/index.php b/app/views/admin/plugin/index.php
index 26da74fe21f..1d51d8de08d 100644
--- a/app/views/admin/plugin/index.php
+++ b/app/views/admin/plugin/index.php
@@ -1,5 +1,13 @@
-<?
+<?php
 # Lifter010: TODO
+/**
+ * @var Admin_PluginController $controller
+ * @var array $num_updates
+ * @var array $plugins
+ * @var array $plugin_types
+ * @var string $plugin_filter
+ * @var string $core_filter
+ */
 use Studip\Button, Studip\LinkButton;
 
 ?>
diff --git a/app/views/admin/plugin/manifest.php b/app/views/admin/plugin/manifest.php
index 2c9c72d3101..7ecc6e4a745 100644
--- a/app/views/admin/plugin/manifest.php
+++ b/app/views/admin/plugin/manifest.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var array $plugin
+ * @var array $manifest
+ */
+?>
 <dl>
     <dt><?= _('Name') ?></dt>
     <dd><?= htmlReady($plugin['name']) ?></dd>
diff --git a/app/views/admin/plugin/search.php b/app/views/admin/plugin/search.php
index 413cd68454d..ef79ae13b48 100644
--- a/app/views/admin/plugin/search.php
+++ b/app/views/admin/plugin/search.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Admin_PluginController $controller
+ * @var array $search_results
+ * @var string $search
+ * @var array $errors
+ */
+?>
 <? if (!$search_results): ?>
     <?= MessageBox::info(_('Es wurden keine Plugins gefunden.')) ?>
 <? else: ?>
diff --git a/app/views/admin/plugin/unregistered.php b/app/views/admin/plugin/unregistered.php
index 3600ee1e8b6..8d0b3db41c0 100644
--- a/app/views/admin/plugin/unregistered.php
+++ b/app/views/admin/plugin/unregistered.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_PluginController $controller
+ * @var array $unknown_plugins
+ */
+?>
 <table class="default">
     <caption>
         <?= _('Im Pluginverzeichnis vorhandene Plugins registrieren') ?>
diff --git a/app/views/admin/plugin/update_info.php b/app/views/admin/plugin/update_info.php
index fba04031ae0..9b6a42f241a 100644
--- a/app/views/admin/plugin/update_info.php
+++ b/app/views/admin/plugin/update_info.php
@@ -1,6 +1,10 @@
-<?
+<?php
 # Lifter010: TODO
-use Studip\Button, Studip\LinkButton;
+/**
+ * @var Admin_PluginController $controller
+ * @var array $plugins
+ */
+use Studip\Button;
 
 ?>
 <?= sprintf(ngettext('Es ist ein Update für ein Plugin verfügbar', 'Es sind Updates für %d Plugins verfügbar', $num_updates), $num_updates) ?>
diff --git a/app/views/admin/plugin/upload-drag-and-drop.php b/app/views/admin/plugin/upload-drag-and-drop.php
index 35ab11bcfca..1cdac24b512 100644
--- a/app/views/admin/plugin/upload-drag-and-drop.php
+++ b/app/views/admin/plugin/upload-drag-and-drop.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var Admin_PluginController $controller
+ */
+?>
 <form action="<?= $controller->url_for('admin/plugin/install') ?>"
       method="post" enctype="multipart/form-data" class="drag-and-drop">
     <?= CSRFProtection::tokenTag() ?>
diff --git a/app/views/admin/role/add.php b/app/views/admin/role/add.php
index e03c8c44059..82bdb0d8628 100644
--- a/app/views/admin/role/add.php
+++ b/app/views/admin/role/add.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var Admin_RoleController $controller
+ */
+?>
 <form action="<?= $controller->url_for('admin/role/add') ?>" method="post" class="default">
     <?= CSRFProtection::tokenTag() ?>
     <input type="hidden" name="studip_ticket" value="<?= get_ticket() ?>">
diff --git a/app/views/admin/role/add_plugin.php b/app/views/admin/role/add_plugin.php
index 084b4fc4dbf..5e3d8fd4a99 100644
--- a/app/views/admin/role/add_plugin.php
+++ b/app/views/admin/role/add_plugin.php
@@ -1,4 +1,9 @@
 <?php
+/**
+ * @var Admin_RoleController $controller
+ * @var string $role_id
+ * @var array $plugins
+ */
 use Studip\Button;
 use Studip\LinkButton;
 ?>
diff --git a/app/views/admin/role/assign_plugin_role.php b/app/views/admin/role/assign_plugin_role.php
index 779511bd00b..18ff2cc0592 100644
--- a/app/views/admin/role/assign_plugin_role.php
+++ b/app/views/admin/role/assign_plugin_role.php
@@ -1,6 +1,13 @@
-<?
+<?php
 # Lifter010: TODO
-use Studip\Button, Studip\LinkButton;
+/**
+ * @var Admin_RoleController $controller
+ * @var string $pluginid
+ * @var array $plugins
+ * @var Role[] $roles
+ * @var Role[] $assigned
+ */
+use Studip\Button;
 ?>
 
 <form action="<?= $controller->url_for('admin/role/assign_plugin_role') ?>" method="POST" class="default">
diff --git a/app/views/admin/role/assign_role.php b/app/views/admin/role/assign_role.php
index 031e95acda8..b82b4514219 100644
--- a/app/views/admin/role/assign_role.php
+++ b/app/views/admin/role/assign_role.php
@@ -1,5 +1,15 @@
-<?
+<?php
 # Lifter010: TODO
+/**
+ * @var Admin_RoleController $controller
+ * @var string $username
+ * @var User $currentuser
+ * @var User[] $users
+ * @var Role[] $assignedroles
+ * @var Role[] $roles
+ * @var Role[] $all_userroles
+ * @var array $assignedroles_institutes
+ */
 use Studip\Button, Studip\LinkButton;
 ?>
 
diff --git a/app/views/admin/role/assign_role_institutes.php b/app/views/admin/role/assign_role_institutes.php
index 997a3b8e1b6..4afc617ab2f 100644
--- a/app/views/admin/role/assign_role_institutes.php
+++ b/app/views/admin/role/assign_role_institutes.php
@@ -1,7 +1,12 @@
-<? foreach(PageLayout::getMessages() as $pm) : ?>
-    <?= $pm ?>
-<? endforeach; ?>
-
+<?php
+/**
+ * @var Admin_RoleController $controller
+ * @var Role $role
+ * @var User $user
+ * @var QuickSearch $qsearch
+ * @var Institute[] $institutes
+ */
+?>
 <form action="<?= $controller->action_link('assign_role_institutes/' . $role->getRoleid() . '/' . $user->id) ?>" method="post" class="default" data-dialog="size=auto;reload-on-close">
     <fieldset>
         <legend>
diff --git a/app/views/admin/role/index.php b/app/views/admin/role/index.php
index 4ebd0c4af9c..fcb03533408 100644
--- a/app/views/admin/role/index.php
+++ b/app/views/admin/role/index.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Admin_RoleController $controller
+ * @var Role[] $roles
+ * @var array $stats
+ */
+?>
 <table class="default">
     <caption>
         <?= _('Vorhandene Rollen') ?>
diff --git a/app/views/admin/role/show_role.php b/app/views/admin/role/show_role.php
index ba91fc5e304..e01a952cdb3 100644
--- a/app/views/admin/role/show_role.php
+++ b/app/views/admin/role/show_role.php
@@ -1,6 +1,15 @@
-<?
+<?php
 # Lifter010: TODO
-use Studip\Button, Studip\LinkButton;
+/**
+ * @var Admin_RoleController $controller
+ * @var string $roleid
+ * @var Role[] $roles
+ * @var QuickSearch $mps
+ * @var array $users
+ * @var array $plugins
+ * @var int $implicit_count
+ */
+use Studip\Button;
 ?>
 
 <form action="<?= $controller->url_for('admin/role/show_role') ?>" method="get" class="default inline">
@@ -38,12 +47,12 @@ use Studip\Button, Studip\LinkButton;
 
     <table class="default" id="role-users">
         <colgroup>
-            <col width="20px">
-            <col width="3%">
-            <col width="33%">
-            <col width="5%">
+            <col style="width: 20px">
+            <col style="width: 3%">
+            <col style="width: 33%">
+            <col style="width: 5%">
             <col>
-            <col width="24px">
+            <col style="width: 24px">
         </colgroup>
         <caption>
             <?= sprintf(
@@ -150,11 +159,11 @@ use Studip\Button, Studip\LinkButton;
             </div>
         </caption>
         <colgroup>
-            <col width="20px">
-            <col width="3%">
-            <col width="38%">
+            <col style="width: 20px">
+            <col style="width: 3%">
+            <col style="width: 38%">
             <col>
-            <col width="24px">
+            <col style="width: 24px">
         </colgroup>
         <thead>
             <tr>
diff --git a/app/views/admin/sem_classes/_sem_type.php b/app/views/admin/sem_classes/_sem_type.php
index 6928df10ae7..2a5c53e98d8 100644
--- a/app/views/admin/sem_classes/_sem_type.php
+++ b/app/views/admin/sem_classes/_sem_type.php
@@ -1,13 +1,16 @@
 <?php
 
-/*
+/**
  *  Copyright (c) 2012  Rasmus Fuhse <fuhse@data-quest.de>
  * 
  *  This program is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU General Public License as
  *  published by the Free Software Foundation; either version 2 of
  *  the License, or (at your option) any later version.
+ *
+ * @var SemType $sem_type
  */
+
 $number_of_seminars = $sem_type->countSeminars();
 $id = $sem_type['id'];
 ?>
@@ -23,9 +26,9 @@ $id = $sem_type['id'];
             <input type="text" value="<?= htmlReady($sem_type['name']) ?>">
         </span>
     </span>
-    (<?= sprintf(_("%s Veranstaltungen"), $number_of_seminars ? $number_of_seminars : _("keine")) ?>)
+    (<?= sprintf(_("%s Veranstaltungen"), $number_of_seminars ?: _("keine")) ?>)
     <a href="#" class="sem_type_edit" onClick="jQuery(this).closest('li').find('.name_container').children().toggle().find('input').focus(); return false;" title="<?= _("Veranstaltungstyp umbenennen") ?>"><?= Icon::create('edit', 'clickable')->asImg(['class' => "text-bottom"]) ?></a>
     <? if ($number_of_seminars == 0) : ?>
         <a href="#" class="sem_type_delete" onClick="return false;" title="<?= _("Veranstaltungstyp löschen") ?>"><?= Icon::create('trash', 'clickable')->asImg(['class' => "text-bottom"]) ?></a>
     <? endif ?>
-</li>
\ No newline at end of file
+</li>
diff --git a/app/views/admin/sem_classes/content_plugin.php b/app/views/admin/sem_classes/content_plugin.php
index 7a9cffe4514..5cbe039a056 100644
--- a/app/views/admin/sem_classes/content_plugin.php
+++ b/app/views/admin/sem_classes/content_plugin.php
@@ -1,12 +1,16 @@
 <?php
 
-/*
+/**
  *  Copyright (c) 2012  Rasmus Fuhse <fuhse@data-quest.de>
  * 
  *  This program is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU General Public License as
  *  published by the Free Software Foundation; either version 2 of
  *  the License, or (at your option) any later version.
+ * @var array $plugin
+ * @var string $sticky
+ * @var string $plugin_id
+ * @var string $activated
  */
 ?>
 <div class="plugin<?= ($plugin['enabled'] ? "" : " deactivated").(is_numeric($plugin['id']) ? "" : " core").($sticky ? " sticky" : "") ?>" id="plugin_<?= $plugin_id ?>" <?= $plugin['enabled'] ? "" : ' title="'._("Plugin ist momentan global deaktiviert.").'"' ?>>
diff --git a/app/views/admin/sem_classes/details.php b/app/views/admin/sem_classes/details.php
index 2496473decc..6cbfed3eb56 100644
--- a/app/views/admin/sem_classes/details.php
+++ b/app/views/admin/sem_classes/details.php
@@ -1,12 +1,16 @@
 <?php
 
-/*
+/**
  *  Copyright (c) 2012  Rasmus Fuhse <fuhse@data-quest.de>
  *
  *  This program is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU General Public License as
  *  published by the Free Software Foundation; either version 2 of
  *  the License, or (at your option) any later version.
+ *
+ * @var string $overview_url
+ * @var array $sem_class
+ * @var array $modules
  */
 
 ?>
diff --git a/app/views/admin/sem_classes/overview.php b/app/views/admin/sem_classes/overview.php
index 20c5efc7786..8cbb0fb460c 100644
--- a/app/views/admin/sem_classes/overview.php
+++ b/app/views/admin/sem_classes/overview.php
@@ -1,12 +1,14 @@
 <?php
 
-/*
+/**
  *  Copyright (c) 2012  Rasmus Fuhse <fuhse@data-quest.de>
  *
  *  This program is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU General Public License as
  *  published by the Free Software Foundation; either version 2 of
  *  the License, or (at your option) any later version.
+ *
+ * @var Admin_SemClassesController $controller
  */
 ?>
 <table class="default">
diff --git a/app/views/admin/semester/edit.php b/app/views/admin/semester/edit.php
index f92a19a883c..1a40d23c17d 100644
--- a/app/views/admin/semester/edit.php
+++ b/app/views/admin/semester/edit.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_SemesterController $controller
+ * @var Semester $semester
+ */
+?>
 <form method="post" action="<?= $controller->url_for('admin/semester/edit/' . $semester->id) ?>" data-dialog="size=auto" class="default">
     <?= CSRFProtection::tokenTag() ?>
 
diff --git a/app/views/admin/semester/index.php b/app/views/admin/semester/index.php
index b8bf06f687a..1fc87a749e1 100644
--- a/app/views/admin/semester/index.php
+++ b/app/views/admin/semester/index.php
@@ -1,16 +1,23 @@
+<?php
+/**
+ * @var Admin_SemesterController $controller
+ * @var Semester[] $semesters
+ * @var string $filter
+ */
+?>
 <form action="<?= $controller->url_for('admin/semester/delete/bulk') ?>" method="post" class="default">
     <?= CSRFProtection::tokenTag() ?>
 
 <table class="default" id="semesters">
     <caption><?= _('Semester') ?></caption>
     <colgroup>
-        <col width="20px">
+        <col style="width: 20px">
         <col>
-        <col width="10%">
-        <col width="15%">
-        <col width="15%">
-        <col width="20%">
-        <col width="48px">
+        <col style="width: 10%">
+        <col style="width: 15%">
+        <col style="width: 15%">
+        <col style="width: 20%">
+        <col style="width: 48px">
     </colgroup>
     <thead>
         <tr>
diff --git a/app/views/admin/semester/lock.php b/app/views/admin/semester/lock.php
index 7f0109fd1fa..c33913940c8 100644
--- a/app/views/admin/semester/lock.php
+++ b/app/views/admin/semester/lock.php
@@ -1,4 +1,12 @@
-<form class="default" action="<?= $controller->link_for("admin/semester/lock/{$id}") ?>" method="post" data-dialog="size=auto" class="default">
+<?php
+/**
+ * @var Admin_SemesterController $controller
+ * @var Semester[] $semesters
+ * @var string $id
+ * @var LockRule[] $all_lock_rules
+ */
+?>
+<form class="default" action="<?= $controller->link_for("admin/semester/lock/{$id}") ?>" method="post" data-dialog="size=auto">
 
     <fieldset>
         <legend><?= _('Berechtigungen') ?></legend>
diff --git a/app/views/admin/smileys/edit.php b/app/views/admin/smileys/edit.php
index 32c21e726db..ebe988307d7 100644
--- a/app/views/admin/smileys/edit.php
+++ b/app/views/admin/smileys/edit.php
@@ -1,21 +1,28 @@
-<? use Studip\Button, Studip\LinkButton; ?>
+<?php
+/**
+ * @var Admin_SmileysController $controller
+ * @var Smiley $smiley
+ * @var string $view
+ */
+use Studip\Button, Studip\LinkButton;
+?>
 
 <form action="<?= $controller->url_for('admin/smileys/edit', $smiley->id, $view) ?>"
       method="post" enctype="multipart/form-data">
     <?= CSRFProtection::tokenTag() ?>
 
-    <table align="center" cellpadding="2" cellspacing="0">
+    <table class="default">
         <thead class="hide-in-dialog">
             <tr>
                 <th colspan="2"><b><?= _('Smiley bearbeiten') ?></b></th>
             </tr>
         </thead>
         <tbody>
-            <tr class="table_row_even">
+            <tr>
                 <td><?= _('Smiley:')?></td>
                 <td align="center"><?= $smiley->getImageTag() ?></td>
             </tr>
-            <tr class="table_row_odd">
+            <tr>
                 <td>
                     <label for="name"><?= _('Name')?></label>
                 </td>
@@ -26,7 +33,7 @@
                     <small><?= _('Erlaubte Zeichen:') ?> a-z 0-9 &ndash; _</small>
                 </td>
             </tr>
-            <tr class="table_row_even">
+            <tr>
                 <td>
                     <label for="short"><?= _('Kürzel')?></label>
                 </td>
@@ -35,11 +42,11 @@
                            value="<?= Request::option('short', $smiley->short) ?>">
                 </td>
             </tr>
-            <tr class="table_row_odd">
+            <tr>
                 <td><?= _('Erstellt') ?></td>
                 <td><?= date('d.m.Y H:i:s', $smiley->mkdate) ?></td>
             </tr>
-            <tr class="table_row_even">
+            <tr>
                 <td><?= _('Geändert') ?></td>
                 <td><?= date('d.m.Y H:i:s', $smiley->chdate) ?></td>
             </tr>
@@ -53,6 +60,4 @@
             </tr>
         </tfoot>
     </table>
-
-    <br>
 </form>
diff --git a/app/views/admin/smileys/index.php b/app/views/admin/smileys/index.php
index 2391ddda611..44a51f77ede 100644
--- a/app/views/admin/smileys/index.php
+++ b/app/views/admin/smileys/index.php
@@ -1,20 +1,26 @@
-<? use Studip\Button; ?>
-
+<?php
+/**
+ * @var Admin_SmileysController $controller
+ * @var bool $favorites_enabled
+ * @var string $view
+ * @var Smiley[] $smileys
+ */
+?>
 <form action="<?= $controller->action_link('admin/smileys/delete/bulk', $view) ?>" method="post">
     <?= CSRFProtection::tokenTag() ?>
 
     <table class="default">
         <colgroup>
-            <col width="20px">
+            <col style="width: 20px">
             <col>
             <col>
-            <col width="50px">
+            <col style="width: 50px">
             <col>
-            <col width="50px">
+            <col style="width: 50px">
         <? if ($favorites_enabled): ?>
-            <col width="50px">
+            <col style="width: 50px">
         <? endif; ?>
-            <col width="50px">
+            <col style="width: 50px">
         </colgroup>
         <thead>
             <tr>
@@ -33,7 +39,7 @@
     <? if (empty($smileys)): ?>
         <tbody>
             <tr>
-                <td align="center" class="blank" colspan="<?= $favorites_enabled ? 8 : 7 ?>">
+                <td class="blank" colspan="<?= $favorites_enabled ? 8 : 7 ?>">
                     <?= _('Keine Smileys vorhanden.') ?>
                 </td>
             </tr>
@@ -50,7 +56,7 @@
                 <td class="separator"><?= htmlReady($smiley->short) ?></td>
                 <td><?= $smiley->short_count ?></td>
             <? else: ?>
-                <td class="separator" colspan="2" align="center">-</td>
+                <td class="separator" colspan="2">-</td>
             <? endif; ?>
             <? if ($favorites_enabled): ?>
                 <td class="separator"><?= $smiley->fav_count ?></td>
@@ -59,11 +65,11 @@
                     <a href="<?= $controller->url_for('admin/smileys/edit', $smiley->id, $view) ?>"
                        title="<?= htmlReady(sprintf(_('Smiley "%s" bearbeiten'), $smiley->name)) ?>"
                        data-dialog="size=auto">
-                        <?= Icon::create('edit', 'clickable')->asImg() ?>
+                        <?= Icon::create('edit') ?>
                     </a>
                     <a href="<?= $controller->url_for('admin/smileys/delete', $smiley->id, $view) ?>"
                        title="<?= htmlReady(sprintf(_('Smiley "%s" löschen'), $smiley->name)) ?>">
-                        <?= Icon::create('trash', 'clickable')->asImg() ?>
+                        <?= Icon::create('trash') ?>
                     </a>
                 </td>
             </tr>
diff --git a/app/views/admin/smileys/statistics.php b/app/views/admin/smileys/statistics.php
index e134b493c48..bdef01721fe 100644
--- a/app/views/admin/smileys/statistics.php
+++ b/app/views/admin/smileys/statistics.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var int $count_all
+ * @var int $count_used
+ * @var int $sum
+ * @var int $last_change
+ */
+?>
 <dl class="smiley-statistics">
     <dt><?= _('Vorhanden') ?></dt>
     <dd><?= $count_all ?></dd>
diff --git a/app/views/admin/smileys/upload.php b/app/views/admin/smileys/upload.php
index 5dc2c13a0ba..c0d6c6bf722 100644
--- a/app/views/admin/smileys/upload.php
+++ b/app/views/admin/smileys/upload.php
@@ -1,17 +1,23 @@
-<? use Studip\Button, Studip\LinkButton; ?>
+<?php
+/**
+ * @var Admin_SmileysController $controller
+ * @var string $view
+ */
 
+use Studip\Button, Studip\LinkButton;
+?>
 <form action="<?= $controller->url_for('admin/smileys/upload', $view) ?>"
       method="post" enctype="multipart/form-data">
     <?= CSRFProtection::tokenTag() ?>
 
-    <table align="center" cellpadding="2" cellspacing="0">
+    <table class="default">
         <thead class="hide-in-dialog">
             <tr>
                 <th colspan="2"><b><?= _('Neues Smiley hochladen') ?></b></th>
             </tr>
         </thead>
         <tbody>
-            <tr class="table_row_odd">
+            <tr>
                 <td>
                     <label for="replace"><?= _('existierende Datei überschreiben') ?></label>
                 </td>
@@ -19,7 +25,7 @@
                     <input type="checkbox" id="replace" name="replace" value="1">
                 </td>
             </tr>
-            <tr class="table_row_even">
+            <tr>
                 <td>
                     <label for="file"><?= _('Bilddatei auswählen') ?></label>
                 </td>
diff --git a/app/views/admin/specification/_field.php b/app/views/admin/specification/_field.php
index 6f089ea0867..05ea09f6073 100644
--- a/app/views/admin/specification/_field.php
+++ b/app/views/admin/specification/_field.php
@@ -1,4 +1,9 @@
 <?php
+/**
+ * @var string $name
+ * @var string $id
+ * @var array $rule
+ */
 $fields = Request::getArray('fields');
 $order  = Request::getArray('order');
 ?>
diff --git a/app/views/admin/specification/edit.php b/app/views/admin/specification/edit.php
index e8031714060..30bee490d5d 100644
--- a/app/views/admin/specification/edit.php
+++ b/app/views/admin/specification/edit.php
@@ -1,7 +1,14 @@
-<?
+<?php
 # Lifter010: TODO
-use Studip\Button, Studip\LinkButton;
 
+/**
+ * @var Admin_SpecificationController $controller
+ * @var AuxLockRules $rule
+ * @var array $semFields
+ * @var DataField[] $entries_semdata
+ * @var DataField[] $entries_user
+ */
+use Studip\Button, Studip\LinkButton;
 ?>
 <? if (isset($flash['error'])) : ?>
     <?= MessageBox::error($flash['error'], $flash['error_detail']) ?>
diff --git a/app/views/admin/specification/index.php b/app/views/admin/specification/index.php
index 6fbf71185c4..38ec459e8c5 100644
--- a/app/views/admin/specification/index.php
+++ b/app/views/admin/specification/index.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_SpecificationController $controller
+ * @var AuxLockRules[] $allrules
+ */
+?>
 <form method="post" class="default">
     <?= CSRFProtection::tokenTag() ?>
     <table class="default">
@@ -5,9 +11,9 @@
             <?= _('Verwaltung von Zusatzangaben') ?>
         </caption>
         <colgroup>
-            <col width="45%">
-            <col width="45%">
-            <col width="10%">
+            <col style="width: 45%">
+            <col style="width: 45%">
+            <col style="width: 10%">
         </colgroup>
         <thead>
             <tr>
diff --git a/app/views/admin/statusgroups/_edit_subgroupselect.php b/app/views/admin/statusgroups/_edit_subgroupselect.php
index 29688963d6a..6963ea11585 100644
--- a/app/views/admin/statusgroups/_edit_subgroupselect.php
+++ b/app/views/admin/statusgroups/_edit_subgroupselect.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Admin_StatusgroupsController $controller
+ * @var int $level
+ * @var string $preset
+ * @var Statusgruppen[] $groups
+ */
+?>
 <? foreach ($groups as $group): ?>
     <? if ($selected->id == $group->id) continue; ?>
     <option value="<?= $group->id ?>" <? if ($group->id == $selected->range_id) echo 'selected'; ?> <? if ($level > 0): ?> class="nested-item nested-item-level-<?= $level ?>"<? endif; ?>>
@@ -6,4 +14,4 @@
     <? if($group->children): ?>
         <?= $this->render_partial("admin/statusgroups/_edit_subgroupselect.php", ['groups' => $group->children, 'selected' => $selected, 'level' => $level + 1]) ?>
     <? endif; ?>
-<? endforeach; ?>
\ No newline at end of file
+<? endforeach; ?>
diff --git a/app/views/admin/statusgroups/_group-nestable.php b/app/views/admin/statusgroups/_group-nestable.php
index 982447e7301..a3e1979d665 100644
--- a/app/views/admin/statusgroups/_group-nestable.php
+++ b/app/views/admin/statusgroups/_group-nestable.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var Statusgruppen[] $groups
+ */
+?>
 <? if ($groups): ?>
     <ol class="dd-list">
     <? foreach ($groups as $group): ?>
@@ -7,4 +12,4 @@
         </li>
     <? endforeach; ?>
     </ol>
-<? endif; ?>
\ No newline at end of file
+<? endif; ?>
diff --git a/app/views/admin/statusgroups/_group.php b/app/views/admin/statusgroups/_group.php
index 0b29329f50a..9770d7be345 100644
--- a/app/views/admin/statusgroups/_group.php
+++ b/app/views/admin/statusgroups/_group.php
@@ -1,3 +1,13 @@
+<?php
+/**
+ * @var Admin_StatusgroupsController $controller
+ * @var Statusgruppen $group
+ * @var array $membersOfInstitute
+ * @var array $not_assigned
+ * @var string $tutor
+ * @var string $searchType
+ */
+?>
 <a name="group-<?= $group->id ?>"></a>
 <table id="<?= $group->id ?>" class="default movable">
     <colgroup>
diff --git a/app/views/admin/statusgroups/_members.php b/app/views/admin/statusgroups/_members.php
index 956679e501c..2150e4e88b0 100644
--- a/app/views/admin/statusgroups/_members.php
+++ b/app/views/admin/statusgroups/_members.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Admin_StatusgroupsController $controller
+ * @var Statusgruppen $group
+ * @var string $tutor
+ */
+?>
 <? foreach ($group->members as $user): ?>
     <tr data-userid="<?= $user->user_id ?>">
         <td <?= ($tutor ? 'class="dragHandle"' : '') ?>></td>
diff --git a/app/views/admin/statusgroups/delete.php b/app/views/admin/statusgroups/delete.php
index e4173b614c8..d31e1ebc3cd 100644
--- a/app/views/admin/statusgroups/delete.php
+++ b/app/views/admin/statusgroups/delete.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Admin_StatusgroupsController $controller
+ * @var Statusgruppen $group
+ * @var User $user
+ */
+?>
 <form method="post" action="<?= $controller->url_for("admin/statusgroups/delete/{$group->id}/{$user->user_id}") ?>" class="default">
     <?= CSRFProtection::tokenTag() ?>
     <fieldset>
diff --git a/app/views/admin/statusgroups/deleteGroup.php b/app/views/admin/statusgroups/deleteGroup.php
index e84331843f2..f9eda8e61c2 100644
--- a/app/views/admin/statusgroups/deleteGroup.php
+++ b/app/views/admin/statusgroups/deleteGroup.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_StatusgroupsController $controller
+ * @var Statusgruppen $group
+ */
+?>
 <form method="post" action="<?= $controller->url_for("admin/statusgroups/deleteGroup/{$group->id}") ?>" class="default">
     <?= CSRFProtection::tokenTag() ?>
     <fieldset>
diff --git a/app/views/admin/statusgroups/editGroup.php b/app/views/admin/statusgroups/editGroup.php
index 87bdfd73c2e..ac563e6bdc0 100644
--- a/app/views/admin/statusgroups/editGroup.php
+++ b/app/views/admin/statusgroups/editGroup.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Admin_StatusgroupsController $controller
+ * @var Statusgruppen $group
+ * @var Statusgruppen[] $groups
+ * @var array $type
+ */
+?>
 <form class="default" action="<?= $controller->url_for('admin/statusgroups/editGroup/' . $group->id) ?>#group-<?= $group->id ?>" method="post">
     <fieldset>
         <legend>
diff --git a/app/views/admin/statusgroups/index.php b/app/views/admin/statusgroups/index.php
index f9dc6b8f55e..c35bd55d43c 100644
--- a/app/views/admin/statusgroups/index.php
+++ b/app/views/admin/statusgroups/index.php
@@ -1,6 +1,11 @@
+<?php
+/**
+ * @var Statusgruppen[] $groups
+ */
+?>
 <? if (!$groups): ?>
     <?= MessageBox::info(_('Es wurden noch keine Gruppen angelegt')) ?>
 <? endif; ?>
 <? foreach ($groups as $group): ?>
     <?= $this->render_partial('admin/statusgroups/_group.php', compact('group')) ?>
-<? endforeach; ?>
\ No newline at end of file
+<? endforeach; ?>
diff --git a/app/views/admin/statusgroups/sortAlphabetic.php b/app/views/admin/statusgroups/sortAlphabetic.php
index a73ce275c2c..04c3019b8b1 100644
--- a/app/views/admin/statusgroups/sortAlphabetic.php
+++ b/app/views/admin/statusgroups/sortAlphabetic.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_StatusgroupsController $controller
+ * @var Statusgruppen $group
+ */
+?>
 <form method="post" action="<?= $controller->url_for("admin/statusgroups/sortAlphabetic/{$group->id}") ?>" class="default">
     <?= CSRFProtection::tokenTag() ?>
     <fieldset>
diff --git a/app/views/admin/statusgroups/sortGroups.php b/app/views/admin/statusgroups/sortGroups.php
index 0f367e49456..80dd355e5a3 100644
--- a/app/views/admin/statusgroups/sortGroups.php
+++ b/app/views/admin/statusgroups/sortGroups.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_StatusgroupsController $controller
+ * @var Statusgruppen[] $groups
+ */
+?>
 <noscript>
     <?= MessageBox::info(_('Leider ist es aus technischen Gründen nicht möglich ein vernünftiges Interface '
                          . 'ohne Javascript zu liefern. Nutzen sie bitte die Gruppierung unter den '
diff --git a/app/views/admin/user/_course_files.php b/app/views/admin/user/_course_files.php
index 6da1662d52c..af623963da5 100644
--- a/app/views/admin/user/_course_files.php
+++ b/app/views/admin/user/_course_files.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Admin_UserController $controller
+ * @var array $course_files
+ * @var array $params
+ * @var User $user
+ */
+?>
 <section class="contentbox">
     <header>
         <h1>
diff --git a/app/views/admin/user/_course_list.php b/app/views/admin/user/_course_list.php
index 6f662774c60..a7e090bfb55 100644
--- a/app/views/admin/user/_course_list.php
+++ b/app/views/admin/user/_course_list.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var string $headline
+ * @var array $memberships
+ */
+?>
 <section class="contentbox">
     <header>
         <h1><?= $headline ?></h1>
diff --git a/app/views/admin/user/_delete.php b/app/views/admin/user/_delete.php
index db4b221a965..59c5fc1894b 100644
--- a/app/views/admin/user/_delete.php
+++ b/app/views/admin/user/_delete.php
@@ -1,13 +1,20 @@
+<?php
+/**
+ * @var Admin_UserController $controller
+ * @var array $users
+ */
+?>
 <form action="<?= $controller->link_for('admin/user/delete') ?>" method="post" class="default">
     <?= CSRFProtection::tokenTag() ?>
-<? if ($users) : ?>
-    <? $details = [] ?>
-    <? foreach ($users as $user) : ?>
-        <? $details[] = htmlReady(sprintf('%s (%s)', $user->getFullName(), $user->username)) ?>
-        <input type="hidden" name="user_ids[]" value="<?= $user['user_id'] ?>">
-    <? endforeach ?>
-<? endif ?>
-    <?= MessageBox::warning(_('Wollen Sie die folgenden Nutzer wirklich löschen?'), $details) ?>
+    <? if ($users) : ?>
+        <? $details = [] ?>
+        <? foreach ($users as $user) : ?>
+            <? $details[] = htmlReady(sprintf('%s (%s)', $user->getFullName(), $user->username)) ?>
+            <input type="hidden" name="user_ids[]" value="<?= $user['user_id'] ?>">
+        <? endforeach ?>
+        <?= MessageBox::warning(_('Wollen Sie die folgenden Nutzer wirklich löschen?'), $details) ?>
+    <? endif ?>
+
 
     <fieldset>
         <legend><?= _('Personenbezogene Daten') ?></legend>
diff --git a/app/views/admin/user/_institute_files.php b/app/views/admin/user/_institute_files.php
index 6aeb05d28bf..bc557e31712 100644
--- a/app/views/admin/user/_institute_files.php
+++ b/app/views/admin/user/_institute_files.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Admin_UserController $controller
+ * @var Institute[] $institutes
+ * @var User $user
+ * @var array $params
+ */
+?>
 <section class="contentbox">
     <header>
         <h1>
@@ -39,11 +47,11 @@
                                 $actionMenu = ActionMenu::get()->setContext($institute['name']);
                                 $actionMenu->addLink($controller->url_for('admin/user/list_files/' . $user['user_id'] . '/' . $institute['Institut_id'] , $params),
                                     _('Dateien auflisten'),
-                                    Icon::create('folder-full', 'clickable'),
+                                    Icon::create('folder-full'),
                                     ['data-dialog' => 'size=50%']);
                                 $actionMenu->addLink($controller->url_for('admin/user/download_user_files/' . $user['user_id'] . '/' . $institute['Institut_id']),
                                     _('Dateien als ZIP herunterladen'),
-                                    Icon::create('download', 'clickable'));
+                                    Icon::create('download'));
 
                                 ?>
                                 <?= $actionMenu->render() ?>
@@ -55,4 +63,3 @@
         </table>
     </section>
 </section>
-
diff --git a/app/views/admin/user/_priority_list.php b/app/views/admin/user/_priority_list.php
index 1727e7f1f3b..e835a88309d 100644
--- a/app/views/admin/user/_priority_list.php
+++ b/app/views/admin/user/_priority_list.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var array $priorities
+ */
+?>
 <section class="contentbox">
     <header>
         <h1>
@@ -44,4 +49,4 @@
     <? else : ?>
         <?= $this->render_partial('admin/user/_activities_no_courses.php') ?>
     <? endif ?>
-</section>
\ No newline at end of file
+</section>
diff --git a/app/views/admin/user/_results.php b/app/views/admin/user/_results.php
index 695e30e200e..e41d995ead2 100644
--- a/app/views/admin/user/_results.php
+++ b/app/views/admin/user/_results.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Admin_UserController $controller
+ * @var array $users
+ * @var string $sortby
+ * @var string $order
+ */
+?>
 <br>
 
 <form action="<?= $controller->link_for('admin/user/bulk') ?>" method="post" data-dialog="size=auto" class="default">
@@ -227,7 +235,7 @@
         </tbody>
         <tfoot>
             <tr>
-                <td colspan="11" align="right">
+                <td colspan="11">
                         <input style="vertical-align: middle" type="checkbox" name="check_all" title="<?= _('Alle Benutzer auswählen') ?>"
                                data-proxyfor=".check_all" data-activates=".bulkAction">
                         <select name="method" class="bulkAction size-s" required>
diff --git a/app/views/admin/user/_waiting_list.php b/app/views/admin/user/_waiting_list.php
index 392c751e756..1fd07242e6b 100644
--- a/app/views/admin/user/_waiting_list.php
+++ b/app/views/admin/user/_waiting_list.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var array $memberships
+ */
+?>
 <section class="contentbox">
     <header>
         <h1>
@@ -46,4 +51,4 @@
     <? else : ?>
         <?= $this->render_partial('admin/user/_activities_no_courses.php') ?>
     <? endif ?>
-</section>
\ No newline at end of file
+</section>
diff --git a/app/views/admin/user/activities.php b/app/views/admin/user/activities.php
index 733df2661bb..d21c85f2afd 100644
--- a/app/views/admin/user/activities.php
+++ b/app/views/admin/user/activities.php
@@ -1,3 +1,12 @@
+<?php
+/**
+ * @var Admin_UserController $controller
+ * @var array $queries
+ * @var array $user
+ * @var array $params
+ * @var array $sections
+ */
+?>
 <h1 class="hide-in-dialog">
     <?= htmlReady(PageLayout::getTitle()) ?>
 </h1>
diff --git a/app/views/admin/user/edit.php b/app/views/admin/user/edit.php
index f38f4ff6930..1b0c2831892 100644
--- a/app/views/admin/user/edit.php
+++ b/app/views/admin/user/edit.php
@@ -1,5 +1,18 @@
-<?
+<?php
 # Lifter010: TODO
+
+/**
+ * @var Admin_UserController $controller
+ * @var array $flash
+ * @var User $user
+ * @var string $prelim
+ * @var array $available_auth_plugins
+ * @var array $available_institutes
+ * @var Fach[] $faecher
+ * @var Abschluss[] $abschluesse
+ * @var UserDomain[] $userdomains
+ * @var array $userfields
+ */
 use Studip\Button, Studip\LinkButton;
 
 ?>
diff --git a/app/views/admin/user/edit_institute.php b/app/views/admin/user/edit_institute.php
index d1f5b85f190..268a5fc3a98 100644
--- a/app/views/admin/user/edit_institute.php
+++ b/app/views/admin/user/edit_institute.php
@@ -1,4 +1,13 @@
-<? use Studip\Button, Studip\LinkButton; ?>
+<?php
+/**
+ * @var Admin_UserController $controller
+ * @var User $user
+ * @var Institute $institute
+ * @var array $perms
+ * @var DataField[] $datafields
+ */
+use Studip\Button, Studip\LinkButton;
+?>
 
 <form action="<?= $controller->url_for('admin/user/store_user_institute/' . $institute->user_id . '/' . $institute->institut_id) ?>"
       method="post" class="default">
diff --git a/app/views/admin/user/index.php b/app/views/admin/user/index.php
index cab7b7b2f33..bac2b527151 100644
--- a/app/views/admin/user/index.php
+++ b/app/views/admin/user/index.php
@@ -1,7 +1,17 @@
 <?
 # Lifter010: TODO
-use Studip\Button, Studip\LinkButton;
-
+/**
+ * @var Admin_UserController $controller
+ * @var array $request
+ * @var array $datafields
+ * @var array $available_auth_plugins
+ * @var Institute[] $institutes
+ * @var UserDomain[] $userdomains
+ * @var Fach[] $studycourses
+ * @var Abschluss[] $degrees
+ * @var bool $advanced
+ */
+use Studip\Button;
 ?>
 
 
diff --git a/app/views/admin/user/list_files.php b/app/views/admin/user/list_files.php
index 2d7ce9b3c8d..a351ec58405 100644
--- a/app/views/admin/user/list_files.php
+++ b/app/views/admin/user/list_files.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Admin_UserController $controller
+ * @var array $params
+ * @var FolderType $folders
+ * @var User $user
+ */
+?>
 <section class="contentbox">
     <header>
         <h1><?= _('Dateiübersicht') ?></h1>
diff --git a/app/views/admin/user/lock_comment.php b/app/views/admin/user/lock_comment.php
index 4e87df05a0e..b874c5825b4 100644
--- a/app/views/admin/user/lock_comment.php
+++ b/app/views/admin/user/lock_comment.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Admin_UserController $controller
+ * @var array $params
+ * @var User $user
+ */
+?>
 <form action="<?=$controller->url_for('admin/user/lock/' . $user->id, $params)?>" method="post" class="default">
     <?= CSRFProtection::tokenTag()?>
 
diff --git a/app/views/admin/user/migrate.php b/app/views/admin/user/migrate.php
index 8b26766b58b..dbfd1efedad 100644
--- a/app/views/admin/user/migrate.php
+++ b/app/views/admin/user/migrate.php
@@ -1,8 +1,11 @@
-<?
+<?php
 # Lifter010: TODO - Quicksearches still lack a label
+/**
+ * @var Admin_UserController $controller
+ * @var User $user
+ */
 
 use Studip\Button, Studip\LinkButton;
-
 ?>
 <form action="<?= $controller->url_for('admin/user/migrate') ?>" method="post" class="default">
     <?= CSRFProtection::tokenTag() ?>
diff --git a/app/views/admin/user/new.php b/app/views/admin/user/new.php
index 4d0c24d4308..49fd9ed29a2 100644
--- a/app/views/admin/user/new.php
+++ b/app/views/admin/user/new.php
@@ -1,7 +1,14 @@
-<?
+<?php
 # Lifter010: TODO
-use Studip\Button, Studip\LinkButton;
+/**
+ * @var Admin_UserController $controller
+ * @var User $user
+ * @var string $prelim
+ * @var array $faks
+ * @var UserDomain[] $domains
+ */
 
+use Studip\Button, Studip\LinkButton;
 ?>
 
 <form method="post" action="<?= $controller->url_for('admin/user/new/' . $prelim) ?>" class="default" data-secure="true">
@@ -29,7 +36,7 @@ use Studip\Button, Studip\LinkButton;
                 <?= _("Globaler Status") ?>
             </span>
 
-            <select class="user_form" name="perm" id="perm" onchange="jQuery('#admin_special').toggle( jQuery('#institut').val() != '0' && jQuery('#perm').val() == 'admin' )">
+            <select class="user_form" name="perm" id="perm" onchange="jQuery('#admin_special').toggle( jQuery('#institut').val() !== '0' && jQuery('#perm').val() === 'admin' )">
                 <option <? if ($user['perm'] == 'user') echo 'selected'; ?>>user</option>
                 <option <? if (!$user['perm'] || $user['perm'] == 'autor') echo 'selected'; ?>>autor</option>
                 <option <? if ($user['perm'] == 'tutor') echo 'selected'; ?>>tutor</option>
@@ -160,7 +167,7 @@ use Studip\Button, Studip\LinkButton;
         <label>
             <?= _("Einrichtung") ?>
 
-            <select multiple id="institut" class="user_form nested-select" name="institutes[]" onchange="jQuery('#admin_special').toggle( jQuery('#institut').val() != '0' && jQuery('#perm').val() == 'admin')">
+            <select multiple id="institut" class="user_form nested-select" name="institutes[]" onchange="jQuery('#admin_special').toggle( jQuery('#institut').val() !== '0' && jQuery('#perm').val() === 'admin')">
                 <option value="" class="is-placeholder">
                     <?= _('-- Bitte Einrichtung auswählen --') ?>
                 </option>
diff --git a/app/views/admin/user/show_user_courses.php b/app/views/admin/user/show_user_courses.php
index 52df5defd71..7136d9da81a 100644
--- a/app/views/admin/user/show_user_courses.php
+++ b/app/views/admin/user/show_user_courses.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Admin_UserController $controller
+ * @var User $user
+ */
+?>
 <? if (!empty($sem_courses)) : ?>
     <form method="post" action="<?= $controller->delete_course_assignment($user) ?>" class="default collapsable"
           data-dialog="size=auto">
@@ -8,12 +14,12 @@
                     <?= htmlReady($sem_name) ?>
                 </legend>
                 <table class="default ">
+                    <colgroup>
+                        <col style="width: 20px">
+                        <col>
+                        <col>
+                    </colgroup>
                     <thead>
-                        <colgroup>
-                            <col style="width: 20px">
-                            <col>
-                            <col>
-                        </colgroup>
                         <tr>
                             <th>
                                 <input type="checkbox" name="all" value="1"
diff --git a/app/views/admin/webservice_access/index.php b/app/views/admin/webservice_access/index.php
index b74b67c10ff..07edb4c9f75 100644
--- a/app/views/admin/webservice_access/index.php
+++ b/app/views/admin/webservice_access/index.php
@@ -1,5 +1,10 @@
-<?
+<?php
 # Lifter010: TODO
+
+/**
+ * @var Admin_WebserviceAccessController $controller
+ * @var WebserviceAccessRule[] $ws_rules
+ */
 ?>
 <h3><?=_("Liste der Zugriffsregeln")?></h3>
 <form action="<?=$controller->url_for('admin/webservice_access/update#edit')?>" method="post" class="default">
diff --git a/app/views/admin/webservice_access/test.php b/app/views/admin/webservice_access/test.php
index 16b71a0e1dc..396f885fa69 100644
--- a/app/views/admin/webservice_access/test.php
+++ b/app/views/admin/webservice_access/test.php
@@ -1,4 +1,10 @@
-<? use Studip\Button, Studip\LinkButton; ?>
+<?php
+/**
+ * @var Admin_WebserviceAccessController $controller
+ */
+
+use Studip\Button, Studip\LinkButton;
+?>
 <form action="<?=$controller->url_for('admin/webservice_access/test')?>" method="post" class="default">
     <?=CSRFProtection::tokenTag()?>
     <fieldset>
-- 
GitLab