From 63bb3157e9e881043a9504aa4ecef91acbed1ce5 Mon Sep 17 00:00:00 2001
From: David Siegfried <david.siegfried@uni-vechta.de>
Date: Tue, 11 Oct 2022 07:38:59 +0000
Subject: [PATCH] add docblocks, closes #1652

Closes #1652

Merge request studip/studip!1062
---
 app/views/online/index.php                     | 16 ++++++++++++++--
 app/views/privacy/index.php                    |  8 ++++++++
 app/views/privacy/landing.php                  |  7 +++++++
 app/views/privacy/print.php                    |  6 ++++++
 app/views/profile_modules/index.php            |  8 ++++++++
 app/views/public_courses/index.php             |  5 +++++
 app/views/quickselection/configuration.php     |  7 +++++++
 app/views/score/index.php                      | 16 ++++++++++++++--
 .../seminar/details/show_module_pathes.php     |  7 ++++++-
 app/views/sitemap/index.php                    |  9 ++++++++-
 app/views/sitemap/navigation.php               |  8 ++++++--
 app/views/studiengaenge/abschluesse/index.php  |  7 +++++++
 app/views/studiengaenge/fachbereiche/index.php |  7 +++++++
 .../fachbereichestgteile/index.php             |  8 ++++++++
 app/views/studiengaenge/faecher/index.php      | 13 ++++++++++++-
 .../studiengaenge/informationen/degree.php     |  6 ++++++
 .../studiengaenge/informationen/index.php      |  6 ++++++
 .../studiengaenge/informationen/showdegree.php |  6 ++++++
 .../informationen/showstudycourse.php          |  7 +++++++
 app/views/studiengaenge/kategorien/index.php   |  7 +++++++
 .../stgteilbezeichnungen/details.php           | 15 ++++++++++++---
 .../stgteilbezeichnungen/index.php             |  8 ++++++++
 .../stgteilbezeichnung.php                     | 12 ++++++++++--
 .../studiengaenge/studiengaenge/approve.php    | 11 ++++++++++-
 .../studiengaenge/aufbaustg_edit.php           |  9 ++++++++-
 .../studiengaenge/aufbaustg_edit__.php         | 10 ++++++++--
 .../studiengaenge/aufbaustg_info.php           |  7 ++++++-
 .../studiengaenge/aufbaustg_select.php         |  8 ++++++++
 .../studiengaenge/aufbaustg_table.php          |  8 +++++++-
 .../studiengaenge/studiengaenge/export.php     |  5 +++++
 .../studiengaenge/studiengaenge/index.php      | 11 ++++++++++-
 .../studiengaenge/stgteil_bezeichnungen.php    |  9 +++++++++
 .../studiengaenge/studiengaenge.php            | 14 ++++++++++++++
 .../studiengaenge/studiengang.php              | 18 +++++++++++++++++-
 .../studiengaenge/studiengangteile.php         | 12 +++++++++++-
 .../studiengaenge/studiengangteile/approve.php | 10 +++++++++-
 .../studiengangteile/details_grouped.php       | 10 +++++++++-
 .../studiengaenge/studiengangteile/index.php   | 12 +++++++++++-
 .../studiengaenge/studiengangteile/stgteil.php | 14 +++++++++++++-
 .../studiengaenge/versionen/abschnitt.php      | 12 ++++++++++--
 .../studiengaenge/versionen/abschnitte.php     | 10 ++++++++++
 app/views/studiengaenge/versionen/approve.php  |  9 ++++++++-
 .../versionen/details_abschnitt.php            | 11 +++++++++++
 app/views/studiengaenge/versionen/diff.php     |  6 ++++++
 .../studiengaenge/versionen/diff_select.php    |  8 ++++++++
 app/views/studiengaenge/versionen/export.php   |  8 +++++++-
 app/views/studiengaenge/versionen/index.php    | 10 +++++++++-
 .../versionen/modul_zuordnung.php              |  8 +++++++-
 .../versionen/modulteil_semester.php           | 11 +++++++++--
 .../studiengaenge/versionen/modulteile.php     |  9 ++++++++-
 app/views/studiengaenge/versionen/version.php  | 15 +++++++++++++--
 lib/classes/I18N.php                           |  6 +++---
 52 files changed, 449 insertions(+), 41 deletions(-)

diff --git a/app/views/online/index.php b/app/views/online/index.php
index 0c1dd810d7c..10052bbdc71 100644
--- a/app/views/online/index.php
+++ b/app/views/online/index.php
@@ -1,3 +1,15 @@
+<?php
+/**
+ * @var ContactController $controller
+ * @var array $users
+ * @var bool $showGroups
+ * @var int $contact_count
+ * @var int $page
+ * @var int $limit
+ * @var bool $showOnlyBuddies
+ */
+$dimension = Avatar::getDimension(Avatar::SMALL);
+?>
 <div class="online-list">
     <div id="online_contacts">
         <table class="default">
@@ -5,7 +17,7 @@
                 <?= _('Kontakte') ?>
             </caption>
             <colgroup>
-                <col width="<?= reset(Avatar::getDimension(Avatar::SMALL)) ?>px">
+                <col width="<?= reset($dimension) ?>px">
                 <col>
                 <col>
                 <col width="1%">
@@ -80,7 +92,7 @@
                     <? endif; ?>
                 </caption>
                 <colgroup>
-                    <col width="<?= reset(Avatar::getDimension(Avatar::SMALL)) ?>px">
+                    <col width="<?= reset($dimension) ?>px">
                     <col>
                     <col>
                     <col width="1%">
diff --git a/app/views/privacy/index.php b/app/views/privacy/index.php
index 7f2b0e200d6..99a8e1d4553 100644
--- a/app/views/privacy/index.php
+++ b/app/views/privacy/index.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var PrivacyController $controller
+ * @var array $plugin_data
+ * @var string $section
+ * @var string $user_id
+ */
+?>
 <? if (empty($plugin_data) || empty(reset($plugin_data))): ?>
     <?= MessageBox::info(_('In dieser Kategorie sind keine Daten vorhanden.')) ?>
 <? endif; ?>
