diff --git a/cis/private/profile/studienplan.php b/cis/private/profile/studienplan.php new file mode 100644 index 000000000..bae271ea0 --- /dev/null +++ b/cis/private/profile/studienplan.php @@ -0,0 +1,312 @@ + + * + * Zeigt den Studienplan eines Studierenden an + * und bietet die Möglichkeit zur Anmeldung zu Lehrveranstaltungen. + * Dabei werden Regeln und Anmeldezeiträume der Lehrveranstaltungen berücksichtigt. + */ +require_once('../../../config/cis.config.inc.php'); +require_once('../../../include/functions.inc.php'); +require_once('../../../include/studienordnung.class.php'); +require_once('../../../include/studienplan.class.php'); +require_once('../../../include/lvregel.class.php'); +require_once('../../../include/studiensemester.class.php'); +require_once('../../../include/lehrveranstaltung.class.php'); +require_once('../../../include/prestudent.class.php'); +require_once('../../../include/zeugnisnote.class.php'); +require_once('../../../include/lvangebot.class.php'); +require_once('../../../include/datum.class.php'); +require_once('../../../include/phrasen.class.php'); +require_once('../../../include/note.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); + +echo ' + +
+ +| '.$p->t('global/lehrveranstaltung').' | +'.$p->t('studienplan/ects').' | +'.$p->t('studienplan/status').' | '; + +foreach($stsem_arr as $stsem) +{ + echo ''.$stsem.' | '; +} +echo ' +
|---|---|---|---|
| '; + + // Einrückung für Subtree + for($i=0;$i<$depth;$i++) + echo ' '; + + // Bezeichnung der Lehrveranstaltung + echo $row_tree->bezeichnung; + echo ' | '; + + // ECTS Punkte + echo ''.$row_tree->ects.' | '; + + // Status der LV (absolviert, offen) + echo ''; + + // Note zu dieser LV vorhanden? + if(isset($noten_arr[$row_tree->lehrveranstaltung_id])) + { + // Positive Note fuer diese LV vorhanden? + $positiv=false; + foreach($noten_arr[$row_tree->lehrveranstaltung_id] as $note) + { + if($note_pruef_arr[$note]->positiv) + $positiv=true; + } + if($positiv) + echo ''.$p->t('studienplan/abgeschlossen').''; + else + echo ''.$p->t('studienplan/negativ').''; + } + else + { + echo ''.$p->t('studienplan/offen').''; + } + echo ' | '; + + // Spalten für die einzelnen Studiensemester + foreach($stsem_arr as $key=>$stsem) + { + $semester=$key+1; + + $empfehlung=""; + //Empfehlung holen + if(isset($lv_arr[$row_tree->lehrveranstaltung_id])) + { + $empfohlenesSemester = $lv_arr[$row_tree->lehrveranstaltung_id]->semester; + if($semester==$empfohlenesSemester) + $empfehlung='class="empfehlung"'; + } + + echo '';
+
+
+ // Ist bereits eine Note für diese LV in diesem Stsem vorhanden?
+ if(isset($noten_arr[$row_tree->lehrveranstaltung_id][$stsem]))
+ {
+ if($note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->positiv)
+ echo ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.'';
+ else
+ echo ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.'';
+ }
+ else
+ {
+ // Angebot der LV pruefen
+ if(isset($lvangebot_arr[$row_tree->lehrveranstaltung_id])
+ && isset($lvangebot_arr[$row_tree->lehrveranstaltung_id][$stsem]))
+ {
+ // LV findet statt
+ $angebot = $lvangebot_arr[$row_tree->lehrveranstaltung_id][$stsem];
+
+ // Pruefen ob eine Anmeldung möglich ist
+ $anmeldungmoeglich=true;
+
+ // Anmelde Zeitfenster pruefen
+ if(!$datum_obj->between($angebot->anmeldefenster_start, $angebot->anmeldefenster_ende, date('Y-m-d H:i:s')))
+ {
+ $anmeldeinformation=$p->t('studienplan/anmeldungvonbis',array($datum_obj->formatDatum($angebot->anmeldefenster_start,'d.m.Y H:i'),$datum_obj->formatDatum($angebot->anmeldefenster_ende,'d.m.Y H:i')));
+ $anmeldungmoeglich=false;
+ }
+
+ if($anmeldungmoeglich)
+ {
+ // Regeln Pruefen
+ $lvregel = new lvregel();
+
+ // Pruefen ob Semestersperre vorhanden ist
+ if(!$lvregel->checkSemester($row_tree->studienplan_lehrveranstaltung_id, $semester))
+ {
+ echo ' ';
+ }
+ else
+ {
+ if($lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem))
+ {
+ echo ''.$p->t('studienplan/anmelden').'';
+ }
+ else
+ {
+ // LV wird angeboten, Regeln für Anmeldung nicht erfüllt
+ echo 'X';
+ }
+ }
+ }
+ else
+ {
+ // LV wird angeboten - Anmeldung aber noch nicht moeglich
+ echo 'X';
+ }
+ }
+ else
+ {
+ // LV wird in diesem Studiensemester nicht angeboten
+ echo '-';
+ }
+ }
+ echo ' | ';
+ }
+ echo '
| + | '.$p->t('studienplan/legendeEmpfehlung').' | +
| X | +'.$p->t('studienplan/legendeLVwirdAngeboten').' | +
![]() |
+ '.$p->t('studienplan/legendeLock').' | +
Klicken Sie auf eine Lehrveranstaltung um die Details anzuzeigen
Klicken Sie auf eine Lehrveranstaltung um dei Regeln anzuzeigen
+Klicken Sie auf eine Lehrveranstaltung um die Regeln anzuzeigen
Kompatibilität