diff --git a/app/views/online/index.php b/app/views/online/index.php
index 0c1dd810d7c6f2e09b85ab88c890437329bef5de..10052bbdc71886bc3351dbdb94181cbb113e5d9f 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 7f2b0e200d6c395fcab9ba00ece505534c9b3542..99a8e1d4553b7758c36dfa0eb2d3bd13b938998a 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 3382b990fff7282108d6273cc6910ceb8afb4417..9ca20bcc1e4e3a46ef149d3e7984c0c684847f67 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 968c86bae791ab12d8f4a577671d8683b5da3549..46fa71c5c650536c9d28d6a1a54f8fe207a97635 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 10ef79963a3c0f82697f8cf18842a4d3e029d3b1..17477d2db924583f7d6dacb27477e907a1b7cb10 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 ccbd4af5308c10372be94c66e07257af3dd857dc..e55899c086877e3fd60d8faee9915cec08a5a7bf 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 8f25f4b9d3b4e93cc8f093d14e6197d8a5557946..af8aa98f3ae7c82e7d20cb96436ed13ba041cd4b 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 55c55bebd452a2f812dd698450f43e7068babdcf..d20802615c0af47af38e6dca8d5d4fef85b0e17a 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 7ffa38e9b3838b130aec60a8bbeaafea34bd95f9..52ee07c39be18fb4c3e14d3b8e3c59b05f48b5a3 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 7cb68f0a4ec9ea2bd9642c23d118dc8de6febaa7..5b981433b8bc449199ca0f53088f928bbab05780 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 841ed1bbfc1f9ff8d02844e3a6b13fe7a6c72e32..7c32ae58032a56bcded896f58f7da56b279d19b7 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 f11ad6a4849e748f101d863f93696afff4a8c952..f123e0ef86de4c0c4580bb360e760ae3ac3d4f5b 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 b66697edfc6a3c419ec408d388dac38a1f8646dd..54c73c7922a1cd878dc3399aecfe969bcc42a03f 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 24f44298d0ed908f94a8934c17cf25ecb75ccbb9..bdd741fbb690b536c16b98d384f8402c48eb2243 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 d9540bcd0b77012b2c69410e4283122c18a1337d..1b3f325da2c05c859c6f831625686a384326c0d2 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 68d53367039c4ef55a48d1528151097799dd4dd4..60d913f529d10ac935763e0244c4c30dbfa38bb1 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 ada88c7c05bd33d4acde9f87b642ccb431dacc44..2b3ab5db42327f977ba3ccc3b7d4e2dbe5f9067e 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 4dfb8b0e95c58b6a2ccbfde6a6429d2a5d120ca7..1a0160345fe7f02fccccb22bbcf3d6c89b4e0c33 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 94c886f14c3b6f0f9be28621d209fe2d3bafacda..3a3f733fe4fb7ad42f596ced627bab4d2ef86b01 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 769c2872f1bf8df62e3f2dcb404dec54c725661b..36d33095b5b0a0bbf2e8d5091224e3e242127aed 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 7b49ab7ccc41a71eb48510b2c281c1ae0a091857..c14b6a40bb2fef8391ebe6497eff24888b79c2a1 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 c9378eee0573c637a220e8418813d45e93c13a6b..31da64ba1206897a25845febe1fad8f583e14a39 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 68a4d81cc0c53154b12aff853ba9fe46c0337d34..d8dccb6b02637a8b6ad31b67466c04a9def41036 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 6331b00986ab990aa89cf768e2b778642a100cda..2351b9527ef5cf8d4e94623c0e95eb21f0569afa 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 0d430f6d2f442d5eb9fffa9061f3a9af5122615a..1800a8bac84ff54da5ceca3963da22deba77247a 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 36dcb01681f193381451b0c82e43e4f1d325b80d..e80e54be2fda92377ccc1c09ce8b53e0b5c63b8f 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 e30c0857630dab43bc590623f290d8a136606f58..c59c419f75a078206df7b356cbf4757e925f06eb 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 199baf358ed6f5a1f7b3d364723eeb74cce0b7f6..7308fb7912fd182eb1d56099d72c0f056b70f206 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 09fa8eb1aed6f22cf60c5b1a4230a67c018bccee..d84265c3047e28ba4ebb72d342a3a9a047eff563 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 72ed610d931f8dde4141f015878af7091f9feac1..4afba6a7adad16f6e8087115a9d38095dd78a3d0 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 f144269f226d76cdd2d283aef27bdae1c38613d0..26249d008a68c754275970caed854417851cae13 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 8a1b6a81eb450bb6391ddabd622f620bc6ae0670..cd4cd772c4a37d929a6e9aa03f72dc46af67d974 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 6932aef668b706e6d5468fb7e4e8e74b4597a273..57021c17b876dbb5141266cda877f2e10a2c691e 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 01044cf3a052694182d5a00e6e02aedfdfe6f7f2..29a6f2b78c33c48a78f70feff49fb6aeebff133c 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 58a11e3567f33cc373aa38caecfdd071647d9ec1..5815b2fd7cf3fc17f180759ce28c7c1970983061 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 1b1afdf0e276a463f6bbd32976a160767c28486f..8bade838871e0bfdf689896d4cd6b5e75355baa2 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 19830150e859de1e957a206bf8283aed4d138dc8..499e1b2d8dfdfde01c8b10c6b74b2836031d1665 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 8deede03f937a4b76168b0075fe821aa32056ae3..6778c7b320c35cd75477e15a4f6e9583515ca217 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 100fda95caba61110cf409cf2b8f07cbe519b413..a56d0310b2adeb929655342724f6589173b8424a 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 21543058793ed492d697db271055e8b747783375..41132f627074a97136447cc214bd2eab3ed14d92 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 34ce8c66ffa5d49c385a5694a7ffb1bfbe7f28ac..2034bffc6e670889b7ae59678718695b3c9eda13 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 840ed47f6d9307657aa616f2291aad757afbe046..d019d3a465581a4c1218dbb0c82656d6b2e17db4 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 e368d69c404ecbcbfd85f8ef55708056833f7f1f..295b1399eadd730b2f29e4a8e989bf7550ffd817 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 8daa267852043361dc17fccd6602a09a3d2d2961..045a652585cbfd22a75bd3cfe1cefa11be7daa65 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 c1819f393a1ea3c0dda22e98983dcc4b4e9e1d83..8fcbd29e46f5e80fc31d64dbbabf8098940040b3 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 2b0ac5b257850b5209166dbefb20e663caf7438a..4468a467607dc5c4699a77acc615cd046de26838 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 f41d43c9b2c0cf656e0a3b93e19def54b08b6ed5..7e382256c01acba67df9eafc44a6eddb6761cd34 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 59a1194a3ffa94c3ed6d106f0f0ab5915370cef9..c2ea20b3033240d53f24deba01d8084467389a63 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 7d64ed1954fdf64ad27adf6fcc49f76c987b8332..86648f517dc7274401895bece1a960aebf152c3b 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 211e0512cae6ae195f00e5928ca4745202cb9a67..86b2c375d9c5114d6326a00b972643ee39151af9 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 4cb0d74549ed4c02b8a25177dcd4c978e05fe054..dcd8608993af3ada0c7bdd3407d1787b3c7cebca 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 e6f7c0075df1347057e54b7f8408d95a83666b60..99a48b01183300bd913bcfd5e93d29c917826ff4 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)