diff --git a/app/views/privacy/landing.php b/app/views/privacy/landing.php
index 3382b990fff..9ca20bcc1e4 100644
--- a/app/views/privacy/landing.php
+++ b/app/views/privacy/landing.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var PrivacyController $controller
+ * @var array $sections
+ * @var string $user_id
+ */
+?>
 <ul class="boxed-grid">
 <? foreach ($sections as $key => $row): ?>
     <li>
diff --git a/app/views/privacy/print.php b/app/views/privacy/print.php
index 968c86bae79..46fa71c5c65 100644
--- a/app/views/privacy/print.php
+++ b/app/views/privacy/print.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var string $user_fullname
+ * @var array $plugin_data
+ */
+?>
 <h1><?= sprintf(_('Personenbezogene Daten von %s'), htmlReady($user_fullname)); ?></h1>
 <? foreach ($plugin_data as $label => $tabledata) : ?>
     <? if ($tabledata['table_content']) : ?>
diff --git a/app/views/profile_modules/index.php b/app/views/profile_modules/index.php
index 10ef79963a3..17477d2db92 100644
--- a/app/views/profile_modules/index.php
+++ b/app/views/profile_modules/index.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var ProfileModulesController $controller
+ * @var string $username
+ * @var array $list
+ * @var array $config
+ */
+?>
 <form action="<?= $controller->url_for('profilemodules/update', compact('username')) ?>" method="post" class="default plus">
     <?= CSRFProtection::tokenTag() ?>
 
