From e4318a29197cfb31f8bfe8cd7dd7f6f44b941f36 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Fri, 18 Oct 2024 10:03:54 +0000 Subject: [PATCH] fix html in module search view, fixes #3838 Closes #3838 Merge request studip/studip!3519 --- app/views/search/module/show.php | 321 ++++++++++++++++--------------- 1 file changed, 163 insertions(+), 158 deletions(-) diff --git a/app/views/search/module/show.php b/app/views/search/module/show.php index 04ed30d2266..260de844d29 100644 --- a/app/views/search/module/show.php +++ b/app/views/search/module/show.php @@ -1,158 +1,163 @@ -<table class="mvv-modul-details"> - <tr> - <th class="mvv-modul-details-head" width="30%"><?= $modul->code ?></td> - <th class="mvv-modul-details-head" width="30%"><?= $institut->name ?></td> - <th class="mvv-modul-details-head" width="40%"><?= sprintf("%d CP", $modul->kp) ?> </td> - </tr> - <tr> - <td colspan="2"> - <?= $modul->getDisplayName() ?><br> - <?= _('Lehrveranstaltungen') ?> <?= $semester['name'] ?> - </td> - <td> - <dl> - <? foreach ($modulVerantwortung as $gruppe): ?> - <dt><?= htmlReady($gruppe['name']) ?></dt> - <? foreach ($gruppe['users'] as $user): ?> - <dd><?= htmlReady($user['name']) ?></dd> - <? endforeach; ?> - </dl> - <? endforeach; ?> - </td> - </tr> - <tr> - <td colspan="3" style="padding: 0;"> - <table style="margin: -1px; padding: 0; border-collapse: collapse;"> - <? if (mb_strlen($teilnahmeVoraussetzung) > 0): ?> - <tr> - <th width="20%"><?= _('Teilnahmevoraussetzungen') ?></th> - <td ><?= htmlReady($teilnahmeVoraussetzung) ?></td> - </tr> - <? endif; ?> - <? if (mb_strlen($deskriptor->kommentar)) : ?> - <tr> - <th><?= _('Hinweise') ?></th> - <td><?= formatReady($deskriptor->kommentar) ?></td> - </tr> - <? endif; ?> - <? if (mb_strlen($deskriptor->ersatztext) > 0): ?> - <tr> - <th></th> - <td><?= formatReady($deskriptor->ersatztext) ?></td> - </tr> - <? else: ?> - - <? if ($modul->kapazitaet > 0): ?> - <tr> - <th><?= _('Kapazität Modul') ?></th> - <td> - <?= $modul->kapazitaet ?> - <? if (mb_strlen($deskriptor->kommentar_kapazitaet) > 0): ?> - (<?= formatReady($deskriptor->kommentar_kapazitaet) ?>) - <? endif; ?> - - </td> - </tr> - <? endif; ?> - <? if (mb_strlen($pruef_ebene) > 0): ?> - <tr> - <th><?= _('Prüfungsebene') ?></th> - <td><?= $pruef_ebene ?></td> - </tr> - <? endif; ?> - <? if (mb_strlen($deskriptor->pruef_vorleistung)) : ?> - <tr> - <th><?= _('Prüfungsvorleistung Modul') ?></th> - <td><?= formatReady($deskriptor->pruef_vorleistung) ?></td> - </tr> - <? endif; ?> - <? if (mb_strlen($deskriptor->pruef_leistung)) : ?> - <tr> - <th><?= _('Prüfungsleistung Modul') ?></th> - <td><?= formatReady($deskriptor->pruef_leistung) ?></td> - </tr> - <? endif; ?> - <? if (mb_strlen($deskriptor->kompetenzziele)): ?> - <tr> - <th><?= _('Kompetenzziele') ?></th> - <td><?= formatReady($deskriptor->kompetenzziele) ?></td> - </tr> - <? endif; ?> - - <? endif; ?> - </table> - </td> - </tr> - - <? if ($type !== 3): ?> - <tr> - <? if ($type === 1): ?> - <th><?= _('Modulteile') ?></th> - <? endif; ?> - <th <? if ($type === 2): ?> colspan="3" <? endif; ?> ><?= _('Semesterveranstaltungen') ?></th> - <? if ($type === 1): ?> - <th><?= _('Prüfungsleistung') ?></th> - <? endif; ?> - </tr> - - <? foreach ($modulTeile as $lvGruppe): ?> - <tr> - <? if ($type === 1): ?> - <td> - <b> <?= $lvGruppe['name'] ?> </b> - <? if (mb_strlen($lvGruppe['kommentar']) > 0): ?> - (<?= htmlReady($lvGruppe['kommentar']) ?>) - <? endif; ?> - <? if ($lvGruppe['kapazitaet'] > 0): ?> - <br/> - <b><?= _('Kapazität') ?>: </b> <?= htmlReady($lvGruppe['kapazitaet']) ?> - <? endif; ?> - <? if (mb_strlen($lvGruppe['voraussetzung']) > 0): ?> - <br/> - <b><?= _('Teilnahmevoraussetzungen') ?>:</b> <?= htmlReady($lvGruppe['voraussetzung']) ?> - <? endif; ?> - </td> - <? endif; ?> - - <td <? if ($type === 2): ?> colspan="3" <? endif; ?>> - <? foreach ($lvGruppe['lvGruppen'] as $gruppe): ?> - <? if (mb_strlen($gruppe['alt_texte']) > 0): ?> - <b><?= formatReady($gruppe['alt_texte']) ?></b> - <? endif; ?> - <ul> - <? foreach ($gruppe['courses'] as $seminar_id => $course): ?> - <li> - <a href="<?= URLHelper::getLink('dispatch.php/course/details', ['sem_id' => $seminar_id]) ?>"> - <?= htmlReady($course['Name']) ?> - </a> - </li> - <? endforeach; ?> - </ul> - <? endforeach; ?> - </td> - <? if ($type === 1): ?> - <td width="40%"> - <? if (mb_strlen($lvGruppe['pruef_vorleistung']) > 0) : ?> - <b><?= _('Prüfungsvorleistung') ?>:</b> <?= htmlReady($lvGruppe['pruef_vorleistung']) ?> - <? endif; ?> - <? if (mb_strlen($lvGruppe['pruef_leistung']) > 0) : ?> - <b><?= _('Prüfungsform') ?>:</b> <br/><?= htmlReady($lvGruppe['pruef_leistung']) ?> (<?= htmlReady($lvGruppe['anteil_note']) ?> %) - <? endif; ?> - </td> - <? endif; ?> - </tr> - <? endforeach; ?> - <? endif; ?> - - <tr> - <td colspan="3"> - <? - if (trim($modul->fassung_nr) != '' && $modul->beschlussdatum) { - printf(_('In der Fassung des <b>%d</b>. Beschlusses vom <b>%s</b>. Bitte beachten Sie: Die Modulinformationen stehen an dieser Stelle ohne Gewähr.'), htmlReady($modul->fassung_nr), date('d.m.Y', $modul->beschlussdatum)); - } else { - echo _('Bitte beachten Sie: Die Modulinformationen stehen an dieser Stelle ohne Gewähr.'); - } - ?> - </td> - </tr> -</table> +<table class="mvv-modul-details"> + <colgroup> + <col style="width: 30%"> + <col style="width: 30%"> + <col style="width: 40%"> + </colgroup> + <tr> + <th class="mvv-modul-details-head"><?= $modul->code ?></th> + <th class="mvv-modul-details-head"><?= $institut->name ?></th> + <th class="mvv-modul-details-head"><?= sprintf("%d CP", $modul->kp) ?> </th> + </tr> + <tr> + <td colspan="2"> + <?= $modul->getDisplayName() ?><br> + <?= _('Lehrveranstaltungen') ?> <?= $semester['name'] ?> + </td> + <td> + <dl> + <? foreach ($modulVerantwortung as $gruppe): ?> + <dt><?= htmlReady($gruppe['name']) ?></dt> + <? foreach ($gruppe['users'] as $user): ?> + <dd><?= htmlReady($user['name']) ?></dd> + <? endforeach; ?> + </dl> + <? endforeach; ?> + </td> + </tr> + <tr> + <td colspan="3" style="padding: 0;"> + <table style="margin: -1px; padding: 0; border-collapse: collapse;"> + <? if (mb_strlen($teilnahmeVoraussetzung) > 0): ?> + <tr> + <th width="20%"><?= _('Teilnahmevoraussetzungen') ?></th> + <td ><?= htmlReady($teilnahmeVoraussetzung) ?></td> + </tr> + <? endif; ?> + <? if (mb_strlen($deskriptor->kommentar)) : ?> + <tr> + <th><?= _('Hinweise') ?></th> + <td><?= formatReady($deskriptor->kommentar) ?></td> + </tr> + <? endif; ?> + <? if (mb_strlen($deskriptor->ersatztext) > 0): ?> + <tr> + <th></th> + <td><?= formatReady($deskriptor->ersatztext) ?></td> + </tr> + <? else: ?> + + <? if ($modul->kapazitaet > 0): ?> + <tr> + <th><?= _('Kapazität Modul') ?></th> + <td> + <?= $modul->kapazitaet ?> + <? if (mb_strlen($deskriptor->kommentar_kapazitaet) > 0): ?> + (<?= formatReady($deskriptor->kommentar_kapazitaet) ?>) + <? endif; ?> + + </td> + </tr> + <? endif; ?> + <? if (mb_strlen($pruef_ebene) > 0): ?> + <tr> + <th><?= _('Prüfungsebene') ?></th> + <td><?= $pruef_ebene ?></td> + </tr> + <? endif; ?> + <? if (mb_strlen($deskriptor->pruef_vorleistung)) : ?> + <tr> + <th><?= _('Prüfungsvorleistung Modul') ?></th> + <td><?= formatReady($deskriptor->pruef_vorleistung) ?></td> + </tr> + <? endif; ?> + <? if (mb_strlen($deskriptor->pruef_leistung)) : ?> + <tr> + <th><?= _('Prüfungsleistung Modul') ?></th> + <td><?= formatReady($deskriptor->pruef_leistung) ?></td> + </tr> + <? endif; ?> + <? if (mb_strlen($deskriptor->kompetenzziele)): ?> + <tr> + <th><?= _('Kompetenzziele') ?></th> + <td><?= formatReady($deskriptor->kompetenzziele) ?></td> + </tr> + <? endif; ?> + + <? endif; ?> + </table> + </td> + </tr> + + <? if ($type !== 3): ?> + <tr> + <? if ($type === 1): ?> + <th><?= _('Modulteile') ?></th> + <? endif; ?> + <th <? if ($type === 2): ?> colspan="3" <? endif; ?> ><?= _('Semesterveranstaltungen') ?></th> + <? if ($type === 1): ?> + <th><?= _('Prüfungsleistung') ?></th> + <? endif; ?> + </tr> + + <? foreach ($modulTeile as $lvGruppe): ?> + <tr> + <? if ($type === 1): ?> + <td> + <b> <?= $lvGruppe['name'] ?> </b> + <? if (mb_strlen($lvGruppe['kommentar']) > 0): ?> + (<?= htmlReady($lvGruppe['kommentar']) ?>) + <? endif; ?> + <? if ($lvGruppe['kapazitaet'] > 0): ?> + <br/> + <b><?= _('Kapazität') ?>: </b> <?= htmlReady($lvGruppe['kapazitaet']) ?> + <? endif; ?> + <? if (mb_strlen($lvGruppe['voraussetzung']) > 0): ?> + <br/> + <b><?= _('Teilnahmevoraussetzungen') ?>:</b> <?= htmlReady($lvGruppe['voraussetzung']) ?> + <? endif; ?> + </td> + <? endif; ?> + + <td <? if ($type === 2): ?> colspan="3" <? endif; ?>> + <? foreach ($lvGruppe['lvGruppen'] as $gruppe): ?> + <? if (mb_strlen($gruppe['alt_texte']) > 0): ?> + <b><?= formatReady($gruppe['alt_texte']) ?></b> + <? endif; ?> + <ul> + <? foreach ($gruppe['courses'] as $seminar_id => $course): ?> + <li> + <a href="<?= URLHelper::getLink('dispatch.php/course/details', ['sem_id' => $seminar_id]) ?>"> + <?= htmlReady($course['Name']) ?> + </a> + </li> + <? endforeach; ?> + </ul> + <? endforeach; ?> + </td> + <? if ($type === 1): ?> + <td width="40%"> + <? if (mb_strlen($lvGruppe['pruef_vorleistung']) > 0) : ?> + <b><?= _('Prüfungsvorleistung') ?>:</b> <?= htmlReady($lvGruppe['pruef_vorleistung']) ?> + <? endif; ?> + <? if (mb_strlen($lvGruppe['pruef_leistung']) > 0) : ?> + <b><?= _('Prüfungsform') ?>:</b> <br/><?= htmlReady($lvGruppe['pruef_leistung']) ?> (<?= htmlReady($lvGruppe['anteil_note']) ?> %) + <? endif; ?> + </td> + <? endif; ?> + </tr> + <? endforeach; ?> + <? endif; ?> + + <tr> + <td colspan="3"> + <? + if (trim($modul->fassung_nr) != '' && $modul->beschlussdatum) { + printf(_('In der Fassung des <b>%d</b>. Beschlusses vom <b>%s</b>. Bitte beachten Sie: Die Modulinformationen stehen an dieser Stelle ohne Gewähr.'), htmlReady($modul->fassung_nr), date('d.m.Y', $modul->beschlussdatum)); + } else { + echo _('Bitte beachten Sie: Die Modulinformationen stehen an dieser Stelle ohne Gewähr.'); + } + ?> + </td> + </tr> +</table> -- GitLab