From ab835716d0be03463dba0b585b2c751160f7e7c0 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Fri, 9 Feb 2024 10:44:37 +0000 Subject: [PATCH] prevent php8 warnings, fixes #3732 Closes #3732 Merge request studip/studip!2594 --- app/controllers/module/download.php | 6 ++--- app/controllers/module/module.php | 2 -- app/controllers/search/studiengaenge.php | 2 +- app/controllers/shared/modul.php | 21 ++++++++------- app/views/search/studiengaenge/info.php | 2 +- app/views/search/studiengaenge/mehrfach.php | 22 ++++++++-------- app/views/search/studiengaenge/verlauf.php | 26 ++++++++++++++----- app/views/shared/modul/_modul.php | 6 ++--- app/views/shared/modul/_modullv.php | 4 +-- app/views/shared/modul/_modullvs.php | 2 +- app/views/shared/modul/_pruefungen.php | 4 +-- .../exportdocument/ExportPDF.class.php | 4 +-- 12 files changed, 57 insertions(+), 44 deletions(-) diff --git a/app/controllers/module/download.php b/app/controllers/module/download.php index 8718ed179ec..be527d5747e 100644 --- a/app/controllers/module/download.php +++ b/app/controllers/module/download.php @@ -82,7 +82,7 @@ class Module_DownloadController extends MVVController foreach ($modul->modulteile as $modulTeil) { $deskriptor = $modulTeil->getDeskriptor($language); - $num_bezeichnung = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['values'][$modulTeil->num_bezeichnung]['name']; + $num_bezeichnung = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['values'][$modulTeil->num_bezeichnung]['name'] ?? ''; $name_kurz = sprintf('%s %d', $num_bezeichnung, $modulTeil->nummer); $modulTeilData[$modulTeil->id] = [ @@ -97,7 +97,7 @@ class Module_DownloadController extends MVVController 'wl_bereitung' => $modulTeil->wl_bereitung, 'wl_selbst' => $modulTeil->wl_selbst, 'wl_pruef' => $modulTeil->wl_pruef, - 'turnus' => $GLOBALS['MVV_NAME_SEMESTER']['values'][$modulTeil->semester]['name'], + 'turnus' => $GLOBALS['MVV_NAME_SEMESTER']['values'][$modulTeil->semester]['name'] ?? '', 'kommentar_wl_preasenz' => $deskriptor->kommentar_wl_praesenz, 'kommentar_wl_bereitung' => $deskriptor->kommentar_wl_bereitung, 'kommentar_wl_selbst' => $deskriptor->kommentar_wl_selbst, @@ -133,7 +133,7 @@ class Module_DownloadController extends MVVController )); $this->semesterSelector = Semester::GetSemesterSelector(null, $currentSemester->getId(), 'semester_id', false); $this->modul = $modul; - $this->pruefungsEbene = $GLOBALS['MVV_MODUL']['PRUEF_EBENE']['values'][$modul->pruef_ebene]['name']; + $this->pruefungsEbene = $GLOBALS['MVV_MODUL']['PRUEF_EBENE']['values'][$modul->pruef_ebene]['name'] ?? null; $this->modulDeskriptor = $modul->getDeskriptor($language); $this->startSemester = Semester::find($modul->start); if ($modul->responsible_institute->institute) { diff --git a/app/controllers/module/module.php b/app/controllers/module/module.php index 852e9d97666..2f6ba4cc5f1 100644 --- a/app/controllers/module/module.php +++ b/app/controllers/module/module.php @@ -5,8 +5,6 @@ * @since 3.5 */ -require_once 'lib/classes/exportdocument/ExportPDF.class.php'; - class Module_ModuleController extends MVVController { public $filter = []; diff --git a/app/controllers/search/studiengaenge.php b/app/controllers/search/studiengaenge.php index ab4d4de3a77..a075ce9e1b5 100644 --- a/app/controllers/search/studiengaenge.php +++ b/app/controllers/search/studiengaenge.php @@ -402,7 +402,7 @@ class Search_StudiengaengeController extends MVVController [ 'name' => $file->getDisplayName(), 'url' => $mvv_file_ref->file_ref->getDownloadURL(), - 'metadata_url' => $mvv_file_ref->file_ref->file->metadata['url'], + 'metadata_url' => $mvv_file_ref->file_ref->file->metadata['url'] ?? null, 'extension' => $mvv_file_ref->file_ref->file->getExtension(), 'is_link' => ($filetype instanceof URLFile) ]; diff --git a/app/controllers/shared/modul.php b/app/controllers/shared/modul.php index 0c3a39bdc79..d1a6ecfb216 100644 --- a/app/controllers/shared/modul.php +++ b/app/controllers/shared/modul.php @@ -63,7 +63,7 @@ class Shared_ModulController extends AuthenticatedController $sws += (int) $modulTeil->sws; - $num_bezeichnung = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['values'][$modulTeil->num_bezeichnung]['name']; + $num_bezeichnung = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['values'][$modulTeil->num_bezeichnung]['name'] ?? ''; $name_kurz = sprintf('%s %d', $num_bezeichnung, $modulTeil->nummer); @@ -94,7 +94,7 @@ class Shared_ModulController extends AuthenticatedController $this->semester = $currentSemester; $this->sws = $sws; - $this->pruef_ebene = $GLOBALS['MVV_MODUL']['PRUEF_EBENE']['values'][$modul->pruef_ebene]['name']; + $this->pruef_ebene = $GLOBALS['MVV_MODUL']['PRUEF_EBENE']['values'][$modul->pruef_ebene]['name'] ?? null; $this->modul = $modul; $this->type = $type; $this->self_url = $this->url_for('modul/show/' . $modul_id); @@ -133,15 +133,18 @@ class Shared_ModulController extends AuthenticatedController $this->semesterSelector = Semester::getSemesterSelector(null, $currentSemester['semester_id'], 'semester_id', false); $this->modul = $modul; - $this->pruefungsEbene = $GLOBALS['MVV_MODUL']['PRUEF_EBENE']['values'][$modul->pruef_ebene]['name']; + $this->pruefungsEbene = isset($GLOBALS['MVV_MODUL']['PRUEF_EBENE']['values'][$modul->pruef_ebene]) + ? $GLOBALS['MVV_MODUL']['PRUEF_EBENE']['values'][$modul->pruef_ebene]['name'] + : null; $this->modulDeskriptor = $modul->getDeskriptor($display_language); $this->startSemester = Semester::findByTimestamp($modul->start); - if ($modul->responsible_institute) { - if ($modul->responsible_institute->institute) { - $this->instituteName = $modul->responsible_institute->institute->getValue('name'); - } else { - $this->instituteName = _('Unbekannte Einrichtung'); - } + + if (!$modul->responsible_institute) { + $this->instituteName = null; + } elseif ($modul->responsible_institute->institute) { + $this->instituteName = $modul->responsible_institute->institute->name; + } else { + $this->instituteName = _('Unbekannte Einrichtung'); } $this->type = $type; $this->semester = $currentSemester; diff --git a/app/views/search/studiengaenge/info.php b/app/views/search/studiengaenge/info.php index 0e78c1e00d6..8e6491370a7 100644 --- a/app/views/search/studiengaenge/info.php +++ b/app/views/search/studiengaenge/info.php @@ -172,7 +172,7 @@ </header> <section> <? foreach ($all_documents as $category => $files) : ?> - <? if ($GLOBALS['MVV_DOCUMENTS']['CATEGORY']['values'][$category]['visible']) : ?> + <? if (!empty($GLOBALS['MVV_DOCUMENTS']['CATEGORY']['values'][$category]['visible'])) : ?> <strong><?= htmlReady($GLOBALS['MVV_DOCUMENTS']['CATEGORY']['values'][$category]['name']) ?></strong> <ul> <? foreach ($files as $file) : ?> diff --git a/app/views/search/studiengaenge/mehrfach.php b/app/views/search/studiengaenge/mehrfach.php index 780b4e4ae3b..5a081e23c36 100644 --- a/app/views/search/studiengaenge/mehrfach.php +++ b/app/views/search/studiengaenge/mehrfach.php @@ -3,8 +3,8 @@ <caption> <?= _('Studiengang') ?>: <?= htmlReady($studiengang->getDisplayName()) ?> <? if (Config::get()->ENABLE_STUDYCOURSE_INFO_PAGE) : ?> - <a href="<?= $controller->url_for('search/studiengaenge/info', $studiengang->id)?>" data-dialog> - <?= Icon::create('infopage2', Icon::ROLE_CLICKABLE, ['title' => _('Informationen zum Studiengang')]) ?> + <a href="<?= $controller->link_for('search/studiengaenge/info', $studiengang->id)?>" data-dialog> + <?= Icon::create('infopage2')->asImg(['title' => _('Informationen zum Studiengang')]) ?> </a> <? endif; ?> </caption> @@ -22,15 +22,15 @@ <td> <?= htmlReady($fachNamen[$fach_id]) ?> </td> - <? foreach ($studiengangTeilBezeichnungen as $teil_bezeichnung): ?> - <td style="text-align: center;"> - <? if (isset($fach[$teil_bezeichnung->id])) : ?> - <a href="<?= $controller->url_for($verlauf_url, $fach[$teil_bezeichnung->id], $teil_bezeichnung->id, $studiengang_id) ?>"> - <?= Icon::create('info-circle-full', 'clickable', ['title' => _('Studienverlaufsplan anzeigen')]); ?> - </a> - <? endif; ?> - </td> - <? endforeach; ?> + <? foreach ($studiengangTeilBezeichnungen as $teil_bezeichnung): ?> + <td style="text-align: center;"> + <? if (isset($fach[$teil_bezeichnung->id])) : ?> + <a href="<?= $controller->link_for($verlauf_url, $fach[$teil_bezeichnung->id], $teil_bezeichnung->id, $studiengang_id ?? null) ?>"> + <?= Icon::create('info-circle-full')->asImg(['title' => _('Studienverlaufsplan anzeigen')]) ?> + </a> + <? endif; ?> + </td> + <? endforeach; ?> </tr> <? endforeach; ?> </tbody> diff --git a/app/views/search/studiengaenge/verlauf.php b/app/views/search/studiengaenge/verlauf.php index 6eaf9159797..5451b43c872 100644 --- a/app/views/search/studiengaenge/verlauf.php +++ b/app/views/search/studiengaenge/verlauf.php @@ -84,14 +84,26 @@ </td> <? endif ?> <td><?= htmlReady($modulTeil['name']) ?> </td> - <? for ($i = 1; $i <= $max_fachsemester; $i++) : ?> - <? $fachsemester_typ = $GLOBALS['MVV_MODULTEIL_STGABSCHNITT']['STATUS']['values'][$modulTeil['fachsemester'][$fachsemesterData[$i]]] ?> - <? if ($fachsemester_typ['visible']) : ?> - <td class="mvv-type-<?= $modulTeil['fachsemester'][$fachsemesterData[$i]] ?>"><span title="<? printf(_('%s Semester (%s)'), $i . ModuleManagementModel::getLocaleOrdinalNumberSuffix($i), $fachsemester_typ['name']) ?>"><?= $fachsemester_typ['icon'] ?></span></td> - <? else : ?> + <? for ($i = 1; $i <= $max_fachsemester; $i++) : + $fachsemester_typ = null; + if (isset( + $fachsemesterData[$i], + $modulTeil['fachsemester'][$fachsemesterData[$i]], + $GLOBALS['MVV_MODULTEIL_STGABSCHNITT']['STATUS']['values'][$modulTeil['fachsemester'][$fachsemesterData[$i]]] + )) { + $fachsemester_typ = $GLOBALS['MVV_MODULTEIL_STGABSCHNITT']['STATUS']['values'][$modulTeil['fachsemester'][$fachsemesterData[$i]]]; + } + ?> + <? if (!empty($fachsemester_typ['visible'])) : ?> + <td class="mvv-type-<?= $modulTeil['fachsemester'][$fachsemesterData[$i]] ?? '' ?>"> + <span title="<? printf(_('%s Semester (%s)'), $i . ModuleManagementModel::getLocaleOrdinalNumberSuffix($i), $fachsemester_typ['name']) ?>"> + <?= $fachsemester_typ['icon'] ?> + </span> + </td> + <? else : ?> <td class="mvv-type"> </td> - <? endif ?> - <? endfor ?> + <? endif ?> + <? endfor ?> </tr> <? endforeach ?> diff --git a/app/views/shared/modul/_modul.php b/app/views/shared/modul/_modul.php index 0bf1e215b57..c813c443621 100644 --- a/app/views/shared/modul/_modul.php +++ b/app/views/shared/modul/_modul.php @@ -1,4 +1,4 @@ -<? $modulDeskriptor = $modul->getDeskriptor($display_language); ?> +<? $modulDeskriptor = $modul->getDeskriptor($display_language ?? null); ?> <table class="mvv-modul-details default nohover" data-mvv-id="<?= $modul->getId(); ?>" data-mvv-type="modul"> <colgroup> <col width="30%"> @@ -66,14 +66,14 @@ <? endif; ?> <ul> <? foreach ($pathes as $i => $path) : ?> - <? $version = $trails[$i]['StgteilVersion']['version_id'];?> + <? $version = $trails[$i]['StgteilVersion']['version_id'] ?? null;?> <? $statement = DBManager::get()->prepare( 'SELECT `mvv_stgteilabschnitt_modul`.`abschnitt_id` ' . 'FROM mvv_stgteilabschnitt_modul LEFT JOIN mvv_stgteilabschnitt USING(abschnitt_id) ' . 'WHERE modul_id = ? AND version_id = ?'); $statement->execute([$modul->getId(), $version]); $res = $statement->fetchOne(); - $affect_id = $res['abschnitt_id']; + $affect_id = $res['abschnitt_id'] ?? null; ?> <li data-mvv-field="mvv_stgteilabschnitt_modul" data-mvv-id="<?= $affect_id; ?>" data-mvv-cooid="<?= $modul->getId(); ?>"> <?= htmlReady($path)?> diff --git a/app/views/shared/modul/_modullv.php b/app/views/shared/modul/_modullv.php index f5df0a654c3..99c41807e4b 100644 --- a/app/views/shared/modul/_modullv.php +++ b/app/views/shared/modul/_modullv.php @@ -1,5 +1,5 @@ <? $modulTeil = $modul->modulteile->first(); ?> -<? $modulTeilDeskriptor = $modulTeil->getDeskriptor($display_language); ?> +<? $modulTeilDeskriptor = $modulTeil->getDeskriptor($display_language ?? null); ?> <table class="mvv-modul-details default nohover" data-mvv-id="<?= $modulTeil->id; ?>" data-mvv-type="modulteil"> <tbody> <? $modulTeilSumme = $modulTeil->wl_praesenz + $modulTeil->wl_bereitung + $modulTeil->wl_selbst + $modulTeil->wl_pruef ?> @@ -73,7 +73,7 @@ <tbody> <tr> <td style="width: 30%;"><strong><?= _('Angebotsrhythmus') ?></strong></td> - <td style="width: 70%;" data-mvv-field="mvv_modulteil.semester"><?= $GLOBALS['MVV_NAME_SEMESTER']['values'][$modulTeil->semester]['name'] ?></td> + <td style="width: 70%;" data-mvv-field="mvv_modulteil.semester"><?= $GLOBALS['MVV_NAME_SEMESTER']['values'][$modulTeil->semester]['name'] ?? '' ?></td> </tr> <tr> <td style="width: 30%;"><strong><?= _('Aufnahmekapazität') ?></strong></td> diff --git a/app/views/shared/modul/_modullvs.php b/app/views/shared/modul/_modullvs.php index c288d5a5485..07c6c178df9 100644 --- a/app/views/shared/modul/_modullvs.php +++ b/app/views/shared/modul/_modullvs.php @@ -36,7 +36,7 @@ <? $wlPruef += $modulTeil->wl_pruef; ?> <? $modulTeilSumme = $modulTeil->wl_praesenz + $modulTeil->wl_bereitung + $modulTeil->wl_selbst + $modulTeil->wl_pruef; ?> <? $modulSumme += $modulTeilSumme; ?> - <? if ($show_synopse) : ?> + <? if (!empty($show_synopse)) : ?> <tr data-mvv-id="<?= $modulTeil->getId(); ?>" data-mvv-type="modulteil"> <td data-mvv-field="mvv_modulteil.nummer mvv_modulteil.num_bezeichnung"><strong><?= htmlReady($name_kurz) ?></strong></td> <td data-mvv-field="mvv_modulteil.lernlehrform"><?= $GLOBALS['MVV_MODULTEIL']['LERNLEHRFORM']['values'][$modulTeil->lernlehrform]['name'] ?></td> diff --git a/app/views/shared/modul/_pruefungen.php b/app/views/shared/modul/_pruefungen.php index f28657e6c7f..b5b43cdff57 100644 --- a/app/views/shared/modul/_pruefungen.php +++ b/app/views/shared/modul/_pruefungen.php @@ -9,7 +9,7 @@ <tbody> <? foreach ($modul->modulteile as $modulTeil): ?> <? - $modulTeilDeskriptor = $modulTeil->getDeskriptor($display_language); + $modulTeilDeskriptor = $modulTeil->getDeskriptor($display_language ?? null); // Für die Kenntlichmachung der Modulteile in Listen die Nummer des // Modulteils und den ausgewählten Namen verwenden. // Ist keine Nummer vorhanden, dann Durchnummerieren und Standard- @@ -47,4 +47,4 @@ </td> </tr> </tbody> -</table> \ No newline at end of file +</table> diff --git a/lib/classes/exportdocument/ExportPDF.class.php b/lib/classes/exportdocument/ExportPDF.class.php index 357868c18bb..5fe1c99e22f 100644 --- a/lib/classes/exportdocument/ExportPDF.class.php +++ b/lib/classes/exportdocument/ExportPDF.class.php @@ -27,8 +27,8 @@ define('K_PATH_IMAGES', $GLOBALS['STUDIP_BASE_PATH'] . '/public/assets/images/') * //cancels all other output. * */ -class ExportPDF extends TCPDF implements ExportDocument { - +class ExportPDF extends TCPDF implements ExportDocument +{ private $media_proxy = NULL; private $config; private $defaults = false; -- GitLab