diff options
| author | Jan-Hendrik Willms <tleilax+github@gmail.com> | 2021-07-22 16:07:19 +0200 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+github@gmail.com> | 2021-07-22 16:19:12 +0200 |
| commit | a3da1483a9e689846179159355badfec8073dbec (patch) | |
| tree | 770dcca6bdf5f6f2a11b0e7fcbbeda6919a3fc52 /app/views/shared/modul | |
current code from svn, revision 62608
Diffstat (limited to 'app/views/shared/modul')
| -rw-r--r-- | app/views/shared/modul/_modul.php | 235 | ||||
| -rw-r--r-- | app/views/shared/modul/_modul_ohne_lv.php | 37 | ||||
| -rw-r--r-- | app/views/shared/modul/_modullv.php | 102 | ||||
| -rw-r--r-- | app/views/shared/modul/_modullvs.php | 82 | ||||
| -rw-r--r-- | app/views/shared/modul/_pruefungen.php | 50 | ||||
| -rw-r--r-- | app/views/shared/modul/_regularien.php | 38 | ||||
| -rw-r--r-- | app/views/shared/modul/description.php | 22 | ||||
| -rw-r--r-- | app/views/shared/modul/overview.php | 180 |
8 files changed, 746 insertions, 0 deletions
diff --git a/app/views/shared/modul/_modul.php b/app/views/shared/modul/_modul.php new file mode 100644 index 0000000..c953634 --- /dev/null +++ b/app/views/shared/modul/_modul.php @@ -0,0 +1,235 @@ +<? $modulDeskriptor = $modul->getDeskriptor($display_language); ?> +<table class="mvv-modul-details default nohover" data-mvv-id="<?= $modul->getId(); ?>" data-mvv-type="modul"> + <colgroup> + <col width="30%"> + <col width="70%"> + </colgroup> + <thead> + <tr> + <th class="mvv-modul-details-head" data-mvv-field="mvv_modul.code"><?= htmlReady($modul->code) ?></th> + <th class="mvv-modul-details-head" data-mvv-field="mvv_modul.kp" style="text-align: right;"><?= sprintf("%d CP", $modul->kp) ?></th> + </tr> + <? if ($show_synopse || $modul->fassung_nr): ?> + <tr> + <th colspan="2" style="font-weight: normal;"> + <? if ($show_synopse) : ?> + <?= + sprintf(_('In der Fassung des <b>%s</b>. Beschlusses vom <b>%s</b> (<b>%s</b>) / Version <b>%s</b>.'), + '<span data-mvv-field="mvv_modul.fassung_nr">' . htmlReady($modul->fassung_nr) . '</span>', + '<span data-mvv-field="mvv_modul.beschlussdatum">' . date('d.m.Y', $modul->beschlussdatum) . '</span>', + '<span data-mvv-field="mvv_modul.fassung_typ">' . htmlReady($GLOBALS['MVV_MODUL']['FASSUNG_TYP'][$modul->fassung_typ]['name']) . '</span>', + '<span data-mvv-field="mvv_modul.version">' . htmlReady($modul->version) . '</span>' + ) + ?> + <? elseif ($modul->fassung_nr) : ?> + <?= + sprintf(_('In der Fassung des <b>%s</b>. Beschlusses vom <b>%s</b>.'), + '<span data-mvv-field="mvv_modul.fassung_nr">' . htmlReady($modul->fassung_nr) . '</span>', + '<span data-mvv-field="mvv_modul.beschlussdatum">' . date('d.m.Y', $modul->beschlussdatum) . '</span>' + ) + ?> + <? endif; ?> + </th> + </tr> + <? endif; ?> + </thead> + <tbody> + <tr> + <td><strong><?= _('Modulbezeichnung') ?></strong></td> + <td data-mvv-field="mvv_modul.bezeichnung"><?= htmlReady($modulDeskriptor->bezeichnung) ?></td> + </tr> + <tr> + <td><strong><?= _('Modulcode') ?></strong></td> + <td data-mvv-field="mvv_modul.code"><?= htmlReady($modul->code) ?></td> + </tr> + <tr> + <td><strong><?= _('Semester der erstmaligen Durchführung') ?></strong></td> + <td data-mvv-field="mvv_modul.start"><?= htmlReady($startSemester['name']) ?></td> + </tr> + <? if ($instituteName) : ?> + <tr> + <td><strong><?= _('Fachbereich/Institut') ?></strong></td> + <td data-mvv-field="mvv_modul_inst"><?= htmlReady($instituteName) ?></td> + </tr> + <? endif; ?> + <tr> + <td><strong><?= _('Verwendet in Studiengängen / Semestern') ?></strong></td> + <td> + <? $trails = $modul->getTrails(['StgteilAbschnitt', 'StgteilVersion', 'Studiengang']); ?> + <? $trails = array_filter($trails, function ($trail) { + return $trail['Studiengang']->stat !== 'ausgelaufen'; + }); ?> + <? if (count($trails)) : ?> + <? $pathes = $modul->getPathes($trails, ' > ') ?> + <? if (count($pathes) > 9) : ?> + <input type="checkbox" class="mvv-cb-more" id="cb_more_studycourses" checked> + <? endif; ?> + <ul> + <? foreach ($pathes as $i => $path) : ?> + <? $version = $trails[$i]['StgteilVersion']['version_id'];?> + <? $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']; + ?> + <li data-mvv-field="mvv_stgteilabschnitt_modul" data-mvv-id="<?= $affect_id; ?>" data-mvv-cooid="<?= $modul->getId(); ?>"> + <?= htmlReady($path)?> + <? if (!$download && (count($pathes) > 9 && $i == 4)) : ?> + <label class="cb-more-label" for="cb_more_studycourses"><?= _('mehr...') ?></label> + <? endif; ?> + </li> + <? endforeach; ?> + </ul> + <? endif; ?> + </td> + </tr> + <tr> + <td><strong><?= _('Modulverantwortliche/r') ?></strong></td> + <td> + <? + $modulVerantwortung = []; + foreach ($modul->contact_assignments->orderBy('position', SORT_NUMERIC) as $contact_assignment) { + if ($GLOBALS['MVV_MODUL']['PERSONEN_GRUPPEN']['values'][$contact_assignment->category]['visible']) { + if (!isset($modulVerantwortung[$contact_assignment->category])) { + $modulVerantwortung[$contact_assignment->category] = [ + 'name' => $GLOBALS['MVV_MODUL']['PERSONEN_GRUPPEN']['values'][$contact_assignment->category]['name'], + 'users' => [] + ]; + } + $modulVerantwortung[$contact_assignment->category]['contacts'][$contact_assignment->contact_id] = [ + 'name' => $contact_assignment->contact->getDisplayName(), + 'id' => $contact_assignment->contact_id + ]; + } + } + ?> + <? foreach ($modulVerantwortung as $group): ?> + <? foreach ($group['contacts'] as $contact): ?> + <div data-mvv-field="mvv_modul_user" data-mvv-coid="<?= $contact['id'] ?>"> + <?= htmlReady($contact['name']) ?> (<?= htmlReady($group['name']) ?>) + </div> + <? endforeach; ?> + <? endforeach; ?> + </td> + </tr> + <? if (trim($modulDeskriptor->verantwortlich)): ?> + <tr> + <td><strong><?= _('Weitere verantwortliche Personen') ?></strong></td> + <td> + <?= formatReady($modulDeskriptor->verantwortlich) ?> + </td> + </tr> + <? endif; ?> + <tr> + <td><strong><?= _('Teilnahmevoraussetzungen') ?></strong></td> + <td data-mvv-field="mvv_modul_deskriptor.voraussetzung"><?= formatReady($modulDeskriptor->voraussetzung) ?></td> + </tr> + <tr> + <td><strong><?= _('Kompetenzziele') ?></strong></td> + <td data-mvv-field="mvv_modul_deskriptor.kompetenzziele"><?= formatReady($modulDeskriptor->kompetenzziele) ?></td> + </tr> + <tr> + <td><strong><?= _('Modulinhalte') ?></strong></td> + <td data-mvv-field="mvv_modul_deskriptor.inhalte"><?= formatReady($modulDeskriptor->inhalte) ?></td> + </tr> + <? if ($type !== 3) : ?> + <tr> + <td><strong><?= ngettext('Lehrveranstaltungsform', 'Lehrveranstaltungsformen', count($modul->modulteile)) ?></strong></td> + <td data-mvv-field="mvv_modulteil_deskriptor.lernlehrform"> + <? foreach ($modul->modulteile as $modulteil) : ?> + <? if (trim($modulteil->lernlehrform)) : ?> + <?= $GLOBALS['MVV_MODULTEIL']['LERNLEHRFORM']['values'][$modulteil->lernlehrform]['name'] ?> + <? if (trim($modulteil->sws) && trim($modulteil->sws) != '0') : ?> + (<?= htmlReady($modulteil->sws) . ' ' . _('SWS') ?>) + <? endif; ?> + <br> + <? endif; ?> + <? endforeach; ?> + </td> + </tr> + <? endif; ?> + <tr> + <td><strong><?= ngettext('Unterrichtssprache', 'Unterrichtsprachen', sizeof($modul->languages)) ?></strong></td> + <td data-mvv-field="mvv_modul_language"> + <?= htmlReady(implode(', ', $modul->languages->map(function ($m) { return $m->getDisplayName(); }))); ?> + </td> + </tr> + <tr> + <td><strong><?= _('Dauer in Semestern') ?></strong></td> + <td data-mvv-field="mvv_modul.dauer"><?= htmlReady($modul->dauer) ?> <?= _('Semester') ?></td> + </tr> + <tr> + <td><strong><?= _('Angebotsrhythmus Modul') ?></strong></td> + <td data-mvv-field="mvv_modul_deskriptor.turnus"><?= htmlReady($modulDeskriptor->turnus) ?></td> + </tr> + <tr> + <td><strong><?= _('Aufnahmekapazität Modul') ?></strong></td> + <td data-mvv-field="mvv_modul.kapazitaet"><?= htmlReady(trim($modul->kapazitaet)) ?: _('unbegrenzt') ?> <?= MVVController::trim($modulDeskriptor->kommentar_kapazitaet) ? sprintf("(%s)", formatReady($modulDeskriptor->kommentar_kapazitaet)) : '' ?></td> + </tr> + <tr> + <td><strong><?= _('Prüfungsebene') ?></strong></td> + <td data-mvv-field="mvv_modul.pruef_ebene"><?= htmlReady($pruefungsEbene) ?></td> + </tr> + <tr> + <td><strong><?= _('Credit-Points') ?></strong></td> + <td data-mvv-field="mvv_modul.kp"><?= sprintf("%d CP", htmlReady($modul->kp)) ?></td> + </tr> + <tr> + <td><strong><?= _('Modulabschlussnote') ?></strong></td> + <td> + <? if ($type !== 3) : ?> + <? $nummer_modulteil = 1; ?> + <? $note = []; ?> + <? foreach ($modul->modulteile as $modulteil): ?> + <? // 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- + // Bezeichnung verwenden. + if (trim($modulteil->nummer)) { + $num_bezeichnung = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['values'][$modulteil->num_bezeichnung]['name']; + $note[] = sprintf('%s %s: %s%%', + '<span data-mvv-id="'. $modulteil->getId().'" data-mvv-type="modulteil">' . + '<span data-mvv-field="mvv_modulteil.num_bezeichnung">' . htmlReady($num_bezeichnung) . '</span>', + '<span data-mvv-field="mvv_modulteil.nummer">' . htmlReady($modulteil->nummer) . '</span>', + '<span data-mvv-field="mvv_modulteil.anteil_note">' . htmlReady($modulteil->anteil_note) . '</span>' . + '</span>' + ); + } else { + $num_bezeichnung_default = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['default']; + $note[] = sprintf('%s %d: %s%%', + htmlReady($GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['values'][$num_bezeichnung_default]['name']), + htmlReady($nummer_modulteil), + htmlReady($modulteil->anteil_note) + ); + $nummer_modulteil++; + } ?> + <? endforeach; ?> + <? if (count($note)) : ?> + <?= implode('; ', $note) . '. ' ?> + <? endif; ?> + <? endif; ?> + <?= formatReady(trim($modulDeskriptor->kommentar_note)) ?> + </td> + </tr> + <tr> + <td><strong><?= _('Faktor der Modulnote für die Endnote des Studiengangs') ?></strong></td> + <td data-mvv-field="mvv_modul.faktor_note"><?= htmlReady($modul->faktor_note) ?></td> + </tr> + <? if (trim($modulDeskriptor->kommentar)) : ?> + <tr> + <td><strong><?= _('Hinweise') ?></strong></td> + <td data-mvv-field="mvv_modul_deskriptor.kommentar"><?= formatReady($modulDeskriptor->kommentar) ?></td> + </tr> + <? endif; ?> + <? foreach ($modulDeskriptor->datafields as $entry) : ?> + <? $df = $entry->getTypedDatafield(); ?> + <tr> + <td><strong><?= htmlReady($df->getName()) ?></strong></td> + <td><?= $df->getDisplayValue(); ?></td> + </tr> + <? endforeach; ?> + </tbody> +</table> diff --git a/app/views/shared/modul/_modul_ohne_lv.php b/app/views/shared/modul/_modul_ohne_lv.php new file mode 100644 index 0000000..07e5310 --- /dev/null +++ b/app/views/shared/modul/_modul_ohne_lv.php @@ -0,0 +1,37 @@ +<table class="mvv-modul-details default nohover" data-mvv-id="<?= $modul->getId(); ?>" data-mvv-type="modul"> + <tbody> + <? $modulSumme = $modul->wl_selbst + $modul->wl_pruef ?> + <tr> + <td style="width: 30%;"><strong><?= _('Workload selbstgestaltete Arbeit') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modul.wl_selbst mvv_modul_deskriptor.kommentar_wl_selbst"><?= htmlReady($modul->wl_selbst) ?> <?= MVVController::trim($modulDeskriptor->kommentar_wl_selbst) ? sprintf(" (%s)", formatReady($modulDeskriptor->kommentar_wl_selbst)) : '' ?></td> + + </tr> + <tr> + <td style="width: 30%;"><strong><?= _('Workload Prüfung incl. Vorbereitung') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modul.wl_pruef mvv_modul_deskriptor.kommentar_wl_pruef"><?= htmlReady($modul->wl_pruef) ?> <?= MVVController::trim($modulDeskriptor->kommentar_wl_pruef) ? sprintf(" (%s)", formatReady($modulDeskriptor->kommentar_wl_pruef)) : '' ?></td> + + </tr> + <tr> + <td style="width: 30%;"><strong><?= _('Workload insgesamt') ?></strong></td> + <td style="width: 70%;"><?= $modulSumme ?></td> + </tr> + </tbody> +</table> +<table class="mvv-modul-details" data-mvv-id="<?= $modulDeskriptor?$modulDeskriptor->getId():''; ?>" data-mvv-type="moduldeskriptor"> + <tbody> + <? if (trim($modulDeskriptor->pruef_vorleistung)) : ?> + <tr> + <td style="width: 30%;"><strong><?= _('Prüfungsvorleistung') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modul_deskriptor.pruef_vorleistung" ><?= formatReady($modulDeskriptor->pruef_vorleistung) ?></td> + </tr> + <? endif; ?> + <tr> + <td style="width: 30%;"><strong><?= _('Prüfungsform') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modul_deskriptor.pruef_leistung"><?= formatReady($modulDeskriptor->pruef_leistung) ?></td> + </tr> + <tr> + <td style="width: 30%;"><strong><?= _('Wiederholungsprüfung') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modul_deskriptor.pruef_wiederholung"><?= formatReady($modulDeskriptor->pruef_wiederholung) ?></td> + </tr> + </tbody> +</table> diff --git a/app/views/shared/modul/_modullv.php b/app/views/shared/modul/_modullv.php new file mode 100644 index 0000000..f5df0a6 --- /dev/null +++ b/app/views/shared/modul/_modullv.php @@ -0,0 +1,102 @@ +<? $modulTeil = $modul->modulteile->first(); ?> +<? $modulTeilDeskriptor = $modulTeil->getDeskriptor($display_language); ?> +<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 ?> + <tr> + <td style="width: 30%;"><strong><?= _('Lehrveranstaltungsform') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modulteil.lernlehrform"><?= $GLOBALS['MVV_MODULTEIL']['LERNLEHRFORM']['values'][$modulTeil->lernlehrform]['name'] ?></td> + </tr> + <tr> + <td style="width: 30%;"><strong><?= _('Veranstaltungstitel') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modulteil_deskriptor.bezeichnung"><?= htmlReady($modulTeilDeskriptor->bezeichnung) ?></td> + </tr> + <tr> + <td style="width: 30%;"><strong><?= _('SWS') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modulteil.sws mvv_modulteil_deskriptor.sws_alternative"><?= $modulTeil->sws ?: '' ?></td> + </tr> + <tr> + <td style="width: 30%;"><strong><?= _('Workload Präsenz') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modulteil.wl_praesenz mvv_modulteil_deskriptor.kommentar_wl_praesenz"><?= $modulTeil->wl_praesenz ?> <?= MVVController::trim($modulTeilDeskriptor->kommentar_wl_praesenz) ? sprintf(" (%s)", formatReady($modulTeilDeskriptor->kommentar_wl_praesenz)) : '' ?></td> + </tr> + <tr> + <td style="width: 30%;"><strong><?= _('Workload Vor- / Nachbereitung') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modulteil.wl_bereitung mvv_modulteil_deskriptor.kommentar_wl_bereitung"><?= $modulTeil->wl_bereitung ?> <?= MVVController::trim($modulTeilDeskriptor->kommentar_wl_bereitung) ? sprintf(" (%s)", formatReady($modulTeilDeskriptor->kommentar_wl_bereitung)) : '' ?></td> + </tr> + <tr> + <td style="width: 30%;"><strong><?= _('Workload selbstgestaltete Arbeit') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modulteil.wl_selbst mvv_modulteil_deskriptor.kommentar_wl_selbst"><?= $modulTeil->wl_selbst ?> <?= MVVController::trim($modulTeilDeskriptor->kommentar_wl_selbst) ? sprintf(" (%s)", formatReady($modulTeilDeskriptor->kommentar_wl_selbst)) : '' ?></td> + </tr> + <tr> + <td style="width: 30%;"><strong><?= _('Workload Prüfung incl. Vorbereitung') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modulteil.wl_pruef mvv_modulteil_deskriptor.kommentar_wl_pruef"><?= $modulTeil->wl_pruef ?> <?= MVVController::trim($modulTeilDeskriptor->kommentar_wl_pruef) ? sprintf(" (%s)", formatReady($modulTeilDeskriptor->kommentar_wl_pruef)) : '' ?></td> + </tr> + <tr> + <td style="width: 30%;"><strong><?= _('Workload insgesamt') ?></strong></td> + <td style="width: 70%;"><?= $modulTeilSumme ?></td> + </tr> + <? if ((int) $modul->wl_selbst) : ?> + <tr> + <td style="width: 30%;"><strong><?= _('Workload selbstgestaltete Arbeit (modulbezogen') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modul.wl_selbst mvv_modul_deskriptor.kommentar_wl_selbst"><?= $modul->wl_selbst ?> <?= MVVController::trim($modulDeskriptor->kommentar_wl_selbst) ? sprintf(" (%s)", formatReady($modulDeskriptor->kommentar_wl_selbst)) : '' ?></td> + </tr> + <? endif; ?> + <? if ((int) $modul->wl_pruef) : ?> + <tr> + <td style="width: 30%;"><strong><?= _('Workload Prüfung incl. Vorbereitung (modulbezogen)') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modul.wl_pruef mvv_modul_deskriptor.kommentar_wl_pruef"><?= $modul->wl_pruef ?> <?= MVVController::trim($modulDeskriptor->kommentar_wl_pruef) ? sprintf(" (%s)", formatReady($modulDeskriptor->kommentar_wl_pruef)) : '' ?></td> + </tr> + <? endif; ?> + <? if ($modul->wl_selbst + $modul->wl_pruef) : ?> + <tr> + <td style="width: 30%;"><strong><?= _('Workload Modul insgesamt') ?></strong></td> + <td style="width: 70%;"><?= $modulTeilSumme + $modul->wl_selbst + $modul->wl_pruef ?></td> + </tr> + <? endif; ?> + </tbody> +</table> +<table class="mvv-modul-details default nohover" data-mvv-id="<?= $modulTeilDeskriptor->id; ?>" data-mvv-type="modulteil_deskriptor"> + <tbody> + <? if (trim($modulTeilDeskriptor->pruef_vorleistung)) : ?> + <tr> + <td style="width: 30%;"><strong><?= _('Prüfungsvorleistung') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modulteil_deskriptor.pruef_vorleistung"><?= formatReady($modulTeilDeskriptor->pruef_vorleistung) ?></td> + </tr> + <? endif; ?> + <tr> + <td style="width: 30%;"><strong><?= _('Prüfungsform') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modulteil_deskriptor.pruef_leistung"><?= formatReady($modulTeilDeskriptor->pruef_leistung) ?></td> + </tr> + </tbody> +</table> +<table class="mvv-modul-details default nohover" data-mvv-id="<?= $modulTeil->id; ?>" data-mvv-type="modulteil"> + <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> + </tr> + <tr> + <td style="width: 30%;"><strong><?= _('Aufnahmekapazität') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modulteil.kapazitaet mvv_modulteil_deskriptor.kommentar_kapazitaet"><?= trim($modulTeil->kapazitaet) ?: _('unbegrenzt') ?> <?= MVVController::trim($modulTeilDeskriptor->kommentar_kapazitaet) ? sprintf("(%s)", formatReady($modulTeilDeskriptor->kommentar_kapazitaet)) : '' ?></td> + </tr> + <? if ($modulTeil->pflicht) : ?> + <tr> + <td style="width: 30%;"><strong><?= _('Anwesenheitspflicht') ?></strong></td> + <td style="width: 70%;" data-mvv-field="mvv_modulteil.pflicht mvv_modulteil_deskriptor.kommentar_pflicht"><?= $modulTeil->pflicht ? _('Ja') : _('Nein') ?> <?= MVVController::trim($modulTeilDeskriptor->kommentar_pflicht) ? sprintf("(%s)", formatReady($modulTeilDeskriptor->kommentar_pflicht)) : '' ?></td> + </tr> + <? endif; ?> + </tbody> +</table> +<? if (count($modulTeilDeskriptor->datafields)) : ?> +<table class="mvv-modul-details default nohover" data-mvv-id="<?= $modulTeilDeskriptor->id; ?>" data-mvv-type="modulteil_deskriptor"> + <tbody> + <? foreach ($modulTeilDeskriptor->datafields as $entry) : ?> + <? $df = $entry->getTypedDatafield(); ?> + <tr> + <td style="width: 30%;"><strong><?= htmlReady($df->getName()) ?></strong></td> + <td style="width: 70%;"><?= $df->getDisplayValue(); ?></td> + </tr> + <? endforeach; ?> + </tbody> +</table> +<? endif; ?> diff --git a/app/views/shared/modul/_modullvs.php b/app/views/shared/modul/_modullvs.php new file mode 100644 index 0000000..c288d5a --- /dev/null +++ b/app/views/shared/modul/_modullvs.php @@ -0,0 +1,82 @@ +<table class="mvv-modul-details default nohover"> + <thead> + <tr> + <th><?= _('Modulveran­staltung') ?></th> + <th><?= _('Lehrveranstaltungs­form') ?></th> + <th><?= _('Veranstaltungs­titel') ?></th> + <th><?= _('SWS') ?></th> + <th><?= _('Workload Präsenz') ?></th> + <th><?= _('Workload Vor- / Nach­bereitung') ?></th> + <th><?= _('Workload selbstge­staltete Arbeit') ?></th> + <th><?= _('Workload Prüfung incl. Vorbereitung') ?></th> + <th><?= _('Workload Summe') ?></th> + </tr> + </thead> + <tbody> + <? $wlSelbst = 0; ?> + <? $wlPruef = 0; ?> + <? $modulSumme = 0; ?> + <? $nummer_modulteil = 1; ?> + <? foreach ($modul->modulteile as $modulTeil): ?> + <? $modulTeilDeskriptor = $modulTeil->getDeskriptor($display_language); + // 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- + // Bezeichnung verwenden. + if (trim($modulTeil->nummer)) { + $num_bezeichnung = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['values'][$modulTeil->num_bezeichnung]['name']; + $name_kurz = sprintf('%s %d', $num_bezeichnung, $modulTeil->nummer); + } else { + $num_bezeichnung_default = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['default']; + $name_kurz = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['values'][$num_bezeichnung_default]['name'] + . ' ' . $nummer_modulteil; + $nummer_modulteil++; + } ?> + <? $wlSelbst += $modulTeil->wl_selbst; ?> + <? $wlPruef += $modulTeil->wl_pruef; ?> + <? $modulTeilSumme = $modulTeil->wl_praesenz + $modulTeil->wl_bereitung + $modulTeil->wl_selbst + $modulTeil->wl_pruef; ?> + <? $modulSumme += $modulTeilSumme; ?> + <? if ($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> + <td data-mvv-field="mvv_modulteil_deskriptor.bezeichnung"><?= htmlReady($modulTeilDeskriptor->bezeichnung) ?></td> + <td style="text-align: right;" data-mvv-field="mvv_modulteil.sws"><?= htmlReady($modulTeil->sws) ?: '' ?></td> + <td style="text-align: right;" data-mvv-field="mvv_modulteil.wl_praesenz mvv_modulteil_deskriptor.kommentar_wl_praesenz"><?= $modulTeil->wl_praesenz ?> <?= MVVController::trim($modulTeilDeskriptor->kommentar_wl_praesenz) ? sprintf(' (%s)', formatReady($modulTeilDeskriptor->kommentar_wl_praesenz)) : '' ?></td> + <td style="text-align: right;" data-mvv-field="mvv_modulteil.wl_bereitung mvv_modulteil_deskriptor.kommentar_wl_bereitung"><?= $modulTeil->wl_bereitung ?> <?= MVVController::trim($modulTeilDeskriptor->kommentar_wl_bereitung) ? sprintf(' (%s)', formatReady($modulTeilDeskriptor->kommentar_wl_bereitung)) : '' ?></td> + <td style="text-align: right;" data-mvv-field="mvv_modulteil.wl_selbst mvv_modulteil_deskriptor.kommentar_wl_selbst"><?= $modulTeil->wl_selbst ?> <?= MVVController::trim($modulTeilDeskriptor->kommentar_wl_selbst) ? sprintf(' (%s)', formatReady($modulTeilDeskriptor->kommentar_wl_selbst)) : '' ?></td> + <td style="text-align: right;" data-mvv-field="mvv_modulteil.wl_pruef mvv_modulteil_deskriptor.kommentar_wl_pruef"><?= MVVController::trim($modulTeilDeskriptor->kommentar_wl_pruef) ? sprintf(' (%s)',formatReady($modulTeilDeskriptor->kommentar_wl_pruef)) : '' ?><?= $modulTeil->wl_pruef ?></td> + <td style="text-align: right;"><?= $modulTeilSumme ?></td> + </tr> + <? else : ?> + <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> + <td data-mvv-field="mvv_modulteil_deskriptor.bezeichnung"><?= htmlReady($modulTeilDeskriptor->bezeichnung) ?></td> + <td style="text-align: right;" data-mvv-field="mvv_modulteil.sws"><?= htmlReady($modulTeil->sws) ?: '' ?></td> + <td style="text-align: right;" data-mvv-field="mvv_modulteil.wl_praesenz mvv_modulteil_deskriptor.kommentar_wl_praesenz"><?= $modulTeil->wl_praesenz ?> <?= MVVController::trim($modulTeilDeskriptor->kommentar_wl_praesenz) ? tooltipIcon(formatReady($modulTeilDeskriptor->kommentar_wl_praesenz)) : '' ?></td> + <td style="text-align: right;" data-mvv-field="mvv_modulteil.wl_bereitung mvv_modulteil_deskriptor.kommentar_wl_bereitung"><?= $modulTeil->wl_bereitung ?> <?= MVVController::trim($modulTeilDeskriptor->kommentar_wl_bereitung) ? tooltipIcon(formatReady($modulTeilDeskriptor->kommentar_wl_bereitung)) : '' ?></td> + <td style="text-align: right;" data-mvv-field="mvv_modulteil.wl_selbst mvv_modulteil_deskriptor.kommentar_wl_selbst"><?= $modulTeil->wl_selbst ?> <?= MVVController::trim($modulTeilDeskriptor->kommentar_wl_selbst) ? tooltipIcon(formatReady($modulTeilDeskriptor->kommentar_wl_selbst)) : '' ?></td> + <td style="text-align: right;" data-mvv-field="mvv_modulteil.wl_pruef mvv_modulteil_deskriptor.kommentar_wl_pruef"><?= MVVController::trim($modulTeilDeskriptor->kommentar_wl_pruef) ? tooltipIcon(formatReady($modulTeilDeskriptor->kommentar_wl_pruef)) : '' ?><?= $modulTeil->wl_pruef ?></td> + <td style="text-align: right;"><?= $modulTeilSumme ?></td> + </tr> + <? endif; ?> + <? endforeach; ?> + <? + $modulWLSumme = $modul->wl_selbst + $modul->wl_pruef; + $modulSumme += $modulWLSumme; + ?> + <? if ($modulWLSumme > 0) : ?> + <tr> + <td colspan="6"><strong><?= _('Workload modulbezogen') ?></strong></td> + <td style="text-align: right;"><?= htmlReady($modul->wl_selbst) ?></td> + <td style="text-align: right;"><?= htmlReady($modul->wl_pruef) ?></td> + <td style="text-align: right;"><?= $modulWLSumme ?></td> + </tr> + <? endif; ?> + <tr> + <td colspan="8"><strong><?= _('Workload Modul insgesamt') ?></strong></td> + <td style="text-align: right;"><?= $modulSumme ?></td> + </tr> + </tbody> +</table> diff --git a/app/views/shared/modul/_pruefungen.php b/app/views/shared/modul/_pruefungen.php new file mode 100644 index 0000000..f28657e --- /dev/null +++ b/app/views/shared/modul/_pruefungen.php @@ -0,0 +1,50 @@ +<table class="mvv-modul-details default nohover"> + <thead> + <tr> + <th><?= _('Prüfung') ?></th> + <th><?= _('Prüfungsvorleistung') ?></th> + <th><?= _('Prüfungsform') ?></th> + </tr> + </thead> + <tbody> + <? foreach ($modul->modulteile as $modulTeil): ?> + <? + $modulTeilDeskriptor = $modulTeil->getDeskriptor($display_language); + // 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- + // Bezeichnung verwenden. + if (trim($modulTeil->nummer)) { + $num_bezeichnung = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['values'][$modulTeil->num_bezeichnung]['name']; + $name_kurz = sprintf('%s %d', $num_bezeichnung, $modulTeil->nummer); + } else { + $num_bezeichnung_default = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['default']; + $name_kurz = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['values'][$num_bezeichnung_default]['name'] + . ' ' . $nummer_modulteil; + $nummer_modulteil++; + } + ?> + <tr data-mvv-id="<?= $modulTeil->getId(); ?>" data-mvv-type="modulteil"> + <td style="vertical-align: top; font-weight: bold;" data-mvv-field="mvv_modulteil.num_bezeichnung mvv_modulteil.nummer"><?= htmlReady($name_kurz) ?></td> + <td data-mvv-field="mvv_modulteil_deskriptor.pruef_vorleistung"><?= formatReady($modulTeilDeskriptor->pruef_vorleistung) ?></td> + <td data-mvv-field="mvv_modulteil_deskriptor.pruef_leistung"><?= formatReady($modulTeilDeskriptor->pruef_leistung) ?></td> + </tr> + <? endforeach; ?> + <tr data-mvv-id="<?= $modul->getId(); ?>" data-mvv-type="modul"> + <? $modulDeskriptor = $modul->getDeskriptor($display_language) ?> + <td style="vertical-align: top; font-weight: bold;"> + <?= _('Gesamtmodul') ?> + </td> + <td data-mvv-field="mvv_modul_deskriptor.pruef_vorleistung"><?= formatReady($modulDeskriptor->pruef_vorleistung) ?></td> + <td data-mvv-field="mvv_modul_deskriptor.pruef_leistung"><?= formatReady($modulDeskriptor->pruef_leistung) ?></td> + </tr> + <tr> + <td style="vertical-align: top; font-weight: bold;"> + <?= _('Wiederholungsprüfung') ?> + </td> + <td colspan="3"> + <?= formatReady($modulDeskriptor->pruef_wiederholung) ?> + </td> + </tr> + </tbody> +</table>
\ No newline at end of file diff --git a/app/views/shared/modul/_regularien.php b/app/views/shared/modul/_regularien.php new file mode 100644 index 0000000..26196b0 --- /dev/null +++ b/app/views/shared/modul/_regularien.php @@ -0,0 +1,38 @@ +<table class="mvv-modul-details default nohover"> + <thead> + <tr> + <th><?= _('Regularien') ?></th> + <th><?= _('Teilnahme­voraussetzungen') ?></th> + <th><?= _('Angebots­rhythmus') ?></th> + <th><?= _('Anwesenheits­pflicht') ?></th> + <th><?= _('Gewicht an Modulnote in %') ?></th> + </tr> + </thead> + <tbody> + <? foreach ($modul->modulteile as $modulTeil): ?> + <? + $modulTeilDeskriptor = $modulTeil->getDeskriptor($display_language); + // 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- + // Bezeichnung verwenden. + if (trim($modulTeil->nummer)) { + $num_bezeichnung = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['values'][$modulTeil->num_bezeichnung]['name']; + $name_kurz = sprintf('%s %d', $num_bezeichnung, $modulTeil->nummer); + } else { + $num_bezeichnung_default = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['default']; + $name_kurz = $GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG']['values'][$num_bezeichnung_default]['name'] + . ' ' . $nummer_modulteil; + $nummer_modulteil++; + } + ?> + <tr data-mvv-id="<?= $modulTeil->getId(); ?>" data-mvv-type="modulteil"> + <td style="vertical-align: top; font-weight: bold;" data-mvv-field="mvv_modulteil.nummer mvv_modulteil.num_bezeichnung"><?= $name_kurz ?></td> + <td data-mvv-field="mvv_modulteil_deskriptor.voraussetzung"><?= formatReady($modulTeilDeskriptor->voraussetzung) ?></td> + <td data-mvv-field="mvv_modulteil.semester"><?= $GLOBALS['MVV_NAME_SEMESTER']['values'][$modulTeil->semester]['name'] ?></td> + <td data-mvv-field="mvv_modulteil.pflicht"><?= ($modulTeil->pflicht ? _('Ja') : _('Nein')) ?> <?= $modulTeilDeskriptor->kommentar_pflicht ? formatReady($modulTeilDeskriptor->kommentar_pflicht) : '' ?></td> + <td data-mvv-field="mvv_modulteil.anteil_note"><?= $modulTeil->anteil_note ?>%</td> + </tr> + <? endforeach; ?> + </tbody> +</table>
\ No newline at end of file diff --git a/app/views/shared/modul/description.php b/app/views/shared/modul/description.php new file mode 100644 index 0000000..5aac378 --- /dev/null +++ b/app/views/shared/modul/description.php @@ -0,0 +1,22 @@ +<? if (count($modul->deskriptoren) > 1): ?> +<div style="width: 100%; text-align: right;"> + <? foreach ($modul->deskriptoren->getAvailableTranslations() as $language) : ?> + <? $lang = $GLOBALS['MVV_MODUL_DESKRIPTOR']['SPRACHE']['values'][$language]; ?> + <a data-dialog="size=auto;title='<?= htmlReady($modul->getDisplayName()) ?>'" href="<?= $controller->url_for('/description/' . $modul->id . '/', ['display_language' => $language]) ?>"> + <img src="<?= Assets::image_path('languages/lang_' . mb_strtolower($language) . '.gif') ?>" alt="<?= $lang['name'] ?>" title="<?= $lang['name'] ?>"> + </a> + <? endforeach; ?> +</div> +<? endif; ?> +<?= $this->render_partial('shared/modul/_modul') ?> +<? if ($type === 1) : ?> + <?= $this->render_partial('shared/modul/_modullvs') ?> + <?= $this->render_partial('shared/modul/_pruefungen') ?> + <?= $this->render_partial('shared/modul/_regularien') ?> +<? endif;?> +<? if ($type === 2): ?> + <?= $this->render_partial('shared/modul/_modullv') ?> +<? endif; ?> +<? if ($type === 3) : ?> + <?= $this->render_partial('shared/modul/_modul_ohne_lv') ?> +<? endif; ?>
\ No newline at end of file diff --git a/app/views/shared/modul/overview.php b/app/views/shared/modul/overview.php new file mode 100644 index 0000000..0f20791 --- /dev/null +++ b/app/views/shared/modul/overview.php @@ -0,0 +1,180 @@ +<table class="default mvv-modul-details nohover"> + <tr> + <th class="mvv-modul-details-head" style="width: 30%"><?= htmlReady($modul->code) ?></th> + <th class="mvv-modul-details-head" style="width: 30%"><?= htmlReady($institut->name) ?></th> + <th class="mvv-modul-details-head" style="width: 40%"><?= sprintf("%d CP", $modul->kp) ?> </th> + <th class="mvv-modul-details-head"></th> + </tr> + <tr> + <td colspan="2"> + <h3><?= htmlReady($deskriptor->bezeichnung) ?></h3> + <?= _('Lehrveranstaltungen') ?> <?= htmlReady($semester['name']) ?> + </td> + <td> + <dl> + <? foreach ($GLOBALS['MVV_MODUL']['PERSONEN_GRUPPEN']['values'] as $key => $gruppe) : ?> + <? $contacts = $modul->contact_assignments->findBy('category', $key)->orderBy('position', SORT_NUMERIC); ?> + <? if ($gruppe['visible'] && count($contacts)) : ?> + <dt><?= htmlReady($gruppe['name']) ?></dt> + <? foreach ($contacts as $modul_contact): ?> + <dd><?= htmlReady($modul_contact->contact->getDisplayName()) ?></dd> + <? endforeach; ?> + <? endif; ?> + <? endforeach; ?> + </dl> + </td> + <td> + <? if ($GLOBALS['perm']->have_perm('admin')) : ?> + <a href="<?= URLHelper::getLink("dispatch.php/shared/modul/mail/{$modul->id}/{$semester['semester_id']}")?>" data-dialog> + <?= Icon::create('mail', Icon::ROLE_CLICKABLE, tooltip2(_('Nachricht an alle Veranstaltungteilnehmer die diesem Modul zugeordnet sind.')))?> + </a> + <? endif; ?> + </td> + </tr> + <tr> + <td colspan="4" style="padding: 0;"> + <table class="default nohover"> + <? if (mb_strlen($teilnahmeVoraussetzung) > 0): ?> + <tr> + <td style="width: 20%; font-weight: bold;"><?= _('Teilnahmevoraussetzungen') ?></td> + <td ><?= formatReady($teilnahmeVoraussetzung) ?></td> + </tr> + <? endif; ?> + <? if (mb_strlen($deskriptor->kommentar)) : ?> + <tr> + <td style="width: 20%; font-weight: bold;"><?= _('Hinweise') ?></td> + <td><?= formatReady($deskriptor->kommentar) ?></td> + </tr> + <? endif; ?> + <? if (mb_strlen($deskriptor->ersatztext) > 0): ?> + <tr> + <td style="width: 20%; font-weight: bold;"> </td> + <td><?= formatReady($deskriptor->ersatztext) ?></td> + </tr> + <? else: ?> + + <? if ($modul->kapazitaet > 0): ?> + <tr> + <td style="width: 20%; font-weight: bold;"><?= _('Kapazität Modul') ?></td> + <td> + <?= htmlReady($modul->kapazitaet) ?> + <? if (mb_strlen($deskriptor->kommentar_kapazitaet) > 0): ?> + (<?= formatReady($deskriptor->kommentar_kapazitaet) ?>) + <? endif; ?> + + </td> + </tr> + <? endif; ?> + <? if (mb_strlen($pruef_ebene) > 0): ?> + <tr> + <td style="width: 20%; font-weight: bold;"><?= _('Prüfungsebene') ?></td> + <td><?= htmlReady($pruef_ebene) ?></td> + </tr> + <? endif; ?> + <? if (mb_strlen($deskriptor->pruef_vorleistung)) : ?> + <tr> + <td style="width: 20%; font-weight: bold;"><?= _('Prüfungsvorleistung Modul') ?></td> + <td><?= formatReady($deskriptor->pruef_vorleistung) ?></td> + </tr> + <? endif; ?> + <? if (mb_strlen($deskriptor->pruef_leistung)) : ?> + <tr> + <td style="width: 20%; font-weight: bold;"><?= _('Prüfungsleistung Modul') ?></td> + <td><?= formatReady($deskriptor->pruef_leistung) ?></td> + </tr> + <? endif; ?> + <? if (mb_strlen($deskriptor->kompetenzziele)): ?> + <tr> + <td style="width: 20%; font-weight: bold;"><?= _('Kompetenzziele') ?></td> + <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 $modul_teil): ?> + <tr> + <? if ($type === 1): ?> + <td> + <b> <?= htmlReady($modul_teil['name']) ?> </b> + <? if (mb_strlen($modul_teil['kommentar']) > 0): ?> + <?= $modul_teil['kommentar'] ? '<br>(' . formatReady($modul_teil['kommentar']) . ')' : '' ?> + <? endif; ?> + <? if (mb_strlen($modul_teil['voraussetzung']) > 0): ?> + <br> + <b><?= _('Teilnahmevoraussetzungen') ?>:</b> <?= formatReady($modul_teil['voraussetzung']) ?> + <? endif; ?> + </td> + <? endif; ?> + <td <? if ($type === 2): ?> colspan="3" <? endif; ?>> + <? foreach ($modul_teil['lvGruppen'] as $gruppe): ?> + <? if (mb_strlen($gruppe['alt_texte']) > 0): ?> + <?= formatReady($gruppe['alt_texte']) ?> + <? endif; ?> + <? if (count($gruppe['courses'])) : ?> + <ul> + <? foreach ($gruppe['courses'] as $course): ?> + <li> + <a href="<?= URLHelper::getLink('dispatch.php/course/details', ['sem_id' => $course->id]) ?>"> + <?= htmlReady(($course['VeranstaltungsNummer'] ? $course['VeranstaltungsNummer'] . ' - ' : '') . $course['Name']) ?> + </a> + <? if ($course['visible'] != 1) : ?> + <em><?= _('[versteckt]') ?></em> + <? endif; ?> + <? if (Config::get()->COURSE_SEARCH_SHOW_ADMISSION_STATE) : ?> + <? switch (SemBrowse::getStatusCourseAdmission($course->id, $course->admission_prelim)) : + case 1: + echo Icon::create('span-2quarter', Icon::ROLE_STATUS_YELLOW, [ + 'alt' => _('Eingeschränkter Zugang'), + 'title' => _('Eingeschränkter Zugang'), + 'style' => 'vertical-align: text-bottom', + ]); + break; + case 2: + echo Icon::create('span-empty', Icon::ROLE_STATUS_RED, [ + 'alt' => _('Kein Zugang'), + 'title' => _('Kein Zugang'), + 'style' => 'vertical-align: text-bottom', + ]); + break; + default: + echo Icon::create('span-full', Icon::ROLE_STATUS_GREEN, [ + 'alt' => _('Uneingeschränkter Zugang'), + 'title' => _('Uneingeschränkter Zugang'), + 'style' => 'vertical-align: text-bottom', + ]); + endswitch; ?> + <? endif; ?> + </li> + <? endforeach; ?> + </ul> + <? endif; ?> + <? endforeach; ?> + </td> + <? if ($type === 1) : ?> + <td> + <? if (mb_strlen($modul_teil['pruef_vorleistung']) > 0) : ?> + <b><?= _('Prüfungsvorleistung') ?>:</b> <?= htmlReady($modul_teil['pruef_vorleistung']) ?> + + <? endif; ?> + <? if (mb_strlen($modul_teil['pruef_leistung']) > 0) : ?> + <b><?= _('Prüfungsform') ?>:</b> <br/><?= htmlReady($modul_teil['pruef_leistung']) ?> (<?= ($modul_teil['anteil_note'] ? '(' . htmlReady($modul_teil['anteil_note']) . '%)' : '') ?> + <? endif; ?> + </td> + <? endif; ?> + </tr> + <? endforeach; ?> + <? endif; ?> +</table> |