diff --git a/app/views/public_courses/index.php b/app/views/public_courses/index.php
index ccbd4af5308..e55899c0868 100644
--- a/app/views/public_courses/index.php
+++ b/app/views/public_courses/index.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var array $seminars
+ */
+?>
 <blockquote>
     <p>
         <?= _('Die folgenden Veranstaltungen können Sie betreten, ohne '
diff --git a/app/views/quickselection/configuration.php b/app/views/quickselection/configuration.php
index 8f25f4b9d3b..af8aa98f3ae 100644
--- a/app/views/quickselection/configuration.php
+++ b/app/views/quickselection/configuration.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var QuickselectionController $controller
+ * @var Navigation[] $links
+ * @var array $config
+ */
+?>
 <div id="quickSelectionEdit">
     <form id="configure_quickselection" action="<?= $controller->link_for('quickselection/save') ?>" method="post" class="default" data-dialog>
         <fieldset>
diff --git a/app/views/score/index.php b/app/views/score/index.php
index 55c55bebd45..d20802615c0 100644
--- a/app/views/score/index.php
+++ b/app/views/score/index.php
@@ -1,9 +1,21 @@
+<?php
+/**
+ * @var ScoreController $controller
+ * @var int $current_user_score
+ * @var User $current_user
+ * @var array $persons
+ * @var int $offset
+ * @var int $page
+ * @var int $numberOfPersons
+ * @var int $max_per_page
+ */
+?>
 <table class="default">
     <caption>
         <span class="actions" style="font-size: 0.9em;">
             <?= _('Ihre Punkte:') ?>
-            <strong><?= number_format($this->current_user_score, 0, ',', '.') ?></strong>
-            <div class="hidden-small-down">(<?= Score::getTitel($this->current_user_score, $this->current_user->geschlecht) ?>)</div>
+            <strong><?= number_format($current_user_score, 0, ',', '.') ?></strong>
+            <div class="hidden-small-down">(<?= Score::getTitel($current_user_score, $current_user->geschlecht) ?>)</div>
         </span>
         <?= _('Stud.IP-Rangliste')?>
     </caption>
diff --git a/app/views/seminar/details/show_module_pathes.php b/app/views/seminar/details/show_module_pathes.php
index 7ffa38e9b38..52ee07c39be 100644
--- a/app/views/seminar/details/show_module_pathes.php
+++ b/app/views/seminar/details/show_module_pathes.php
@@ -1,4 +1,9 @@
-<?
+<?php
+/**
+ * @var MvvCourse[] $mvv_pathes
+ * @var Seminar_DetailsController $controller
+ */
+
 if (count($mvv_pathes)) {
 ?>
 <font size="-1">
diff --git a/app/views/sitemap/index.php b/app/views/sitemap/index.php
index 7cb68f0a4ec..5b981433b8b 100644
--- a/app/views/sitemap/index.php
+++ b/app/views/sitemap/index.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Navigation[] $navigation
+ * @var Navigation[] $footer
+ * @var Navigation[] $quicklinks
+ */
+?>
 <h2><?= _('Hauptnavigation') ?></h2>
 <?= $this->render_partial('sitemap/navigation', ['navigation' => $navigation, 'needs_image' => true, 'style' => 'bold'])
 ?>
@@ -6,4 +13,4 @@
 ?>
 <h2><?= _('Fußzeile') ?></h2>
 <?= $this->render_partial('sitemap/navigation', ['navigation' => $footer, 'needs_image' => false, 'style' => 'bold'])
-?>
\ No newline at end of file
+?>
diff --git a/app/views/sitemap/navigation.php b/app/views/sitemap/navigation.php
index 841ed1bbfc1..7c32ae58032 100644
--- a/app/views/sitemap/navigation.php
+++ b/app/views/sitemap/navigation.php
@@ -1,5 +1,9 @@
-<?
-# Lifter010: TODO
+<?php
+/**
+ * @var Navigation[] $navigation
+ * @var bool $needs_image
+ * @var string $style
+ */
 ?>
 <ul>
     <? foreach ($navigation as $nav) : ?>
diff --git a/app/views/studiengaenge/abschluesse/index.php b/app/views/studiengaenge/abschluesse/index.php
index f11ad6a4849..f123e0ef86d 100644
--- a/app/views/studiengaenge/abschluesse/index.php
+++ b/app/views/studiengaenge/abschluesse/index.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Studiengaenge_AbschluesseController $controller
+ * @var Abschluss[] $abschluesse
+ * @var string $abschluss_id
+ */
+?>
 <table class="default collapsable"">
 <thead>
     <tr class="sortable">
diff --git a/app/views/studiengaenge/fachbereiche/index.php b/app/views/studiengaenge/fachbereiche/index.php
index b66697edfc6..54c73c7922a 100644
--- a/app/views/studiengaenge/fachbereiche/index.php
+++ b/app/views/studiengaenge/fachbereiche/index.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Studiengaenge_FachbereicheController $controller
+ * @var Fachbereich[] $fachbereiche
+ * @var string $fachbereich_id
+ */
+?>
 <table class="default collapsable" style="width: 100%;">
     <thead>
         <tr class="sortable">
diff --git a/app/views/studiengaenge/fachbereichestgteile/index.php b/app/views/studiengaenge/fachbereichestgteile/index.php
index 24f44298d0e..bdd741fbb69 100644
--- a/app/views/studiengaenge/fachbereichestgteile/index.php
+++ b/app/views/studiengaenge/fachbereichestgteile/index.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Studiengaenge_FachbereichestgteileController $controller
+ * @var StudiengangTeil[] $fachbereiche
+ * @var array $stgteil_ids
+ * @var string $details_id
+ */
+?>
 <form method="post">
     <?= CSRFProtection::tokenTag() ?>
     <table class="default collapsable">
diff --git a/app/views/studiengaenge/faecher/index.php b/app/views/studiengaenge/faecher/index.php
index d9540bcd0b7..1b3f325da2c 100644
--- a/app/views/studiengaenge/faecher/index.php
+++ b/app/views/studiengaenge/faecher/index.php
@@ -1,3 +1,13 @@
+<?php
+/**
+ * @var Studiengaenge_FaecherController $controller
+ * @var int $count
+ * @var Fach[] $faecher
+ * @var string $details_id
+ * @var StudiengangTeil $stgteile
+ * @var int $page
+ */
+?>
 <form method="post">
     <?= CSRFProtection::tokenTag() ?>
     <table class="default collapsable">
@@ -51,7 +61,8 @@
                         $pagination->set_attribute('perPage', MVVController::$items_per_page);
                         $pagination->set_attribute('num_postings', $count);
                         $pagination->set_attribute('page', $page);
-                        $page_link = reset(explode('?', $controller->action_url('index'))) . '?page_faecher=%s';
+                        $parts = explode('?', $controller->action_url('index'));
+                        $page_link = reset($parts) . '?page_faecher=%s';
                         $pagination->set_attribute('pagelink', $page_link);
                         echo $pagination->render("shared/pagechooser");
                         ?>
diff --git a/app/views/studiengaenge/informationen/degree.php b/app/views/studiengaenge/informationen/degree.php
index 68d53367039..60d913f529d 100644
--- a/app/views/studiengaenge/informationen/degree.php
+++ b/app/views/studiengaenge/informationen/degree.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Studiengaenge_InformationenController $controller
+ * @var Degree[] $degree
+ */
+?>
 <table class="default collapsable">
     <colgroup>
         <col width="70%">
diff --git a/app/views/studiengaenge/informationen/index.php b/app/views/studiengaenge/informationen/index.php
index ada88c7c05b..2b3ab5db423 100644
--- a/app/views/studiengaenge/informationen/index.php
+++ b/app/views/studiengaenge/informationen/index.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Studiengaenge_InformationenController $controller
+ * @var Fach[] $studycourses
+ */
+?>
 <table class="default collapsable">
     <colgroup>
         <col style="width: 70%">
diff --git a/app/views/studiengaenge/informationen/showdegree.php b/app/views/studiengaenge/informationen/showdegree.php
index 4dfb8b0e95c..1a0160345fe 100644
--- a/app/views/studiengaenge/informationen/showdegree.php
+++ b/app/views/studiengaenge/informationen/showdegree.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var Studiengaenge_InformationenController $controller
+ * @var Fach $studycourse
+ */
+?>
 <td colspan="3">
     <table class="default">
         <colgroup>
diff --git a/app/views/studiengaenge/informationen/showstudycourse.php b/app/views/studiengaenge/informationen/showstudycourse.php
index 94c886f14c3..3a3f733fe4f 100644
--- a/app/views/studiengaenge/informationen/showstudycourse.php
+++ b/app/views/studiengaenge/informationen/showstudycourse.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Studiengaenge_InformationenController $controller
+ * @var Fach $studycourses
+ * @var Degree $degree
+ */
+?>
 <td colspan="3">
     <table class="default">
         <colgroup>
diff --git a/app/views/studiengaenge/kategorien/index.php b/app/views/studiengaenge/kategorien/index.php
index 769c2872f1b..36d33095b5b 100644
--- a/app/views/studiengaenge/kategorien/index.php
+++ b/app/views/studiengaenge/kategorien/index.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Studiengaenge_KategorienController $controller
+ * @var AbschlussKategorie[] $kategorien
+ * @var string $kategorie_id
+ */
+?>
 <table class="default collapsable">
     <thead>
         <tr class="sortable">
diff --git a/app/views/studiengaenge/stgteilbezeichnungen/details.php b/app/views/studiengaenge/stgteilbezeichnungen/details.php
index 7b49ab7ccc4..c14b6a40bb2 100644
--- a/app/views/studiengaenge/stgteilbezeichnungen/details.php
+++ b/app/views/studiengaenge/stgteilbezeichnungen/details.php
@@ -1,5 +1,14 @@
-<? $languages = Config::get()->CONTENT_LANGUAGES; ?>
-<? $def_lang = reset(array_keys($languages)); ?>
+<?php
+/**
+ * @var Studiengaenge_StgteilbezeichnungenController $controller
+ * @var StgteilBezeichnung $stgteilbezeichnung
+ */
+
+$languages = Config::get()->CONTENT_LANGUAGES;
+$def_lang = array_keys($languages);
+$def_lang = reset($def_lang);
+?>
+
 <td colspan="4">
     <table class="default nohover">
         <tbody>
@@ -64,4 +73,4 @@
             <? endif; ?>
         </tbody>
     </table>
-</td>
\ No newline at end of file
+</td>
diff --git a/app/views/studiengaenge/stgteilbezeichnungen/index.php b/app/views/studiengaenge/stgteilbezeichnungen/index.php
index c9378eee057..31da64ba120 100644
--- a/app/views/studiengaenge/stgteilbezeichnungen/index.php
+++ b/app/views/studiengaenge/stgteilbezeichnungen/index.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Studiengaenge_StgteilbezeichnungenController $controller
+ * @var StgteilBezeichnung[] $stgteilbezeichnungen
+ * @var string $bezeichnung_id
+ */
+?>
+
 <?= $controller->jsUrl() ?>
 <form method="post">
     <?= CSRFProtection::tokenTag() ?>
diff --git a/app/views/studiengaenge/stgteilbezeichnungen/stgteilbezeichnung.php b/app/views/studiengaenge/stgteilbezeichnungen/stgteilbezeichnung.php
index 68a4d81cc0c..d8dccb6b026 100644
--- a/app/views/studiengaenge/stgteilbezeichnungen/stgteilbezeichnung.php
+++ b/app/views/studiengaenge/stgteilbezeichnungen/stgteilbezeichnung.php
@@ -1,5 +1,13 @@
-<? use Studip\Button, Studip\LinkButton; ?>
-<? $perm = MvvPerm::get($stgteilbezeichnung) ?>
+<?php
+/**
+ * @var Studiengaenge_StgteilbezeichnungenController $controller
+ * @var StgteilBezeichnung $stgteilbezeichnung
+ * @var string $bezeichnung_id
+ */
+use Studip\Button, Studip\LinkButton;
+$perm = MvvPerm::get($stgteilbezeichnung)
+?>
+
 <form class="mvv-form default"
       action="<?= $controller->url_for('studiengaenge/stgteilbezeichnungen/store' . ($stgteilbezeichnung->getId() ? '/' . $stgteilbezeichnung->getId() : '')) ?>"
       method="post"<?= Request::isXhr() ? ' data-dialog' : '' ?>>
diff --git a/app/views/studiengaenge/studiengaenge/approve.php b/app/views/studiengaenge/studiengaenge/approve.php
index 6331b00986a..2351b9527ef 100644
--- a/app/views/studiengaenge/studiengaenge/approve.php
+++ b/app/views/studiengaenge/studiengaenge/approve.php
@@ -1,3 +1,12 @@
+<?php
+/**
+ * @var Studiengaenge_StudiengaengeController $controller
+ * @var Studiengang $studiengang
+ * @var string $studiengang_id
+ * @var Institute $institut
+ */
+?>
+
 <form data-dialog="reload-on-close" name="approve" action="<?= $controller->action_link('approve', $studiengang_id) ?>"
       method="post" style="margin-left: auto; margin-right: auto;">
     <?= $this->render_partial('shared/studiengang/_studiengang', ['studiengang' => $studiengang, 'institut' => $institut]); ?>
@@ -32,4 +41,4 @@
         <?= Studip\Button::createAccept(_('Genehmigen'), 'approval', []) ?>
         <?= Studip\Button::createCancel(_('Abbrechen'), ['data-dialog' => 'close']) ?>
     </footer>
-</form>
\ No newline at end of file
+</form>
diff --git a/app/views/studiengaenge/studiengaenge/aufbaustg_edit.php b/app/views/studiengaenge/studiengaenge/aufbaustg_edit.php
index 0d430f6d2f4..1800a8bac84 100644
--- a/app/views/studiengaenge/studiengaenge/aufbaustg_edit.php
+++ b/app/views/studiengaenge/studiengaenge/aufbaustg_edit.php
@@ -1,4 +1,11 @@
-<? $perm = MvvPerm::get($aufbaustg); ?>
+<?php
+/**
+ * @var Studiengaenge_StudiengaengeController $controller
+ * @var Aufbaustudiengang $aufbaustg
+ */
+$perm = MvvPerm::get($aufbaustg);
+?>
+
 <form data-dialog action="<?= $controller->url_for('studiengaenge/studiengaenge/aufbaustg_store') ?>" class="default" id="mvv-aufbaustg-new" method="post">
     <input type="hidden" name="aufbaustg_id" value="<?= $aufbaustg->id ?>">
     <label>
diff --git a/app/views/studiengaenge/studiengaenge/aufbaustg_edit__.php b/app/views/studiengaenge/studiengaenge/aufbaustg_edit__.php
index 36dcb01681f..e80e54be2fd 100644
--- a/app/views/studiengaenge/studiengaenge/aufbaustg_edit__.php
+++ b/app/views/studiengaenge/studiengaenge/aufbaustg_edit__.php
@@ -1,6 +1,12 @@
-<? $perm = MvvPerm::get($aufbau_stg); ?>
+<?php
+/**
+ * @var Studiengaenge_StudiengaengeController $controller
+ * @var Aufbaustudiengang $aufbaustg
+ */
+$perm = MvvPerm::get($aufbaustg);
+?>
 <form data-dialog action="<?= $controller->url_for('studiengaenge/studiengaenge/aufbaustg_store') ?>" class="default" id="mvv-aufbaustg-new" method="post">
-    <input type="hidden" name="aufbaustg_id" value="<? $aufbaustg->id ?>">
+    <input type="hidden" name="aufbaustg_id" value="<?= htmlReady($aufbaustg->id) ?>">
     <label for="mvv-aufbaustg-select">
         <?= _('Studiengang') ?>
     </label>
diff --git a/app/views/studiengaenge/studiengaenge/aufbaustg_info.php b/app/views/studiengaenge/studiengaenge/aufbaustg_info.php
index e30c0857630..c59c419f75a 100644
--- a/app/views/studiengaenge/studiengaenge/aufbaustg_info.php
+++ b/app/views/studiengaenge/studiengaenge/aufbaustg_info.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var Aufbaustudiengang $aufbaustg
+ */
+?>
 <article class="studip">
     <header>
         <h1>
@@ -7,4 +12,4 @@
     <section>
         <?= formatReady($aufbaustg->kommentar) ?>
     </section>
-</article>
\ No newline at end of file
+</article>
diff --git a/app/views/studiengaenge/studiengaenge/aufbaustg_select.php b/app/views/studiengaenge/studiengaenge/aufbaustg_select.php
index 199baf358ed..7308fb7912f 100644
--- a/app/views/studiengaenge/studiengaenge/aufbaustg_select.php
+++ b/app/views/studiengaenge/studiengaenge/aufbaustg_select.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Studiengaenge_StudiengaengeController $controller
+ * @var Studiengang $grundstg
+ * @var Studiengang[] $aufbaustgs
+ * @var array $aufbaustg_assigmnents
+ */
+?>
 <form data-dialog action="<?= $controller->url_for('studiengaenge/studiengaenge/aufbaustg_assign') ?>" class="default" id="mvv-aufbaustg-new" method="post">
     <input type="hidden" name="grundstg_id" value="<?= htmlReady($grundstg->id) ?>">
 
diff --git a/app/views/studiengaenge/studiengaenge/aufbaustg_table.php b/app/views/studiengaenge/studiengaenge/aufbaustg_table.php
index 09fa8eb1aed..d84265c3047 100644
--- a/app/views/studiengaenge/studiengaenge/aufbaustg_table.php
+++ b/app/views/studiengaenge/studiengaenge/aufbaustg_table.php
@@ -1,4 +1,10 @@
-<? $perm = MvvPerm::get($grund_stg) ?>
+<?php
+/**
+ * @var Studiengaenge_StudiengaengeController $controller
+ * @var Studiengang $grundstg
+ */
+$perm = MvvPerm::get($grund_stg);
+?>
 <div id="mvv-aufbaustg-table">
     <table class="default sortable-table" data-sortlist="[[0, 1]]">
         <colgroup>
diff --git a/app/views/studiengaenge/studiengaenge/export.php b/app/views/studiengaenge/studiengaenge/export.php
index 72ed610d931..4afba6a7ada 100644
--- a/app/views/studiengaenge/studiengaenge/export.php
+++ b/app/views/studiengaenge/studiengaenge/export.php
@@ -1,3 +1,8 @@
+<?php
+/**
+ * @var Studiengang $studiengang
+ */
+?>
 <html lang="de" xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'>
     <head>
        <meta charset="UTF-8">
diff --git a/app/views/studiengaenge/studiengaenge/index.php b/app/views/studiengaenge/studiengaenge/index.php
index f144269f226..26249d008a6 100644
--- a/app/views/studiengaenge/studiengaenge/index.php
+++ b/app/views/studiengaenge/studiengaenge/index.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Studiengaenge_StudiengaengeController $controller
+ * @var int $count
+ * @var int $page
+ * @var string $msg
+ */
+?>
 <?= $controller->jsUrl() ?>
 <table class="default collapsable">
     <caption>
@@ -31,7 +39,8 @@
                         $pagination->set_attribute('perPage', MVVController::$items_per_page);
                         $pagination->set_attribute('num_postings', $count);
                         $pagination->set_attribute('page', $page);
-                        $page_link = reset(explode('?', $controller->action_url('index'))) . '?page_studiengaenge=%s';
+                        $parts = explode('?', $controller->action_url('index'));
+                        $page_link = reset($parts) . '?page_studiengaenge=%s';
                         $pagination->set_attribute('pagelink', $page_link);
                         echo $pagination->render('shared/pagechooser');
                         ?>
diff --git a/app/views/studiengaenge/studiengaenge/stgteil_bezeichnungen.php b/app/views/studiengaenge/studiengaenge/stgteil_bezeichnungen.php
index 8a1b6a81eb4..cd4cd772c4a 100644
--- a/app/views/studiengaenge/studiengaenge/stgteil_bezeichnungen.php
+++ b/app/views/studiengaenge/studiengaenge/stgteil_bezeichnungen.php
@@ -1,3 +1,12 @@
+<?php
+/**
+ * @var Studiengaenge_StudiengaengeController $controller
+ * @var Studiengang $studiengang
+ * @var string $stg_stgbez_id
+ * @var QuickSearch $search_stgteil
+ * @var string $qs_search_stgteil_id
+ */
+?>
 <td colspan="5">
     <table class="default collapsable">
         <colgroup>
diff --git a/app/views/studiengaenge/studiengaenge/studiengaenge.php b/app/views/studiengaenge/studiengaenge/studiengaenge.php
index 6932aef668b..57021c17b87 100644
--- a/app/views/studiengaenge/studiengaenge/studiengaenge.php
+++ b/app/views/studiengaenge/studiengaenge/studiengaenge.php
@@ -1,3 +1,17 @@
+<?php
+/**
+ * @var Studiengaenge_StudiengaengeController $controller
+ * @var Studiengang[] $studiengaenge
+ * @var string $studiengang_id
+ * @var StgteilBezeichnung $bez_stgteile
+ * @var StudiengangTeil[] $stgteile
+ * @var string $stg_stgbez_id
+ * @var string $stg_stgbez_id
+ * @var QuickSearch $search_stgteil
+ * @var QuickSearch $search
+ */
+?>
+
 <? foreach ($studiengaenge as $studiengang) : ?>
     <? $perm = new MvvPerm($studiengang) ?>
     <tbody class="<?= ($studiengang_id === $studiengang->id ? 'not-collapsed' : 'collapsed') ?>">
diff --git a/app/views/studiengaenge/studiengaenge/studiengang.php b/app/views/studiengaenge/studiengaenge/studiengang.php
index 01044cf3a05..29a6f2b78c3 100644
--- a/app/views/studiengaenge/studiengaenge/studiengang.php
+++ b/app/views/studiengaenge/studiengaenge/studiengang.php
@@ -1,4 +1,20 @@
-<? use Studip\Button, Studip\LinkButton; ?>
+<?php
+/**
+ * @var Studiengaenge_StudiengaengeController $controller
+ * @var Studiengang $studiengang
+ * @var QuickSearch $search
+ * @var QuickSearch $search_institutes
+ * @var Abschluss[] $abschluesse
+ * @var Semester[] $semester
+ * @var string $search_institutes_id
+ * @var Institute $institut
+ * @var string $plugin_hook_content
+ * @var string $cancel_url
+ * @var MvvContactRange[] $contacts
+ */
+use Studip\Button, Studip\LinkButton;
+?>
+
 <?= $controller->jsUrl() ?>
 <? $perm = MvvPerm::get($studiengang) ?>
 <form class="default" action="<?= $controller->action_link('studiengang', $studiengang->id) ?>" method="post">
diff --git a/app/views/studiengaenge/studiengaenge/studiengangteile.php b/app/views/studiengaenge/studiengaenge/studiengangteile.php
index 58a11e3567f..5815b2fd7cf 100644
--- a/app/views/studiengaenge/studiengaenge/studiengangteile.php
+++ b/app/views/studiengaenge/studiengaenge/studiengangteile.php
@@ -1,3 +1,14 @@
+<?php
+/**
+ * @var Studiengaenge_StudiengaengeController $controller
+ * @var string $stg_stgbez_id
+ * @var Studiengang $studiengang
+ * @var StudiengangTeil[] $stgteile
+ * @var StgteilBezeichnung $stg_bez
+ * @var QuickSearch $search
+ * @var string $qs_search_id
+ */
+?>
 <td colspan="5">
     <table id="stgteilbez_<?= $stg_stgbez_id ?>" class="default sortable">
         <colgroup>
@@ -84,4 +95,3 @@
         <? endif; ?>
     </table>
 </td>
-
diff --git a/app/views/studiengaenge/studiengangteile/approve.php b/app/views/studiengaenge/studiengangteile/approve.php
index 1b1afdf0e27..8bade838871 100644
--- a/app/views/studiengaenge/studiengangteile/approve.php
+++ b/app/views/studiengaenge/studiengangteile/approve.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Studiengaenge_StudiengangteileController $controller
+ * @var string $stgteil_id
+ * @var string $version_id
+ * @var StudiengangTeil $version
+ */
+?>
 <form name="approve"
       action="<?= $controller->url_for('studiengaenge/studiengangteile/approve/' . $stgteil_id . '/' . $version_id) ?>"
       method="post" style="margin-left: auto; margin-right: auto;">
@@ -7,4 +15,4 @@
         <?= Studip\Button::createAccept(_('Genehmigen'), 'approval') ?>
         <?= Studip\Button::createCancel(_('Abbrechen'), ['data-dialog' => 'close']) ?>
     </div>
-</form>
\ No newline at end of file
+</form>
diff --git a/app/views/studiengaenge/studiengangteile/details_grouped.php b/app/views/studiengaenge/studiengangteile/details_grouped.php
index 19830150e85..499e1b2d8df 100644
--- a/app/views/studiengaenge/studiengangteile/details_grouped.php
+++ b/app/views/studiengaenge/studiengangteile/details_grouped.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Studiengaenge_StudiengangteileController $controller
+ * @var StudiengangTeil[] $stgteile
+ * @var Icon $ampel_icon
+ * @var string $ampelstatus
+ */
+?>
 <td colspan="3">
     <table class="default">
         <tbody>
@@ -5,7 +13,7 @@
                 <tr>
                     <td>
                         <? if ($ampel_icon) : ?>
-                            <?= $ampel_icon->asImg(['title' => $ampelstatus, 'style' => 'vertical-align: text-top;']) ?>
+                            <?= $ampel_icon->asImg(['title' => htmlReady($ampelstatus), 'style' => 'vertical-align: text-top;']) ?>
                         <? endif; ?>
                         <?= htmlReady($stgteil->getDisplayName()) ?>
                     </td>
diff --git a/app/views/studiengaenge/studiengangteile/index.php b/app/views/studiengaenge/studiengangteile/index.php
index 8deede03f93..6778c7b320c 100644
--- a/app/views/studiengaenge/studiengangteile/index.php
+++ b/app/views/studiengaenge/studiengangteile/index.php
@@ -1,3 +1,12 @@
+<?php
+/**
+ * @var Studiengaenge_StudiengangteileController $controller
+ * @var StudiengangTeil[] $stgteile
+ * @var int $count
+ * @var int $page
+ * @var string $stgteil_id
+ */
+?>
 <?= $controller->jsUrl() ?>
 <form method="post">
     <?= CSRFProtection::tokenTag() ?>
@@ -88,7 +97,8 @@
                     <tr>
                         <td colspan="5" style="text-align: right;">
                             <?
-                            $page_link = reset(explode('?', $controller->action_url('index'))) . '?page_studiengangteile=%s';
+                            $parts = explode('?', $controller->action_url('index'));
+                            $page_link = reset($parts) . '?page_studiengangteile=%s';
 
                             $pagination = $GLOBALS['template_factory']->open('shared/pagechooser');
                             $pagination->clear_attributes();
diff --git a/app/views/studiengaenge/studiengangteile/stgteil.php b/app/views/studiengaenge/studiengangteile/stgteil.php
index 100fda95cab..a56d0310b2a 100644
--- a/app/views/studiengaenge/studiengangteile/stgteil.php
+++ b/app/views/studiengaenge/studiengangteile/stgteil.php
@@ -1,4 +1,16 @@
-<? use Studip\Button, Studip\LinkButton; ?>
+<?php
+/**
+ * @var Studiengaenge_StudiengangteileController $controller
+ * @var StudiengangTeil $stgteil
+ * @var Fachbereich $fachbereich
+ * @var Fach[] $faecher
+ * @var QuickSearch $search_fach
+ * @var string $search_fach_id
+ * @var MvvContactRange[] $contacts
+ * @var string $cancel_url
+ */
+use Studip\Button, Studip\LinkButton;
+?>
 <?= $controller->jsUrl() ?>
 <? $perm = MvvPerm::get($stgteil) ?>
 
diff --git a/app/views/studiengaenge/versionen/abschnitt.php b/app/views/studiengaenge/versionen/abschnitt.php
index 21543058793..41132f62707 100644
--- a/app/views/studiengaenge/versionen/abschnitt.php
+++ b/app/views/studiengaenge/versionen/abschnitt.php
@@ -1,5 +1,13 @@
-<? use Studip\Button, Studip\LinkButton; ?>
-<? $perm = MvvPerm::get($abschnitt) ?>
+<?php
+/**
+ * @var Studiengaenge_VersionenController $controller
+ * @var StgteilAbschnitt $abschnitt
+ * @var string $cancel_url
+ */
+
+use Studip\Button, Studip\LinkButton;
+$perm = MvvPerm::get($abschnitt)
+?>
 
 <form class="default" action="<?= $controller->action_link('abschnitt/' . $abschnitt->id) ?>" method="post">
     <?= CSRFProtection::tokenTag() ?>
diff --git a/app/views/studiengaenge/versionen/abschnitte.php b/app/views/studiengaenge/versionen/abschnitte.php
index 34ce8c66ffa..2034bffc6e6 100644
--- a/app/views/studiengaenge/versionen/abschnitte.php
+++ b/app/views/studiengaenge/versionen/abschnitte.php
@@ -1,3 +1,13 @@
+<?php
+/**
+ * @var Studiengaenge_VersionenController $controller
+ * @var StgteilAbschnitt[] $abschnitte
+ * @var StgteilVersion $version
+ * @var string $abschnitt_id
+ * @var string $qs_search_modul_version_id
+ * @var QuickSearch $search_modul_version
+ */
+?>
 <td colspan="3">
     <table id="abschnitte_<?= $version->id ?>" class="default collapsable sortable">
         <colgroup>
diff --git a/app/views/studiengaenge/versionen/approve.php b/app/views/studiengaenge/versionen/approve.php
index 840ed47f6d9..d019d3a4655 100644
--- a/app/views/studiengaenge/versionen/approve.php
+++ b/app/views/studiengaenge/versionen/approve.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Studiengaenge_VersionenController $controller
+ * @var StgteilVersion $version
+ * @var string $version_id
+ */
+?>
 <form name="approve" action="<?= $controller->action_link('approve/' . $version_id) ?>" method="post"
       style="margin-left: auto; margin-right: auto;">
     <? echo $this->render_partial('shared/studiengang/_stgteilversion', ['version' => $version]); ?>
@@ -7,4 +14,4 @@
         <?= Studip\ Button::createAccept(_('Genehmigen'), 'approval', []) ?>
         <?= Studip\LinkButton::createCancel(_('Abbrechen')) ?>
     </div>
-</form>
\ No newline at end of file
+</form>
diff --git a/app/views/studiengaenge/versionen/details_abschnitt.php b/app/views/studiengaenge/versionen/details_abschnitt.php
index e368d69c404..295b1399ead 100644
--- a/app/views/studiengaenge/versionen/details_abschnitt.php
+++ b/app/views/studiengaenge/versionen/details_abschnitt.php
@@ -1,3 +1,14 @@
+<?php
+/**
+ * @var Studiengaenge_VersionenController $controller
+ * @var StgteilAbschnitt $abschnitt
+ * @var StgteilVersion $version
+ * @var string $modul_id
+ * @var string $qs_search_modul_abschnitt_id
+ * @var StgteilabschnittModul[] $assignments
+ * @var QuickSearch $search_modul_abschnitt
+ */
+?>
 <td colspan="2">
     <form method="post">
         <?= CSRFProtection::tokenTag(); ?>
diff --git a/app/views/studiengaenge/versionen/diff.php b/app/views/studiengaenge/versionen/diff.php
index 8daa2678520..045a652585c 100644
--- a/app/views/studiengaenge/versionen/diff.php
+++ b/app/views/studiengaenge/versionen/diff.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var StgteilVersion $old_version
+ * @var StgteilVersion $new_version
+ */
+?>
 <style>
     del.diffmod {
         color: red;
diff --git a/app/views/studiengaenge/versionen/diff_select.php b/app/views/studiengaenge/versionen/diff_select.php
index c1819f393a1..8fcbd29e46f 100644
--- a/app/views/studiengaenge/versionen/diff_select.php
+++ b/app/views/studiengaenge/versionen/diff_select.php
@@ -1,3 +1,11 @@
+<?php
+/**
+ * @var Studiengaenge_VersionenController $controller
+ * @var StgteilVersion $version
+ * @var QuickSearch $search_version
+ * @var string $qs_id_version
+ */
+?>
 <h1><?= htmlReady($version->getDisplayName()) ?></h1>
 <div>
     <h4><?= _('Vergleich mit folgender Version:') ?></h4>
diff --git a/app/views/studiengaenge/versionen/export.php b/app/views/studiengaenge/versionen/export.php
index 2b0ac5b2578..4468a467607 100644
--- a/app/views/studiengaenge/versionen/export.php
+++ b/app/views/studiengaenge/versionen/export.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * @var StgteilVersion $stgversion
+ */
+?>
+
 <html lang="de" xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'>
     <head>
        <meta charset="UTF-8">
@@ -53,4 +59,4 @@
         ?>
         </div>
     </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/app/views/studiengaenge/versionen/index.php b/app/views/studiengaenge/versionen/index.php
index f41d43c9b2c..7e382256c01 100644
--- a/app/views/studiengaenge/versionen/index.php
+++ b/app/views/studiengaenge/versionen/index.php
@@ -1,4 +1,12 @@
-    <? $count = isset($versionen) ? count($versionen) : 0; ?>
+<?php
+/**
+ * @var Studiengaenge_VersionenController $controller
+ * @var StudiengangStgteil $stgteil
+ * @var StgteilVersion[] $versionen
+ * @var int $page
+ */
+?>
+<? $count = isset($versionen) ? count($versionen) : 0; ?>
 <div class="mvv-version-content">
     <table class="default collapsable">
         <thead>
diff --git a/app/views/studiengaenge/versionen/modul_zuordnung.php b/app/views/studiengaenge/versionen/modul_zuordnung.php
index 59a1194a3ff..c2ea20b3033 100644
--- a/app/views/studiengaenge/versionen/modul_zuordnung.php
+++ b/app/views/studiengaenge/versionen/modul_zuordnung.php
@@ -1,4 +1,10 @@
-<? use Studip\Button, Studip\LinkButton; ?>
+<?php
+/**
+ * @var Studiengaenge_VersionenController $controller
+ * @var StgteilabschnittModul $zuordnung
+ */
+use Studip\Button, Studip\LinkButton;
+?>
 <? $perm = new MvvPerm($zuordnung) ?>
 <form class="default" action="<?= $controller->action_link('modul_zuordnung/' . $zuordnung->id) ?>" method="post">
     <?= CSRFProtection::tokenTag() ?>
diff --git a/app/views/studiengaenge/versionen/modulteil_semester.php b/app/views/studiengaenge/versionen/modulteil_semester.php
index 7d64ed1954f..86648f517dc 100644
--- a/app/views/studiengaenge/versionen/modulteil_semester.php
+++ b/app/views/studiengaenge/versionen/modulteil_semester.php
@@ -1,5 +1,12 @@
-<? use Studip\Button, Studip\LinkButton; ?>
-<? $perm_abschnitt = MvvPerm::getFieldPermModulteil_abschnitte($abschnitt_modul->abschnitt); ?>
+<?php
+/**
+ * @var Studiengaenge_VersionenController $controller
+ * @var StgteilabschnittModul $abschnitt_modul
+ */
+use Studip\Button, Studip\LinkButton;
+$perm_abschnitt = MvvPerm::getFieldPermModulteil_abschnitte($abschnitt_modul->abschnitt);
+?>
+
 <h3>
     <?= _('Zuordnung der Modulteile zu Fachsemestern') ?>
 </h3>
diff --git a/app/views/studiengaenge/versionen/modulteile.php b/app/views/studiengaenge/versionen/modulteile.php
index 211e0512cae..86b2c375d9c 100644
--- a/app/views/studiengaenge/versionen/modulteile.php
+++ b/app/views/studiengaenge/versionen/modulteile.php
@@ -1,3 +1,10 @@
+<?php
+/**
+ * @var Studiengaenge_VersionenController $controller
+ * @var Modul $modul
+ * @var StgteilabschnittModul $assignment
+ */
+?>
 <td colspan="2">
     <table id="modulteile_<?= $modul->id ?>" class="default">
         <colgroup>
@@ -20,4 +27,4 @@
         </tbody>
         <? endforeach; ?>
     </table>
-</td>
\ No newline at end of file
+</td>
diff --git a/app/views/studiengaenge/versionen/version.php b/app/views/studiengaenge/versionen/version.php
index 4cb0d74549e..dcd8608993a 100644
--- a/app/views/studiengaenge/versionen/version.php
+++ b/app/views/studiengaenge/versionen/version.php
@@ -1,6 +1,17 @@
-<? use Studip\Button, Studip\LinkButton; ?>
+<?php
+/**
+ * @var Studiengaenge_VersionenController $controller
+ * @var StgteilVersion $version
+ * @var StudiengangTeil $stgteil
+ * @var Semester[] $semester
+ * @var string $cancel_url
+ */
+
+use Studip\Button, Studip\LinkButton;
+$perm = MvvPerm::get($version)
+?>
+
 <?= $controller->jsUrl() ?>
-<? $perm = MvvPerm::get($version) ?>
 
 <form class="default" action="<?= $controller->action_link('version', $stgteil->id, $version->id) ?>" method="post">
     <?= CSRFProtection::tokenTag() ?>
diff --git a/lib/classes/I18N.php b/lib/classes/I18N.php
index e6f7c0075df..99a48b01183 100644
--- a/lib/classes/I18N.php
+++ b/lib/classes/I18N.php
@@ -19,7 +19,7 @@ class I18N
      * @param string $name HTML name of the Inputfild
      * @param I18NString $value (Needs to be an i18n input string)
      * @param array $attributes Additional attributes of the input
-     * @return string Crafted input
+     * @return I18N Crafted input
      */
     public static function input($name, $value, array $attributes = [])
     {
@@ -33,7 +33,7 @@ class I18N
      * @param string $name HTML name of the Textarea
      * @param I18NString $value (Needs to be an i18n input string)
      * @param array $attributes Additional attributes of the input
-     * @return string Crafted textarea
+     * @return I18N Crafted textarea
      */
     public static function textarea($name, $value, array $attributes = [])
     {
@@ -63,7 +63,7 @@ class I18N
      * @param string|Flexi_Template $template   Template to use
      * @param string                $name       Name of the element
      * @param string|I18NString     $value      Value of the element
-     * @param array_merge           $attributes Additional variables for the
+     * @param array           $attributes Additional variables for the
      *                                          element
      */
     final protected function __construct($template, $name, $value, array $attributes)
-- 
GitLab