";
+ echo "
".$p->t('global/studiengang')."";
+ echo "
";
+ echo "";
- //echo "Datum: ".date('d.m.Y')."
";
- echo "
";
-
- //Lehrveranstaltungen und Noten holen
- if($stsem != "alle")
- {
- $sqlFilter = " AND tbl_zeugnisnote.studiensemester_kurzbz = ".$db->db_add_param($stsem)."
- AND (tbl_lvgesamtnote.studiensemester_kurzbz = ".$db->db_add_param($stsem)." OR tbl_lvgesamtnote.studiensemester_kurzbz is null) ";
- }
- else
- $sqlFilter = "";
-
- $student = new student($user); // TODO EINE
-
- $qry = "SELECT
- tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_zeugnisnote.note, tbl_zeugnisnote.punkte,
- tbl_lvgesamtnote.note as lvnote, tbl_lvgesamtnote.punkte as lvpunkte,
- tbl_zeugnisnote.benotungsdatum, tbl_lvgesamtnote.freigabedatum,
- tbl_lvgesamtnote.benotungsdatum as lvbenotungsdatum
- FROM
- lehre.tbl_lehrveranstaltung, lehre.tbl_zeugnisnote
- LEFT OUTER JOIN
- campus.tbl_lvgesamtnote
- USING (lehrveranstaltung_id, student_uid, studiensemester_kurzbz)
- WHERE
- tbl_zeugnisnote.prestudent_id = ".$db->db_add_param($student->prestudent_id, FHC_INTEGER)
- .$sqlFilter."
- AND tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_zeugnisnote.lehrveranstaltung_id
- ORDER BY bezeichnung";
-
- if($result=$db->db_query($qry))
+ if(isset($prestudent_id))
{
- //Tabelle anzeigen
- $tbl= "
-
-
- | ".$p->t('global/lehrveranstaltung')." |
- ".$p->t('benotungstool/lvNote')." | ";
- if(defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
- $tbl.="".$p->t('benotungstool/punkte')." | ";
-
- $tbl.=" ".$p->t('benotungstool/zeugnisnote')." | ";
- if(defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
- $tbl.="".$p->t('benotungstool/punkte')." | ";
-
- $tbl.="
- ".$p->t('tools/benotungsdatumDerZeugnisnote')." |
- ".$p->t('benotungstool/pruefung')." |
-
-
- ";
- $i=0;
- $legende = false;
- while($row=$db->db_fetch_object($result))
+ $semester = array();
+ $prestudent->result = array();
+ $prestudent->getPrestudentRolle($prestudent_id);
+ foreach($prestudent->result as $rolle)
{
- $lv_obj = new lehrveranstaltung();
- $lv_obj->load($row->lehrveranstaltung_id);
-
- $i++;
- $tbl.= "| ".$lv_obj->bezeichnung_arr[$sprache].($lv_obj->lehrform_kurzbz!="" && $lv_obj->lehrform_kurzbz!=" - "?" (".$lv_obj->lehrform_kurzbz.")":"")." | ";
- $tbl.= "";
-
- //Nur freigegebene Noten anzeigen
- if($row->freigabedatum>=$row->lvbenotungsdatum)
+ if($rolle->status_kurzbz == "Student" || $rolle->status_kurzbz == "Absolvent" || $rolle->status_kurzbz == "Diplomand")
{
- if(isset($notenarr[$row->lvnote]))
- $tbl.=$notenarr[$row->lvnote];
- else
- $tbl.=$row->lvnote;
+ $semester[$rolle->studiensemester_kurzbz] = 1;
}
-
- $tbl.= " | ";
-
- // LV Gesamtnote Punkte
- if(defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
- {
- $lvpunkte = ($row->lvpunkte!=''?(float)$row->lvpunkte:'');
- $tbl.="".$lvpunkte." | ";
- }
-
- if ($row->note != $row->lvnote && $row->lvnote != NULL)
- {
- $markier = " style='background-color: #FFD999;'";
- $legende=true;
- }
- else
- $markier = "";
- $tbl .= "";
-
- if(isset($notenarr[$row->note]))
- $tbl.=$notenarr[$row->note];
- else
- $tbl.=$row->note;
-
- $tbl .= " | ";
-
- if(defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
- {
- $punkte = ($row->punkte!=''?((float)$row->punkte):'');
- $tbl.="".$punkte." | ";
- }
-
- $tbl .= ''.$datum_obj->formatDatum($row->benotungsdatum,'d.m.Y').' | ';
-
- $student = new student($user); // TODO EINE
- $pruefung = new pruefung();
- $pruefung->getPruefungen($student->prestudent_id, null,$row->lehrveranstaltung_id,$stsem);
-
- if(count($pruefung->result)>0)
- {
- $tbl.='';
- foreach($pruefung->result as $row)
- {
- if(isset($notenarr[$row->note]))
- $note=$notenarr[$row->note];
- else
- $note=$row->note;
-
- if($row->punkte!='')
- $punkte = ' ('.(float)$row->punkte.')';
- else
- $punkte='';
-
- $tbl.= $row->pruefungstyp_beschreibung.' '.$datum_obj->formatDatum($row->datum,'d.m.Y').' '.$note.$punkte.' ';
-
- }
- $tbl.=' | ';
- }
- else
- $tbl.=' | ';
-
- $tbl .= "
";
}
+ echo "".$p->t('global/studiensemester')."";
+ echo "";
+
+ //echo "Datum: ".date('d.m.Y')."
";
+ echo "
";
+
+ //Lehrveranstaltungen und Noten holen
+ if($stsem != "alle")
+ {
+ $sqlFilter = " AND tbl_zeugnisnote.studiensemester_kurzbz = ".$db->db_add_param($stsem)."
+ AND (tbl_lvgesamtnote.studiensemester_kurzbz = ".$db->db_add_param($stsem)." OR tbl_lvgesamtnote.studiensemester_kurzbz is null) ";
+ }
+ else
+ $sqlFilter = "";
+
+
+ $qry = "SELECT
+ tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_zeugnisnote.note, tbl_zeugnisnote.punkte,
+ tbl_lvgesamtnote.note as lvnote, tbl_lvgesamtnote.punkte as lvpunkte,
+ tbl_zeugnisnote.benotungsdatum, tbl_lvgesamtnote.freigabedatum,
+ tbl_lvgesamtnote.benotungsdatum as lvbenotungsdatum
+ FROM
+ lehre.tbl_lehrveranstaltung, lehre.tbl_zeugnisnote
+ LEFT OUTER JOIN
+ campus.tbl_lvgesamtnote
+ USING (lehrveranstaltung_id, prestudent_id, studiensemester_kurzbz)
+ JOIN tbl_prestudent USING(prestudent_id)
+ WHERE
+ tbl_prestudent.prestudent_id = ".$db->db_add_param($prestudent_id, FHC_INTEGER)
+ .$sqlFilter."
+ AND tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_zeugnisnote.lehrveranstaltung_id
+ ORDER BY bezeichnung";
+
+ if($result=$db->db_query($qry))
+ {
+ //Tabelle anzeigen
+ $tbl= "
+
+
+ | ".$p->t('global/lehrveranstaltung')." |
+ ".$p->t('benotungstool/lvNote')." | ";
+ if(defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
+ $tbl.="".$p->t('benotungstool/punkte')." | ";
+
+ $tbl.=" ".$p->t('benotungstool/zeugnisnote')." | ";
+ if(defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
+ $tbl.="".$p->t('benotungstool/punkte')." | ";
+
+ $tbl.="
+ ".$p->t('tools/benotungsdatumDerZeugnisnote')." |
+ ".$p->t('benotungstool/pruefung')." |
+
+
+ ";
+ $i=0;
+ $legende = false;
+ while($row=$db->db_fetch_object($result))
+ {
+ $lv_obj = new lehrveranstaltung();
+ $lv_obj->load($row->lehrveranstaltung_id);
+
+ $i++;
+ $tbl.= "| ".$lv_obj->bezeichnung_arr[$sprache].($lv_obj->lehrform_kurzbz!="" && $lv_obj->lehrform_kurzbz!=" - "?" (".$lv_obj->lehrform_kurzbz.")":"")." | ";
+ $tbl.= "";
+
+ //Nur freigegebene Noten anzeigen
+ if($row->freigabedatum>=$row->lvbenotungsdatum)
+ {
+ if(isset($notenarr[$row->lvnote]))
+ $tbl.=$notenarr[$row->lvnote];
+ else
+ $tbl.=$row->lvnote;
+ }
+
+ $tbl.= " | ";
+
+ // LV Gesamtnote Punkte
+ if(defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
+ {
+ $lvpunkte = ($row->lvpunkte!=''?(float)$row->lvpunkte:'');
+ $tbl.="".$lvpunkte." | ";
+ }
+
+ if ($row->note != $row->lvnote && $row->lvnote != NULL)
+ {
+ $markier = " style='background-color: #FFD999;'";
+ $legende=true;
+ }
+ else
+ $markier = "";
+ $tbl .= "";
+
+ if(isset($notenarr[$row->note]))
+ $tbl.=$notenarr[$row->note];
+ else
+ $tbl.=$row->note;
+
+ $tbl .= " | ";
+
+ if(defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
+ {
+ $punkte = ($row->punkte!=''?((float)$row->punkte):'');
+ $tbl.="".$punkte." | ";
+ }
+
+ $tbl .= ''.$datum_obj->formatDatum($row->benotungsdatum,'d.m.Y').' | ';
+
+ $pruefung = new pruefung();
+
+ $prestudent = new prestudent();
+ $prestudent->getPrestudentsFromUid($user);
+ $pruefungen_arr = array();
+ foreach($prestudent->result as $ps)
+ {
+ $pruefung->getPruefungen($ps->prestudent_id, null,$row->lehrveranstaltung_id,$stsem);
+ array_merge($pruefungen_arr, $pruefung->result);
+ }
+
+ if(count($pruefungen_arr)>0)
+ {
+ $tbl.='';
+ foreach($pruefungen_arr as $row)
+ {
+ if(isset($notenarr[$row->note]))
+ $note=$notenarr[$row->note];
+ else
+ $note=$row->note;
+
+ if($row->punkte!='')
+ $punkte = ' ('.(float)$row->punkte.')';
+ else
+ $punkte='';
+
+ $tbl.= $row->pruefungstyp_beschreibung.' '.$datum_obj->formatDatum($row->datum,'d.m.Y').' '.$note.$punkte.' ';
+
+ }
+ $tbl.=' | ';
+ }
+ else
+ $tbl.=' | ';
+
+ $tbl .= "
";
+ }
- $tbl.= "
";
+ $tbl.= "
";
- if($legende)
- $tbl.= "
| ".$p->t('tools/hinweistextMarkierung')." |
";
- if($i==0)
- echo $p->t('tools/nochKeineBeurteilungEingetragen');
+ if($legende)
+ $tbl.= "
| ".$p->t('tools/hinweistextMarkierung')." |
";
+ if($i==0)
+ echo $p->t('tools/nochKeineBeurteilungEingetragen');
+ else
+ echo $tbl;
+ }
else
- echo $tbl;
+ {
+ $error .= $p->t('tools/fehlerBeimAuslesenDerNoten');
+ }
+ }
+ echo "
";
}
else
{
- $error .= $p->t('tools/fehlerBeimAuslesenDerNoten');
+ echo "";
echo "
";
echo "
".$p->t('global/studiengang')."";
diff --git a/cis/private/profile/studienplan.php b/cis/private/profile/studienplan.php
index 43edda8df..d9ca515f5 100755
--- a/cis/private/profile/studienplan.php
+++ b/cis/private/profile/studienplan.php
@@ -34,6 +34,7 @@ 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/student.class.php');
require_once('../../../include/zeugnisnote.class.php');
require_once('../../../include/lvangebot.class.php');
require_once('../../../include/datum.class.php');
@@ -44,42 +45,49 @@ require_once('../../../include/benutzergruppe.class.php');
require_once('../../../include/konto.class.php');
require_once('../../../include/lvinfo.class.php');
require_once('../../../include/addon.class.php');
-
+require_once('../../../include/anrechnung.class.php');
$uid = get_uid();
-// TODO EINE get_uid auf get_prestudent_id!?!
-// TODO EINE strg + f "uid" im ganzen skript!
-if(isset($_GET['$prestudent']))
+$getParam = array();
+
+if(isset($_GET['uid']))
{
// Administratoren duerfen die UID als Parameter uebergeben um den Studienplan
// von anderen Personen anzuzeigen
-
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if($rechte->isBerechtigt('admin'))
+ {
$uid=$_GET['uid'];
+ $getParam[] = "uid=". $uid;
+ }
}
+
+$prestudent_id = null;
+if(isset($_GET['prestudent_id']))
+{
+ $prestudent_id = $_GET['prestudent_id'];
+}
+if(isset($_GET["stsem"]))
+ $getParam[] = "stsem=". $_GET["stsem"];
+
+
$p = new phrasen(getSprache());
$datum_obj = new datum();
$db = new basis_db();
-
if(isset($_GET['getAnmeldung']))
{
// Liefert das Formular zur Anmeldung zu Lehrveranstaltungen zurueck
-
$lehrveranstaltung_id=$_GET['lehrveranstaltung_id'];
$stsem = $_GET['stsem'];
-
echo $p->t('studienplan/LehrveranstalungWaehlen').'
';
else
@@ -141,7 +145,6 @@ echo '
';
-
// ADDONS laden
$addon_obj = new addon();
$addon_obj->loadAddons();
@@ -150,7 +153,6 @@ echo '
if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php'))
echo '';
}
-
// Wenn Seite fertig geladen ist Addons aufrufen
echo '
';
+$getString = "";
+$firstParam = true;
+
+foreach($getParam as $pa)
+{
+ if($firstParam)
+ {
+ $firstParam = false;
+ }
+ else
+ $getString .= "&";
+ $getString .= $pa;
+}
+
echo '
'.$p->t('studienplan/Anmeldung').'
';
-if(isset($_POST['action']) && $_POST['action']=='anmeldung')
+
+$prestudent = new prestudent();
+$prestudent->getPrestudentsFromUid($uid);
+
+if(count($prestudent->result) > 0)
{
- $lehrveranstaltung_id = $_POST['lv'];
- $stsem = $_POST['stsem'];
+ /*** dropdown fuer studiengang ***/
+ echo "
";
+ echo "".$p->t('global/studiengang')."";
+ echo "";
+
+ if(isset($prestudent_id))
+ {
+ $semester = array();
+ $prestudent->result = array();
+ $prestudent->getPrestudentRolle($prestudent_id);
+ foreach($prestudent->result as $rolle)
{
- // Benutzer einschreiben
- $bngruppe = new benutzergruppe();
-
- if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem))
+ if($rolle->status_kurzbz == "Student" || $rolle->status_kurzbz == "Absolvent" || $rolle->status_kurzbz == "Diplomand")
{
+ $semester[$rolle->studiensemester_kurzbz] = 1;
+ }
+ }
+ }
+ echo "
";
+}
- // Pruefen ob genug CP zur Verfuegung stehen falls diese reduziert sind
- $konto = new konto();
- $cp = $konto->getCreditPoints($prestudent_id, $stsem);
- if($cp===false || $cp>=$lv->ects)
+if(isset($prestudent_id))
+{
+ if(isset($_POST['action']) && $_POST['action']=='anmeldung')
+ {
+ $lehrveranstaltung_id = $_POST['lv'];
+ $stsem = $_POST['stsem'];
+ $lvangebot = new lvangebot();
+ $lvangebot->getAllFromLvId($lehrveranstaltung_id, $stsem);
+ if(isset($lvangebot->result[0]))
+ {
+ if($lvangebot->result[0]->AnmeldungMoeglich())
+ {
+ // Benutzer einschreiben
+ $bngruppe = new benutzergruppe();
+ if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem))
{
- $bngruppe->uid = $uid;
- $bngruppe->gruppe_kurzbz = $lvangebot->result[0]->gruppe_kurzbz;
- $bngruppe->studiensemester_kurzbz = $stsem;
- $bngruppe->new=true;
- if($bngruppe->save())
+ // Pruefen ob genug CP zur Verfuegung stehen falls diese reduziert sind
+ $konto = new konto();
+ $cp = $konto->getCreditPoints($uid, $stsem);
+ if($cp===false || $cp>=$lv->ects)
{
- echo '
'.$p->t('studienplan/einschreibungErfolgreich').'';
- // Menue neu Laden damit die LV unter Meine LV gleich angezeigt wird
- echo '';
+ $bngruppe->uid = $uid;
+ $bngruppe->gruppe_kurzbz = $lvangebot->result[0]->gruppe_kurzbz;
+ $bngruppe->studiensemester_kurzbz = $stsem;
+ $bngruppe->new=true;
+ if($bngruppe->save())
+ {
+ echo '
'.$p->t('studienplan/einschreibungErfolgreich').'';
+ // Menue neu Laden damit die LV unter Meine LV gleich angezeigt wird
+ echo '';
+ }
}
+ else
+ echo '
'.$p->t('studienplan/zuWenigCP').'';
}
else
- echo '
'.$p->t('studienplan/zuWenigCP').'';
+ {
+ echo '
'.$p->t('studienplan/bereitsAngemeldet').'';
+ }
}
else
- {
- echo '
'.$p->t('studienplan/bereitsAngemeldet').'';
- }
+ echo $lvangebot->result[0]->errormsg;
}
else
- echo $lvangebot->result[0]->errormsg;
+ echo $p->t('studienplan/AnmeldungNichtMoeglich');
}
- else
- echo $p->t('studienplan/AnmeldungNichtMoeglich');
-}
-
-$db = new basis_db();
-$datum_obj = new datum();
-// Student Laden
-$prestudent = new prestudent($prestudent_id);
-// ersten Status holen
-$prestudent->getFirstStatus($prestudent_id, 'Student');
-
-$studiensemester_start = $prestudent->studiensemester_kurzbz;
-$ausbildungssemester_start = $prestudent->ausbildungssemester;
-$orgform_kurzbz = $prestudent->orgform_kurzbz;
-
-$prestudent->getLastStatus($prestudent_id, 'Student');
-$studienplan_id = $prestudent->studienplan_id;
-
-$studienplan = new studienplan();
-$studienplan->loadStudienplan($studienplan_id);
-
-// Studienplan laden
-$lehrveranstaltung = new lehrveranstaltung();
-$lehrveranstaltung->loadLehrveranstaltungStudienplan($studienplan_id);
-$tree = $lehrveranstaltung->getLehrveranstaltungTree();
-
-
-/*
- Vom Semesterstart des Studierenden ausgehend werden die Studiensemester geladen.
- Es werden mindestens so viele Studiensemester geladen wie die Regelstudiendauer des
- Studienplanes angibt.
-*/
-// Angezeigte Studiensemester holen
-$stsem = new studiensemester();
-$stsem_arr[0]=$studiensemester_start;
-$studiensemester_prev=$studiensemester_start;
-for($i=1;$i<$studienplan->regelstudiendauer;$i++)
-{
- $stsem_arr[$i]=$stsem->getNextFrom($studiensemester_prev);
- $studiensemester_prev=$stsem_arr[$i];
-}
-
-/*
- Wenn Studierende ueber der Regelstudiendauer hinaus studierenen, wird das aktuelle Studiensemester
- nicht angezeigt. Deshalb wird in solchen faellen immer bis zum aktuellen+2 Studiensemester geladen.
-*/
-$stsem_obj = new studiensemester();
-$aktornext = $stsem_obj->getaktorNext();
-$stsemToShow = $stsem_obj->jump($aktornext,2);
-
-if(!in_array($stsemToShow,$stsem_arr))
-{
- for($i=count($stsem_arr);$i<50;$i++)
+ $db = new basis_db();
+ $datum_obj = new datum();
+ // Student Laden
+ $student = new student();
+ $student->load($uid);
+ // ersten Status holen
+ $prestudent = new prestudent();
+ $prestudent->getFirstStatus($prestudent_id, 'Student');
+ $studiensemester_start = $prestudent->studiensemester_kurzbz;
+ $ausbildungssemester_start = $prestudent->ausbildungssemester;
+ $orgform_kurzbz = $prestudent->orgform_kurzbz;
+ $prestudent->getLastStatus($prestudent_id, 'Student');
+ $studienplan_id = $prestudent->studienplan_id;
+ $studienplan = new studienplan();
+ $studienplan->loadStudienplan($studienplan_id);
+ // Studienplan laden
+ $lehrveranstaltung = new lehrveranstaltung();
+ $lehrveranstaltung->loadLehrveranstaltungStudienplan($studienplan_id);
+ $tree = $lehrveranstaltung->getLehrveranstaltungTree();
+ /*
+ Vom Semesterstart des Studierenden ausgehend werden die Studiensemester geladen.
+ Es werden mindestens so viele Studiensemester geladen wie die Regelstudiendauer des
+ Studienplanes angibt.
+ */
+ // Angezeigte Studiensemester holen
+ $stsem = new studiensemester();
+ $stsem_arr[0]=$studiensemester_start;
+ $studiensemester_prev=$studiensemester_start;
+ for($i=1;$i<$studienplan->regelstudiendauer;$i++)
{
- if(!$stsem_arr[$i]=$stsem->getNextFrom($studiensemester_prev))
- {
- unset($stsem_arr[$i]);
- break;
- }
+ $stsem_arr[$i]=$stsem->getNextFrom($studiensemester_prev);
$studiensemester_prev=$stsem_arr[$i];
- if($stsemToShow==$studiensemester_prev)
+ }
+ /*
+ Wenn Studierende ueber der Regelstudiendauer hinaus studierenen, wird das aktuelle Studiensemester
+ nicht angezeigt. Deshalb wird in solchen faellen immer bis zum aktuellen+2 Studiensemester geladen.
+ */
+ $stsem_obj = new studiensemester();
+ $aktornext = $stsem_obj->getaktorNext();
+ $stsemToShow = $stsem_obj->jump($aktornext,2);
+ if(!in_array($stsemToShow,$stsem_arr))
+ {
+ for($i=count($stsem_arr);$i<50;$i++)
{
- break;
+ if(!$stsem_arr[$i]=$stsem->getNextFrom($studiensemester_prev))
+ {
+ unset($stsem_arr[$i]);
+ break;
+ }
+ $studiensemester_prev=$stsem_arr[$i];
+ if($stsemToShow==$studiensemester_prev)
+ {
+ break;
+ }
}
}
-}
-
-// Noten des Studierenden holen
-$noten_arr=array();
-$zeugnisnote = new zeugnisnote();
-if($zeugnisnote->getZeugnisnoten('',$prestudent_id,''))
-{
- foreach($zeugnisnote->result as $row_note)
+ // Noten des Studierenden holen
+ $noten_arr=array();
+ $zeugnisnote = new zeugnisnote();
+ if($zeugnisnote->getZeugnisnoten('',$prestudent_id,''))
{
- if($row_note->note!='')
- $noten_arr[$row_note->lehrveranstaltung_id][$row_note->studiensemester_kurzbz]=$row_note->note;
+ foreach($zeugnisnote->result as $row_note)
+ {
+ if($row_note->note!='')
+ {
+ $noten_arr[$row_note->lehrveranstaltung_id][$row_note->studiensemester_kurzbz]=$row_note->note;
+ }
+ }
}
-}
+ $note_pruef_arr = array();
+ $note = new note();
+ $note->getAll();
+ foreach($note->result as $row_note)
+ $note_pruef_arr[$row_note->note]=$row_note;
+ // LV Angebot holen
+ $lvangebot_arr = array();
+ $lvangebot = new lvangebot();
+ $lvangebot->getLVAngebotFromStudienplan($studienplan_id, $stsem_arr,true);
+ foreach($lvangebot->result as $row_lvangebot)
+ $lvangebot_arr[$row_lvangebot->lehrveranstaltung_id][$row_lvangebot->studiensemester_kurzbz]=$row_lvangebot;
+ // LVs des Studienplans laden
+ $lv_arr = array();
+ $lv = new lehrveranstaltung();
+ $lv->loadLehrveranstaltungStudienplan($studienplan_id);
+ foreach($lv->lehrveranstaltungen as $row_lva)
+ $lv_arr[$row_lva->lehrveranstaltung_id]=$row_lva;
+ echo '
'.$p->t('studienplan/studienplan').": $studienplan->bezeichnung ($studienplan_id) - $student->vorname $student->nachname ( $student->uid )
";
+ echo '
+
+
+ | '.$p->t('global/lehrveranstaltung').' | ';
+ if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN)
+ echo ''.$p->t('global/semester').' | ';
+ echo ''.$p->t('studienplan/ects').' |
+ '.$p->t('studienplan/status').' | ';
+ foreach($stsem_arr as $stsem)
+ {
+ echo '';
+ echo $stsem;
+ $konto = new konto();
+ $cp = $konto->getCreditPoints($prestudent_id, $stsem);
+ if($cp!==false)
+ echo '
';
+ echo ' | ';
+ }
+ echo '
+
+
+ ';
+ // Lehrveranstaltungen anzeigen
+ drawTree($tree,0);
-$note_pruef_arr = array();
-$note = new note();
-$note->getAll();
-foreach($note->result as $row_note)
- $note_pruef_arr[$row_note->note]=$row_note;
-
-// LV Angebot holen
-$lvangebot_arr = array();
-$lvangebot = new lvangebot();
-$lvangebot->getLVAngebotFromStudienplan($studienplan_id, $stsem_arr,true);
-foreach($lvangebot->result as $row_lvangebot)
- $lvangebot_arr[$row_lvangebot->lehrveranstaltung_id][$row_lvangebot->studiensemester_kurzbz]=$row_lvangebot;
-
-// LVs des Studienplans laden
-$lv_arr = array();
-$lv = new lehrveranstaltung();
-$lv->loadLehrveranstaltungStudienplan($studienplan_id);
-foreach($lv->lehrveranstaltungen as $row_lva)
- $lv_arr[$row_lva->lehrveranstaltung_id]=$row_lva;
-
-echo ''.$p->t('studienplan/studienplan').": $studienplan->bezeichnung ($studienplan_id) - $prestudent->vorname $prestudent->nachname ( $prestudent->uid )
";
-
-echo '
-
-
- | '.$p->t('global/lehrveranstaltung').' | ';
-
-if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN)
- echo ''.$p->t('global/semester').' | ';
-
-echo ''.$p->t('studienplan/ects').' |
- '.$p->t('studienplan/status').' | ';
-
-foreach($stsem_arr as $stsem)
-{
- echo '';
-
- echo $stsem;
- $konto = new konto();
- $cp = $konto->getCreditPoints($prestudent_id, $stsem);
- if($cp!==false)
- echo '
';
- echo ' | ';
-}
-echo '
+ echo '
';
+ echo '
'.$p->t('studienplan/legende').':
+
+
+
+ |
+ |
-
- ';
-
-// Lehrveranstaltungen anzeigen
-drawTree($tree,0);
-
-function drawTree($tree, $depth)
-{
- global $uid, $stsem_arr, $noten_arr, $lvangebot_arr;
- global $datum_obj, $db, $lv_arr, $p, $note_pruef_arr;
-
- foreach($tree as $row_tree)
- {
- $style='';
- if(!empty($row_tree->childs))
- {
- $bstart='';$bende='';
- $style=' style="background-color:#EEEEEE"';
- }
- else
- {
- $bstart='';$bende='';
- }
-
- switch($row_tree->lehrtyp_kurzbz)
- {
- case 'modul':
- $icon='
';
- $style=' style="background-color:#CCCCCC"';
- $termine='';
- break;
- case 'lv':
- $icon='
';
- $termine="
";
- break;
- default:
- $icon='';
- }
-
-
- echo '
- | '.$bstart;
-
- // Einrückung für Subtree
- for($i=0;$i<$depth;$i++)
- echo ' ';
-
- $lvkompatibel = new lehrveranstaltung();
- $lvkompatibel_arr = $lvkompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id);
- $lvkompatibel_arr[]=$row_tree->lehrveranstaltung_id;
-
- $abgeschlossen=false;
- $lvregel = new lvregel();
- if($lvregel->exists($row_tree->studienplan_lehrveranstaltung_id))
- {
- if($lvregel->isAbgeschlossen($prestudent_id, $row_tree->studienplan_lehrveranstaltung_id))
- $abgeschlossen=true;
- else
- $abgeschlossen=false;
- }
- $lvinfo = new lvinfo();
- switch(getSprache())
- {
- case 'German':
- $sprache = 'de';
- break;
- case 'English':
- $sprache = 'en';
- break;
- default:
- $sprache = 'de';
- }
- if($lvinfo->exists($row_tree->lehrveranstaltung_id, getSprache()))
- echo $icon." ".$termine." lehrveranstaltung_id&language=$sprache','Lehrveranstaltungsinformation','width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes');\">".$row_tree->kurzbz.' - '.$row_tree->bezeichnung."";
- else
- // Bezeichnung der Lehrveranstaltung
- echo $icon." ".$termine." ".$row_tree->kurzbz.' - '.$row_tree->bezeichnung.'('.$row_tree->lehrveranstaltung_id.')';
- echo $bende.' | ';
-
- // Semester
- if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN)
- echo ''.$row_tree->semester.' | ';
-
- // ECTS Punkte
- echo ''.$row_tree->ects.' | ';
-
- // Status der LV (absolviert, offen)
- echo '';
-
- // Note zu dieser LV vorhanden?
-
- $lv_kompatibel = new lehrveranstaltung();
- $kompatibleLVs = $lv_kompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id);
-
- 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').'';
- }
- //check if compatible course has grade
- elseif(count($kompatibleLVs) > 0)
- {
- $positiv = false;
- $found = false;
- $i = 0;
- while(!$found && $i < count($kompatibleLVs))
- {
- for($i; $i < (count($kompatibleLVs)); $i++)
- {
- if(isset($noten_arr[$kompatibleLVs[$i]]))
- {
- $positiv=false;
- foreach($noten_arr[$kompatibleLVs[$i]] as $note)
- {
- if($note_pruef_arr[$note]->positiv)
- $positiv=true;
- }
-
- $found = true;
- }
- }
- $i++;
- }
- if($found)
- {
- if($positiv)
- echo ''.$p->t('studienplan/abgeschlossen').'';
- else
- echo ''.$p->t('studienplan/negativ').'';
- }
- elseif(!$found)
- {
- if($abgeschlossen)
- echo ''.$p->t('studienplan/regelabgeschlossen'),'';
- elseif(!$row_tree->stpllv_pflicht)
- echo ''.$p->t('studienplan/optional').'';
- else
- echo ''.$p->t('studienplan/offen').'';
- }
- }
- else
- {
- if($abgeschlossen)
- echo ''.$p->t('studienplan/regelabgeschlossen'),'';
- elseif(!$row_tree->stpllv_pflicht)
- echo ''.$p->t('studienplan/optional').'';
- else
- echo ''.$p->t('studienplan/offen').'';
- }
- echo ' | ';
-
- // Spalten für die einzelnen Studiensemester
- foreach($stsem_arr as $key=>$stsem)
- {
- $semester=$key+1;
-
- $tdclass=array();
- //Empfehlung holen
-// if(isset($lv_arr[$row_tree->lehrveranstaltung_id]))
-// {
-// $empfohlenesSemester = $lv_arr[$row_tree->lehrveranstaltung_id]->semester;
-// if($semester==$empfohlenesSemester)
-// $tdclass[]='empfehlung';
-// }
-
- $tdinhalt='';
-
- // 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)
- $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.'';
- else
- $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.'';
- }
- elseif(count($kompatibleLVs) > 0)
- {
- foreach($kompatibleLVs as $komp)
- {
- if(isset($noten_arr[$komp][$stsem]))
- {
- if($note_pruef_arr[$noten_arr[$komp][$stsem]]->positiv)
- $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$komp][$stsem]]->anmerkung.'';
- else
- $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$komp][$stsem]]->anmerkung.'';
- }
- }
- }
- else
- {
- // Angebot der LV und der Kompatiblen pruefen
- $anmeldungmoeglich=false;
- $angemeldet=false;
- $semesterlock=false;
- $regelerfuellt=true;
- $anmeldeinformation='';
- $angebot_vorhanden=false;
-
- // Regeln Pruefen
- $lvregel = new lvregel();
-
- // Pruefen ob Semestersperre vorhanden ist
- if(!$lvregel->checkSemester($row_tree->studienplan_lehrveranstaltung_id, $semester))
- {
- $semesterlock=true;
- }
- else
- {
- if(!$lvregel->isZugangsberechtigt($prestudent_id, $row_tree->studienplan_lehrveranstaltung_id, $stsem))
- {
- $regelerfuellt=false;
- }
- }
-
- foreach($lvkompatibel_arr as $row_lvid)
- {
- // Angebot der LV pruefen
- if(isset($lvangebot_arr[$row_lvid])
- && isset($lvangebot_arr[$row_lvid][$stsem]))
- {
- $angebot_vorhanden=true;
- // LV findet statt
- $angebot = $lvangebot_arr[$row_lvid][$stsem];
-
- if($angebot->gruppe_kurzbz!='')
- {
- // Pruefen ob bereits angemeldet
- $bngruppe = new benutzergruppe();
- if($bngruppe->load($prestudent->uid, $angebot->gruppe_kurzbz, $stsem)) // TODO EINE gibts hier überhaupt einen prestudenten?
- {
- // Bereits angemeldet
- $angemeldet=true;
- }
- }
-
- // Pruefen ob eine Anmeldung möglich ist
- if($angebot->AnmeldungMoeglich())
- {
- if(!$angemeldet)
- $anmeldungmoeglich=true;
- }
- else
- $anmeldeinformation.=$angebot->errormsg;
- }
- }
-
- if($semesterlock)
- {
- $tdinhalt.= '
';
- }
- else
- {
- if($angebot_vorhanden)
- {
- $tdclass[]='angebot';
- if($angemeldet)
- {
- $tdinhalt.= '
';
- }
- else
- {
- if($anmeldungmoeglich)
- $tdinhalt.= '
';
- else
- $tdinhalt.= '-';
-
- if(!$regelerfuellt)
- $tdinhalt.= 'X';
- }
- }
- else
- {
- // LV wird nicht angeboten
- $tdinhalt.= '-';
- }
- }
- }
- $class=implode(' ',$tdclass);
- echo '';
- echo $tdinhalt;
- echo ' | ';
- }
- echo '
';
-
- // Wenn Subtree vorhanden, dann anzeigen
- if(!empty($row_tree->childs))
- drawTree($row_tree->childs, $depth+1);
- }
+
+ | |
+ '.$p->t('studienplan/legendeLVwirdAngeboten').' |
+
+
+  |
+ '.$p->t('studienplan/Anmeldung').' |
+
+
+  |
+ '.$p->t('studienplan/legendeAngemeldet').' |
+
+
+  |
+ '.$p->t('studienplan/legendeLock').' |
+
+
+ ';
}
-echo '
';
-echo '
'.$p->t('studienplan/legende').':
-
-
-
- |
- |
-
-
- | |
- '.$p->t('studienplan/legendeLVwirdAngeboten').' |
-
-
-  |
- '.$p->t('studienplan/Anmeldung').' |
-
-
-  |
- '.$p->t('studienplan/legendeAngemeldet').' |
-
-
-  |
- '.$p->t('studienplan/legendeLock').' |
-
-
-';
-
echo '