This commit is contained in:
kindlm
2016-10-07 16:13:07 +02:00
15 changed files with 586 additions and 508 deletions
@@ -67,20 +67,19 @@ switch($method)
$data = loadTermine();
break;
case 'saveAnmeldung':
$student_uid = filter_input(INPUT_POST,"uid");
if($student_uid !== "" && !is_null($student_uid))
{
$uid = $student_uid;
}
if($student_uid === "")
{
$data['result']="";
$data['error']='true';
$data['errormsg']='Studenten UID fehlt.';
break;
}
$student_uid = filter_input(INPUT_POST,"uid");
if($student_uid !== "" && !is_null($student_uid))
{
$uid = $student_uid;
}
if($student_uid === "")
{
$data['result']="";
$data['error']='true';
$data['errormsg']='Studenten UID fehlt.';
break;
}
$data = saveAnmeldung($aktStudiensemester, $uid);
break;
case 'getAllPruefungen':
@@ -142,60 +141,60 @@ function getPruefungByLv($aktStudiensemester = null, $uid = null)
$lvIds = array();
foreach($lehrveranstaltungen->lehrveranstaltungen as $lvs)
{
array_push($lvIds, $lvs->lehrveranstaltung_id);
array_push($lvIds, $lvs->lehrveranstaltung_id);
}
$lehrveranstaltungen=$lvIds;
$pruefung = new pruefungCis();
if($pruefung->getPruefungByLv($lehrveranstaltungen))
{
$pruefungen = array();
foreach($pruefung->lehrveranstaltungen as $key=>$lv)
{
$lehrveranstaltung = new lehrveranstaltung($lv->lehrveranstaltung_id);
$lehrveranstaltung = $lehrveranstaltung->cleanResult();
$lehreinheit = new lehreinheit();
$lehreinheit->load_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id, $aktStudiensemester);
$lehreinheiten = $lehreinheit->lehreinheiten;
$prf = new stdClass();
$temp = new pruefungCis($lv->pruefung_id);
$temp->getTermineByPruefung($lv->pruefung_id);
for($i=0; $i < sizeof($temp->termine); $i++)
{
$termin = new pruefungstermin($temp->termine[$i]->pruefungstermin_id);
$temp->termine[$i]->teilnehmer = $termin->getNumberOfParticipants();
}
$prf->pruefung = $temp;
$prf->lehrveranstaltung = $lehrveranstaltung;
if(!empty($lehreinheiten))
{
$lveranstaltung = new lehrveranstaltung($lehreinheiten[0]->lehrfach_id);
$oe = new organisationseinheit($lveranstaltung->oe_kurzbz);
$prf->organisationseinheit = $oe->bezeichnung;
array_push($pruefungen, $prf);
}
}
$anmeldung = new pruefungsanmeldung();
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester);
$anmeldungsIds = array();
foreach($anmeldungen as $anm)
{
$a = new stdClass();
$a->pruefungsanmeldung_id = $anm->pruefungsanmeldung_id;
$a->pruefungstermin_id = $anm->pruefungstermin_id;
$a->lehrveranstaltung_id = $anm->lehrveranstaltung_id;
array_push($anmeldungsIds, $a);
}
$return = new stdClass();
$return->pruefungen = $pruefungen;
$return->anmeldungen = $anmeldungsIds;
$data['result']=$return;
$data['error']='false';
$data['errormsg']='';
$pruefungen = array();
foreach($pruefung->lehrveranstaltungen as $key=>$lv)
{
$lehrveranstaltung = new lehrveranstaltung($lv->lehrveranstaltung_id);
$lehrveranstaltung = $lehrveranstaltung->cleanResult();
$lehreinheit = new lehreinheit();
$lehreinheit->load_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id, $aktStudiensemester);
$lehreinheiten = $lehreinheit->lehreinheiten;
$prf = new stdClass();
$temp = new pruefungCis($lv->pruefung_id);
$temp->getTermineByPruefung($lv->pruefung_id);
for($i=0; $i < sizeof($temp->termine); $i++)
{
$termin = new pruefungstermin($temp->termine[$i]->pruefungstermin_id);
$temp->termine[$i]->teilnehmer = $termin->getNumberOfParticipants();
}
$prf->pruefung = $temp;
$prf->lehrveranstaltung = $lehrveranstaltung;
if(!empty($lehreinheiten))
{
$lveranstaltung = new lehrveranstaltung($lehreinheiten[0]->lehrfach_id);
$oe = new organisationseinheit($lveranstaltung->oe_kurzbz);
$prf->organisationseinheit = $oe->bezeichnung;
array_push($pruefungen, $prf);
}
}
$anmeldung = new pruefungsanmeldung();
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester);
$anmeldungsIds = array();
foreach($anmeldungen as $anm)
{
$a = new stdClass();
$a->pruefungsanmeldung_id = $anm->pruefungsanmeldung_id;
$a->pruefungstermin_id = $anm->pruefungstermin_id;
$a->lehrveranstaltung_id = $anm->lehrveranstaltung_id;
array_push($anmeldungsIds, $a);
}
$return = new stdClass();
$return->pruefungen = $pruefungen;
$return->anmeldungen = $anmeldungsIds;
$data['result']=$return;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$pruefung->errormsg;
$data['error']='true';
$data['errormsg']=$pruefung->errormsg;
}
return $data;
}
@@ -387,26 +386,26 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$addon = new addon();
foreach ($addon->aktive_addons as $a)
{
if($a === "ku")
{
require '../../../../addons/'.$a.'/cis/prfVerwaltung_array.php';
switch($lehrveranstaltung->oe_kurzbz)
{
case $fakultaeten[0]["fakultaet"]:
$semCounter = $fakultaeten[0]["sem"];
break;
case $fakultaeten[1]["fakultaet"]:
$semCounter = $fakultaeten[1]["sem"];
break;
default:
$semCounter = 2;
break;
}
}
else
{
$semCounter = 99;
}
if($a === "ku")
{
require '../../../../addons/'.$a.'/cis/prfVerwaltung_array.php';
switch($lehrveranstaltung->oe_kurzbz)
{
case $fakultaeten[0]["fakultaet"]:
$semCounter = $fakultaeten[0]["sem"];
break;
case $fakultaeten[1]["fakultaet"]:
$semCounter = $fakultaeten[1]["sem"];
break;
default:
$semCounter = 2;
break;
}
}
else
{
$semCounter = 99;
}
}
$i=0;
$stdsem_lv_besuch = null;
@@ -442,107 +441,135 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
// Defaulteinstellung für Prüfungstypen - schauen, ob bereits aus KTU-Addon geladen
if(!isset($pruefungstyp_kurzbzArray))
$pruefungstyp_kurzbzArray = array("Termin1","Termin2","kommPruef");
if(isset($pruefungstyp_kurzbzArray))
{
if($anzahlPruefungen < count($pruefungstyp_kurzbzArray))
{
$pruefungstyp_kurzbz = $pruefungstyp_kurzbzArray[$anzahlPruefungen];
}
if($anzahlPruefungen < count($pruefungstyp_kurzbzArray))
{
$pruefungstyp_kurzbz = $pruefungstyp_kurzbzArray[$anzahlPruefungen];
}
}
else
{
$pruefungstyp_kurzbz = null;
$pruefungstyp_kurzbz = null;
}
foreach($pruefung->result as $prf)
{
$note = new note($prf->note);
if($note->note === $noteCode_uef)
{
$pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$pf = new pruefungCis($pruefungstermin->pruefung_id);
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
$studiensemester = new studiensemester();
$stdsem = $studiensemester->getaktorNext();
$i=0;
while($i<2)
{
if($stdsem === $pruefungsfenster->studiensemester_kurzbz)
$note = new note($prf->note);
if($note->note === $noteCode_uef)
{
$anmeldung_moeglich = false;
$pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$pf = new pruefungCis($pruefungstermin->pruefung_id);
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
$studiensemester = new studiensemester();
$stdsem = $studiensemester->getaktorNext();
$i=0;
while($i<2)
{
if($stdsem === $pruefungsfenster->studiensemester_kurzbz)
{
$anmeldung_moeglich = false;
}
$stdsem = $studiensemester->getPreviousFrom($stdsem);
$i++;
}
}
else
{
if($note->positiv === FALSE && $anzahlPruefungen >= $maxAnzahlVersuche)
{
$anmeldung_moeglich = false;
}
}
$stdsem = $studiensemester->getPreviousFrom($stdsem);
$i++;
}
}
else
{
if($note->positiv === FALSE && $anzahlPruefungen >= $maxAnzahlVersuche)
{
$anmeldung_moeglich = false;
}
}
}
if($anmeldung_moeglich)
{
if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL)
{
$pruefung = new pruefungCis();
$reihung = $pruefung->getLastOfReihung($_REQUEST["termin_id"]);
$anmeldung = new pruefungsanmeldung();
$anmeldung->lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
$anmeldung->pruefungstermin_id = $_REQUEST["termin_id"];
$anmeldung->wuensche = $_REQUEST["bemerkung"];
$anmeldung->uid = $uid;
$anmeldung->reihung = $reihung+1;
$anmeldung->status_kurzbz = "angemeldet";
$anmeldung->pruefungstyp_kurzbz = $pruefungstyp_kurzbz;
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
$konto = new konto();
$creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester);
if($creditpoints !== false)
{
if($creditpoints < $lehrveranstaltung->ects)
if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL)
{
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
return $data;
}
}
$pruefung = new pruefungCis();
$reihung = $pruefung->getLastOfReihung($_REQUEST["termin_id"]);
$anmeldung = new pruefungsanmeldung();
$anmeldung->lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
$anmeldung->pruefungstermin_id = $_REQUEST["termin_id"];
$anmeldung->wuensche = $_REQUEST["bemerkung"];
$anmeldung->uid = $uid;
$anmeldung->reihung = $reihung+1;
$anmeldung->status_kurzbz = "angemeldet";
$anmeldung->pruefungstyp_kurzbz = $pruefungstyp_kurzbz;
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
//Kollisionsprüfung
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester);
foreach($anmeldungen as $temp)
{
$datum = new datum();
if(($datum->between($termin->von, $termin->bis, $temp->von)) || ($datum->between($termin->von, $termin->bis, $temp->bis)))
{
$data['result'][$temp->pruefungstermin_id] = "true";
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/kollisionMitAndererAnmeldung');
// $konto = new konto();
// $creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester);
//
// if($creditpoints !== false)
// {
// if($creditpoints <= $lehrveranstaltung->ects)
// {
// $data['error'] = 'true';
// $data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
// return $data;
// }
// }
//Kollisionsprüfung und Prüfung auf ausreichen Creditpoints
$pruefungstermin = new pruefungstermin($_REQUEST["termin_id"]);
$pf = new pruefungCis($pruefungstermin->pruefung_id);
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $pruefungsfenster->studiensemester_kurzbz);
if($anmeldungen !== false)
{
$ects_verwendet = 0;
foreach($anmeldungen as $temp)
{
$lehrveranstaltung = new lehrveranstaltung($temp->lehrveranstaltung_id);
$ects_verwendet += $lehrveranstaltung->ects;
$datum = new datum();
if(($datum->between($termin->von, $termin->bis, $temp->von)) || ($datum->between($termin->von, $termin->bis, $temp->bis)))
{
$data['result'][$temp->pruefungstermin_id] = "true";
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/kollisionMitAndererAnmeldung');
}
}
$konto = new konto();
$creditPoints = $konto->getCreditPointsOfStudiensemester($uid, $pruefungsfenster->studiensemester_kurzbz);
if(($creditPoints != false) && ($lehrveranstaltung->ects > ($creditPoints - $ects_verwendet)))
{
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
return $data;
}
if(isset($data['error']) && $data['error'] = 'true')
{
return $data;
}
}
else
{
$data['error'] = 'true';
$data['errormsg'] = $anmeldung->errormsg;
return $data;
}
}
else
{
$data['error']='true';
$data['errormsg']=$p->t('pruefung/keineFreienPlaetzeVorhanden');
return $data;
}
}
if(isset($data['error']) && $data['error'] = 'true')
{
return $data;
}
}
else
{
$data['error']='true';
$data['errormsg']=$p->t('pruefung/keineFreienPlaetzeVorhanden');
return $data;
}
}
else
{
$data['error']='true';
$data['errormsg']=$p->t('pruefung/anmeldungAufgrundVonSperreNichtMoeglich');
return $data;
$data['error']='true';
$data['errormsg']=$p->t('pruefung/anmeldungAufgrundVonSperreNichtMoeglich');
return $data;
}
$anrechnung = new anrechnung();
@@ -227,7 +227,7 @@ $rechte->getBerechtigungen($uid);
<th>#</th>
<th><?php echo $p->t('global/vorname'); ?></th>
<th><?php echo $p->t('global/nachname'); ?></th>
<th><?php echo $p->t('global/matrikelnummer'); ?></th>
<th><?php echo $p->t('pruefung/matrikelnummer'); ?></th>
<th><?php echo $p->t('global/datum'); ?></th>
<th><?php echo $p->t('benotungstool/note'); ?></th>
<th><?php echo $p->t('global/anmerkung'); ?></th>
+1 -1
View File
@@ -152,7 +152,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
$konto->load($bnr);
if($konto->person_id!=$user_obj->person_id)
die('Sie haben keine Berechtigung fuer diese Buchung');
if($konto->getDifferenz($bnr)!=0)
if($konto->getDifferenz($bnr)>0)
die('Diese Zahlung wurde noch nicht beglichen');
}
}
+36 -35
View File
@@ -19,6 +19,7 @@
*
*
* Authors: Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
* Stefan Puraner <stefan.puraner@technikum-wien.at>
*
* Zeigt den Studienplan eines Studierenden an
* und bietet die Möglichkeit zur Anmeldung zu Lehrveranstaltungen.
@@ -101,14 +102,7 @@ if(isset($_GET['getAnmeldung']))
if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem))
{
// User ist noch nicht angemeldet
//Pruefen ob genug Credit Points zur Verfuegung stehen zur Anmeldung
$konto = new konto();
$cp = $konto->getCreditPoints($uid, $stsem);
if($cp===false || $cp>=$lv->ects)
echo '<br><input type="radio" value="'.$lvid.'" name="lv"/>'.$lv->bezeichnung.' (Anmeldung bis '.$datum->formatDatum($angebot->anmeldefenster_ende,"d.m.Y").')';
else
echo '<br><input type="radio" disabled="true" value="'.$lvid.'" name="lv" /><span style="color:gray;">'.$lv->bezeichnung.'</span><img src="../../../skin/images/information.png" title="'.$p->t('studienplan/zuWenigCP').'" />';
echo '<br><input type="radio" value="'.$lvid.'" name="lv"/>'.$lv->bezeichnung.' (Anmeldung bis '.$datum->formatDatum($angebot->anmeldefenster_ende,"d.m.Y").')';
}
else
{
@@ -200,25 +194,16 @@ if(isset($_POST['action']) && $_POST['action']=='anmeldung')
if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem))
{
// 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)
$bngruppe->uid = $uid;
$bngruppe->gruppe_kurzbz = $lvangebot->result[0]->gruppe_kurzbz;
$bngruppe->studiensemester_kurzbz = $stsem;
$bngruppe->new=true;
if($bngruppe->save())
{
$bngruppe->uid = $uid;
$bngruppe->gruppe_kurzbz = $lvangebot->result[0]->gruppe_kurzbz;
$bngruppe->studiensemester_kurzbz = $stsem;
$bngruppe->new=true;
if($bngruppe->save())
{
echo '<span class="ok">'.$p->t('studienplan/einschreibungErfolgreich').'</span>';
// Menue neu Laden damit die LV unter Meine LV gleich angezeigt wird
echo '<script>window.parent.menu.location.reload();</script>';
}
echo '<span class="ok">'.$p->t('studienplan/einschreibungErfolgreich').'</span>';
// Menue neu Laden damit die LV unter Meine LV gleich angezeigt wird
echo '<script>window.parent.menu.location.reload();</script>';
}
else
echo '<span class="error">'.$p->t('studienplan/zuWenigCP').'</span>';
}
else
{
@@ -366,7 +351,7 @@ drawTree($tree,0);
function drawTree($tree, $depth)
{
global $uid, $stsem_arr, $noten_arr, $lvangebot_arr;
global $uid, $stsem_arr, $noten_arr, $lvangebot_arr, $aktornext;
global $datum_obj, $db, $lv_arr, $p, $note_pruef_arr, $student;
foreach($tree as $row_tree)
@@ -511,28 +496,40 @@ function drawTree($tree, $depth)
if($found)
{
if($positiv)
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
{
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
}
else
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
}
elseif(!$found)
{
if($abgeschlossen)
echo '<span>'.$p->t('studienplan/regelabgeschlossen'),'</span>';
elseif(!$row_tree->stpllv_pflicht)
if(!$row_tree->stpllv_pflicht)
{
echo '<span>'.$p->t('studienplan/optional').'</span>';
else
}
else
{
echo '<span>'.$p->t('studienplan/offen').'</span>';
}
}
}
else
{
if($abgeschlossen)
{
echo '<span>'.$p->t('studienplan/regelabgeschlossen'),'</span>';
}
elseif(!$row_tree->stpllv_pflicht)
{
echo '<span>'.$p->t('studienplan/optional').'</span>';
}
else
{
echo '<span>'.$p->t('studienplan/offen').'</span>';
}
}
echo '</td>';
@@ -610,12 +607,16 @@ function drawTree($tree, $depth)
}
else
{
if(!$lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem))
//check if rules are fulfilled just for actual or next studiensemester
if($stsem === $aktornext)
{
$regelerfuellt=false;
if($lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem) !== true)
{
$regelerfuellt=false;
}
}
}
foreach($lvkompatibel_arr as $row_lvid)
{
// Angebot der LV pruefen
@@ -669,7 +670,7 @@ function drawTree($tree, $depth)
$tdinhalt.= '<span title="'.$anmeldeinformation.'">-</a>';
if(!$regelerfuellt)
$tdinhalt.= '<span title="'.$p->t('studienplan/regelnichterfuellt').'">X</span>';
$tdinhalt= '<span title="'.$p->t('studienplan/regelnichterfuellt').'">X</span>';
}
}
else
+1 -1
View File
@@ -157,7 +157,7 @@
echo '<td '.$style.'>'.$row['parent']->buchungstext.'</td>';
echo '<td align="right" '.$style.'>'.($betrag<0?'-':($betrag>0?'+':'')).sprintf('%.2f',abs($row['parent']->betrag)).' €</td>';
echo '<td align="center" '.$style.'>';
if($betrag==0 && $row['parent']->betrag<=0)
if($betrag>=0 && $row['parent']->betrag<=0)
echo '<a href="../pdfExport.php?xml=konto.rdf.php&xsl=Zahlung&uid='.$uid.'&buchungsnummern='.$buchungsnummern.'" title="'.$p->t('tools/bestaetigungDrucken').'"><img src="../../../skin/images/pdfpic.gif" alt="'.$p->t('tools/bestaetigungDrucken').'"></a>';
elseif($row['parent']->betrag>0)
{
+45
View File
@@ -800,6 +800,51 @@ class konto extends basis_db
return false;
}
}
/**
* Liefert die CreditPoints die ein Studierender für ein Studiensemester zur Verfügung hat
* falls dieser einschraenkungen eingetragen hat. Wenn keine Einschraenkung vorhanden ist,
* wird false zurueckgeliefert. Es werden die Creditpoint der Belastungen herangezogen.
* Die Gegenbuchung wird nicht beruecksichtigt.
* @return Anzahl der gekauften CreditPoints oder false falls unbeschraenkt
*/
public function getCreditPointsOfStudiensemester($uid, $studiensemester_kurzbz)
{
$qry = "SELECT sum(credit_points) as cp
FROM
public.tbl_konto
JOIN public.tbl_benutzer USING(person_id)
WHERE
uid=".$this->db_add_param($uid)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND buchungsnr_verweis is null
AND credit_points is not null";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$creditpoints = $row->cp;
if($creditpoints!='')
{
return $creditpoints;
}
else
return false;
}
else
{
// keine Einschraenkung vorhanden
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Fügt zur erstellten Buchung eine Zahlungsreferenz hinzu
+248 -256
View File
@@ -289,8 +289,6 @@ class lehrveranstaltung extends basis_db
//Select Befehl zusammenbauen
if (!is_null($lehreverzeichnis))
$qry .= " AND lehreverzeichnis=" . $this->db_add_param($lehreverzeichnis);
// else
// $qry .= " AND lehreverzeichnis<>'' ";
if (!is_null($semester) && $semester != '')
$qry .= " AND semester=" . $this->db_add_param($semester, FHC_INTEGER);
@@ -425,8 +423,6 @@ class lehrveranstaltung extends basis_db
//Select Befehl zusammenbauen
if (!is_null($lehreverzeichnis))
$qry .= " AND lehreverzeichnis=" . $this->db_add_param($lehreverzeichnis);
//else
// $qry .= " AND lehreverzeichnis<>'' ";
if (!is_null($semester) && $semester != '')
$qry .= " AND semester=" . $this->db_add_param($semester);
@@ -436,7 +432,6 @@ class lehrveranstaltung extends basis_db
if (!is_null($studiensemester_kurzbz) && $studiensemester_kurzbz != '')
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz=" . $this->db_add_param($studiensemester_kurzbz);
if (!is_null($lehre))
$qry .= " AND lehre=" . ($lehre ? 'true' : 'false');
@@ -527,10 +522,10 @@ class lehrveranstaltung extends basis_db
WHERE lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM campus.vw_student_lehrveranstaltung
WHERE uid=" . $this->db_add_param($student_uid);
if($studiensemester_kurzbz !== NULL)
$qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$qry .= ") OR lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM lehre.tbl_zeugnisnote WHERE student_uid=" . $this->db_add_param($student_uid);
if($studiensemester_kurzbz !== NULL)
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param ($studiensemester_kurzbz);
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param ($studiensemester_kurzbz);
$qry .= ") ORDER BY semester, bezeichnung";
//Datensaetze laden
@@ -608,16 +603,10 @@ class lehrveranstaltung extends basis_db
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
return false;
}
/*
if(is_null($orgform_kurzbz) || $orgform_kurzbz=='')
{
$this->errormsg = 'keine orgform_kurzbz uebergeben';
return false;
}*/
$qry='SELECT count(*) as count FROM lehre.tbl_lehrveranstaltung
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz).' AND orgform_kurzbz'.(is_null($orgform_kurzbz)?' is null':"=".$this->db_add_param($orgform_kurzbz));
//echo $qry;
$return=array();
if($db_result=$this->db_query($qry))
{
@@ -1072,9 +1061,9 @@ class lehrveranstaltung extends basis_db
}
$qry = "SELECT mdl_course_id FROM lehre.tbl_moodle
WHERE studiensemester_kurzbz = " . $this->db_add_param($semester) . "
AND (lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "
OR lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "));";
WHERE studiensemester_kurzbz = " . $this->db_add_param($semester) . "
AND (lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "
OR lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "));";
$moodleArray = array();
@@ -1323,7 +1312,7 @@ class lehrveranstaltung extends basis_db
return $childs;
}
/**
/**
* Generiert die Subtrees des Lehrveranstaltungstrees
*/
public function hasChildren($studienplan_lehrveranstaltung_id)
@@ -1338,15 +1327,14 @@ class lehrveranstaltung extends basis_db
}
}
if(count($childs) > 0)
{
return true;
}
else
{
return false;
}
}
{
return true;
}
else
{
return false;
}
}
/**
* Baut die Datenstruktur für senden als JSON Objekt auf
@@ -1453,6 +1441,7 @@ class lehrveranstaltung extends basis_db
$obj->zeugnis = $lv->zeugnis;
$obj->curriculum = $lv->curriculum;
$obj->export = $lv->export;
$obj->genehmigung = $lv->genehmigung;
$obj->lehrauftrag = $lv->lehrauftrag;
$obj->lehre = $lv->lehre;
$obj->children = array();
@@ -1511,7 +1500,8 @@ class lehrveranstaltung extends basis_db
*/
public function loadLVkompatibel($lehrveranstaltung_id)
{
if (!is_numeric($lehrveranstaltung_id)) {
if (!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
@@ -1536,7 +1526,8 @@ class lehrveranstaltung extends basis_db
*/
public function getLVkompatibel($lehrveranstaltung_id)
{
if (!is_numeric($lehrveranstaltung_id)) {
if (!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
@@ -1676,11 +1667,13 @@ class lehrveranstaltung extends basis_db
public function load_lva_oe($oe_kurzbz, $aktiv=null, $lehrtyp=null, $sort=null, $semester=null)
{
if (is_null($oe_kurzbz)) {
if (is_null($oe_kurzbz))
{
$this->errormsg = 'OE KurzBz darf nicht null sein';
return false;
}
if (!is_null($aktiv) && !is_bool($aktiv)) {
if (!is_null($aktiv) && !is_bool($aktiv))
{
$this->errormsg = 'Aktivkz muss ein boolscher Wert sein';
return false;
}
@@ -1942,125 +1935,125 @@ class lehrveranstaltung extends basis_db
}
}
/**
* lädt die Lehrveranstaltungen zum zugehörigen Mitarbeiter
* @param String $uid User ID des Mitarbeiters
* @param String $studiensemster_kurzbz Kurzbezeichnung des Studiensemesters
*/
public function getLVByMitarbeiter($uid, $studiensemester_kurzbz = null)
{
$qry = 'SELECT DISTINCT tbl_lehrveranstaltung.* FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
WHERE
mitarbeiter_uid='.$this->db_add_param($uid);
/**
* lädt die Lehrveranstaltungen zum zugehörigen Mitarbeiter
* @param String $uid User ID des Mitarbeiters
* @param String $studiensemster_kurzbz Kurzbezeichnung des Studiensemesters
*/
public function getLVByMitarbeiter($uid, $studiensemester_kurzbz = null)
{
$qry = 'SELECT DISTINCT tbl_lehrveranstaltung.* FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
WHERE
mitarbeiter_uid='.$this->db_add_param($uid);
if($studiensemester_kurzbz != null)
{
$qry .= ' AND tbl_lehreinheit.studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).';';
}
if($studiensemester_kurzbz != null)
{
$qry .= ' AND tbl_lehreinheit.studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).';';
}
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrveranstaltung();
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrveranstaltung();
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$lv_obj->studiengang_kz = $row->studiengang_kz;
$lv_obj->bezeichnung = $row->bezeichnung;
$lv_obj->kurzbz = $row->kurzbz;
$lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$lv_obj->semester = $row->semester;
$lv_obj->ects = $row->ects;
$lv_obj->semesterstunden = $row->semesterstunden;
$lv_obj->anmerkung = $row->anmerkung;
$lv_obj->lehre = $this->db_parse_bool($row->lehre);
$lv_obj->lehreverzeichnis = $row->lehreverzeichnis;
$lv_obj->aktiv = $this->db_parse_bool($row->aktiv);
$lv_obj->ext_id = $row->ext_id;
$lv_obj->insertamum = $row->insertamum;
$lv_obj->insertvon = $row->insertvon;
$lv_obj->planfaktor = $row->planfaktor;
$lv_obj->planlektoren = $row->planlektoren;
$lv_obj->planpersonalkosten = $row->planpersonalkosten;
$lv_obj->plankostenprolektor = $row->plankostenprolektor;
$lv_obj->updateamum = $row->updateamum;
$lv_obj->updatevon = $row->updatevon;
$lv_obj->sprache = $row->sprache;
$lv_obj->sort = $row->sort;
$lv_obj->incoming = $row->incoming;
$lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$lv_obj->zeugnis = $row->koordinator;
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$lv_obj->studiengang_kz = $row->studiengang_kz;
$lv_obj->bezeichnung = $row->bezeichnung;
$lv_obj->kurzbz = $row->kurzbz;
$lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$lv_obj->semester = $row->semester;
$lv_obj->ects = $row->ects;
$lv_obj->semesterstunden = $row->semesterstunden;
$lv_obj->anmerkung = $row->anmerkung;
$lv_obj->lehre = $this->db_parse_bool($row->lehre);
$lv_obj->lehreverzeichnis = $row->lehreverzeichnis;
$lv_obj->aktiv = $this->db_parse_bool($row->aktiv);
$lv_obj->ext_id = $row->ext_id;
$lv_obj->insertamum = $row->insertamum;
$lv_obj->insertvon = $row->insertvon;
$lv_obj->planfaktor = $row->planfaktor;
$lv_obj->planlektoren = $row->planlektoren;
$lv_obj->planpersonalkosten = $row->planpersonalkosten;
$lv_obj->plankostenprolektor = $row->plankostenprolektor;
$lv_obj->updateamum = $row->updateamum;
$lv_obj->updatevon = $row->updatevon;
$lv_obj->sprache = $row->sprache;
$lv_obj->sort = $row->sort;
$lv_obj->incoming = $row->incoming;
$lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$lv_obj->zeugnis = $row->koordinator;
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($lv_obj->bezeichnung_arr['English'] == '')
$lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German'];
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($lv_obj->bezeichnung_arr['English'] == '')
$lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German'];
$this->lehrveranstaltungen[] = $lv_obj;
}
return true;
}
else
{
$this->errormsg = "Lehrveranstaltungen konnten nicht geladen werden.";
}
$this->lehrveranstaltungen[] = $lv_obj;
}
return true;
}
else
{
$this->errormsg = "Lehrveranstaltungen konnten nicht geladen werden.";
}
}
}
/**
* Lädt alle Studenten UIDs die die angegebenen LV besuchen (optional mit Studiensemester)
* @param integer $lehrveranstaltung_id ID der Lehrveranstaltung
* @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
* @return boolean|array false, wenn eine Fehler auftritt; Array mit UIDs wenn erfolgreich
*/
public function getStudentsOfLv($lehrveranstaltung_id, $studiensemester_kurzbz=null, $lehreinheit_id=null)
{
if(!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = "Lehrveranstaltung ID muss eine gültige Zahl sein.";
return false;
}
/**
* Lädt alle Studenten UIDs die die angegebenen LV besuchen (optional mit Studiensemester)
* @param integer $lehrveranstaltung_id ID der Lehrveranstaltung
* @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
* @return boolean|array false, wenn eine Fehler auftritt; Array mit UIDs wenn erfolgreich
*/
public function getStudentsOfLv($lehrveranstaltung_id, $studiensemester_kurzbz=null, $lehreinheit_id=null)
{
if(!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = "Lehrveranstaltung ID muss eine gültige Zahl sein.";
return false;
}
$qry = 'SELECT distinct uid FROM campus.vw_student_lehrveranstaltung WHERE '
. 'lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id);
$qry = 'SELECT distinct uid FROM campus.vw_student_lehrveranstaltung WHERE '
. 'lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id);
if(!is_null($studiensemester_kurzbz))
{
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz);
}
if(!is_null($lehreinheit_id))
{
$qry .= ' AND lehreinheit_id='.$this->db_add_param($lehreinheit_id);
}
$qry .= ';';
if(!is_null($studiensemester_kurzbz))
{
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz);
}
if(!is_null($lehreinheit_id))
{
$qry .= ' AND lehreinheit_id='.$this->db_add_param($lehreinheit_id);
}
$qry .= ';';
if($this->db_query($qry))
{
$result = array();
while($row = $this->db_fetch_object())
{
array_push($result, $row->uid);
}
return $result;
}
return false;
}
if($this->db_query($qry))
{
$result = array();
while($row = $this->db_fetch_object())
{
array_push($result, $row->uid);
}
return $result;
}
return false;
}
/**
*
@@ -2097,7 +2090,7 @@ class lehrveranstaltung extends basis_db
}
$qry_alvs = "SELECT sum(lm.semesterstunden) as alvs
$qry_alvs = "SELECT sum(lm.semesterstunden) as alvs
FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING (lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter lm USING (lehreinheit_id)
@@ -2167,14 +2160,13 @@ class lehrveranstaltung extends basis_db
public function lehreverzeichnisExists($lehreverzeichnis, $studiengang_kz, $semester)
{
$qry = 'SELECT
1
FROM
lehre.tbl_lehrveranstaltung
WHERE
lehreverzeichnis='.$this->db_add_param($lehreverzeichnis).'
AND studiengang_kz='.$this->db_add_param($studiengang_kz).'
AND semester='.$this->db_add_param($semester).';';
1
FROM
lehre.tbl_lehrveranstaltung
WHERE
lehreverzeichnis='.$this->db_add_param($lehreverzeichnis).'
AND studiengang_kz='.$this->db_add_param($studiengang_kz).'
AND semester='.$this->db_add_param($semester).';';
if($this->db_query($qry))
{
@@ -2201,117 +2193,117 @@ class lehrveranstaltung extends basis_db
*/
public function getLVFromStudienplanByLehrtyp($studienplan_id, $lehrtyp_kurzbz=NULL, $semester=NULL)
{
if (!is_numeric($studienplan_id) || $studienplan_id === '')
{
$this->errormsg = 'StudienplanID ist ungueltig';
return false;
}
if (!is_numeric($studienplan_id) || $studienplan_id === '')
{
$this->errormsg = 'StudienplanID ist ungueltig';
return false;
}
$qry = "SELECT DISTINCT tbl_lehrveranstaltung.*
$qry = "SELECT DISTINCT tbl_lehrveranstaltung.*
FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_studienplan_lehrveranstaltung
USING(lehrveranstaltung_id)
WHERE tbl_studienplan_lehrveranstaltung.studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER);
if (!is_null($lehrtyp_kurzbz))
{
$qry.=" AND tbl_lehrveranstaltung.lehrtyp_kurzbz=" . $this->db_add_param($lehrtyp_kurzbz, FHC_STRING);
}
if (!is_null($semester))
{
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
}
$qry.=" ORDER BY bezeichnung;";
$this->lehrveranstaltungen = array();
if ($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
if (!is_null($lehrtyp_kurzbz))
{
$obj = new lehrveranstaltung();
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->bezeichnung = $row->bezeichnung;
$obj->kurzbz = $row->kurzbz;
$obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$obj->semester = $row->semester;
$obj->ects = $row->ects;
$obj->semesterstunden = $row->semesterstunden;
$obj->anmerkung = $row->anmerkung;
$obj->lehre = $this->db_parse_bool($row->lehre);
$obj->lehreverzeichnis = $row->lehreverzeichnis;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->ext_id = $row->ext_id;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->planfaktor = $row->planfaktor;
$obj->planlektoren = $row->planlektoren;
$obj->planpersonalkosten = $row->planpersonalkosten;
$obj->plankostenprolektor = $row->plankostenprolektor;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->sprache = $row->sprache;
$obj->sort = $row->sort;
$obj->incoming = $row->incoming;
$obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$obj->koordinator = $row->koordinator;
$obj->bezeichnung_english = $row->bezeichnung_english;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$obj->anzahlsemester = $row->anzahlsemester;
$obj->semesterwochen = $row->semesterwochen;
$obj->lvnr = $row->lvnr;
$obj->semester_alternativ = $row->semester_alternativ;
$obj->farbe = $row->farbe;
$obj->benotung = $this->db_parse_bool($row->benotung);
$obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$obj->bezeichnung_arr['German'] = $row->bezeichnung;
$obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($obj->bezeichnung_arr['English'] == '')
$obj->bezeichnung_arr['English'] = $obj->bezeichnung_arr['German'];
$obj->new = false;
$this->lehrveranstaltungen[] = $obj;
$qry.=" AND tbl_lehrveranstaltung.lehrtyp_kurzbz=" . $this->db_add_param($lehrtyp_kurzbz, FHC_STRING);
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Gibt alle Organisationseinheiten der Studiengänge zurück, mit denen
* die Lehrveranstaltung über Studienpläne verknüpft ist
* @return boolean|array false im Fehlerfall, sonst ein Array
*/
public function getAllOe()
{
$oe = array();
if (!is_null($semester))
{
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
}
$qry.=" ORDER BY bezeichnung;";
$qry = 'SELECT DISTINCT oe_kurzbz
FROM lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE lehrveranstaltung_id = '.$this->db_add_param($this->lehrveranstaltung_id);
if($result = $this->db_query($qry))
$this->lehrveranstaltungen = array();
if ($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
{
$oe[] = $row->oe_kurzbz;
}
{
$obj = new lehrveranstaltung();
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->bezeichnung = $row->bezeichnung;
$obj->kurzbz = $row->kurzbz;
$obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$obj->semester = $row->semester;
$obj->ects = $row->ects;
$obj->semesterstunden = $row->semesterstunden;
$obj->anmerkung = $row->anmerkung;
$obj->lehre = $this->db_parse_bool($row->lehre);
$obj->lehreverzeichnis = $row->lehreverzeichnis;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->ext_id = $row->ext_id;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->planfaktor = $row->planfaktor;
$obj->planlektoren = $row->planlektoren;
$obj->planpersonalkosten = $row->planpersonalkosten;
$obj->plankostenprolektor = $row->plankostenprolektor;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->sprache = $row->sprache;
$obj->sort = $row->sort;
$obj->incoming = $row->incoming;
$obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$obj->koordinator = $row->koordinator;
$obj->bezeichnung_english = $row->bezeichnung_english;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$obj->anzahlsemester = $row->anzahlsemester;
$obj->semesterwochen = $row->semesterwochen;
$obj->lvnr = $row->lvnr;
$obj->semester_alternativ = $row->semester_alternativ;
$obj->farbe = $row->farbe;
$obj->benotung = $this->db_parse_bool($row->benotung);
$obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$obj->bezeichnung_arr['German'] = $row->bezeichnung;
$obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($obj->bezeichnung_arr['English'] == '')
$obj->bezeichnung_arr['English'] = $obj->bezeichnung_arr['German'];
$obj->new = false;
$this->lehrveranstaltungen[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Gibt alle Organisationseinheiten der Studiengänge zurück, mit denen
* die Lehrveranstaltung über Studienpläne verknüpft ist
* @return boolean|array false im Fehlerfall, sonst ein Array
*/
public function getAllOe()
{
$oe = array();
$qry = 'SELECT DISTINCT oe_kurzbz
FROM lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE lehrveranstaltung_id = '.$this->db_add_param($this->lehrveranstaltung_id);
if($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
{
$oe[] = $row->oe_kurzbz;
}
}
else
{
@@ -2319,16 +2311,16 @@ class lehrveranstaltung extends basis_db
return false;
}
// oe_kurzbz des Studiengangs der LVA hinzufügen
$stg = new studiengang($this->studiengang_kz);
// oe_kurzbz des Studiengangs der LVA hinzufügen
$stg = new studiengang($this->studiengang_kz);
if(!in_array($stg->oe_kurzbz, $oe))
{
$oe[] = $this->oe_kurzbz;
}
if(!in_array($stg->oe_kurzbz, $oe))
{
$oe[] = $this->oe_kurzbz;
}
return $oe;
}
return $oe;
}
/**
* Laedt den LV-Leiter einer Lehrveranstaltung, wenn keiner der Lektoren als LVLeiter eingetragen ist,
+1 -1
View File
@@ -108,7 +108,7 @@ class statistik extends basis_db
}
else
{
$this->errormsg = 'Dieser Eintrag wurde nicht gefunden';
$this->errormsg = 'Dieser Eintrag wurde nicht gefunden: ' . $statistik_kurzbz;
return false;
}
}
+1
View File
@@ -108,6 +108,7 @@ $this->phrasen['pruefung/keineLehreinheitenVorhanden'] = 'Keine Lehreinheiten vo
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Keine Anmeldungen vorhanden.';
$this->phrasen['pruefung/derLektor'] = 'Lektor';
$this->phrasen['pruefung/dieKommission'] = 'Kommission';
$this->phrasen['pruefung/matrikelnummer'] = 'Personenkennzeichen';
// anmeldungen Verwalten
$this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Prüfungsanmeldung Verwaltung';
+1
View File
@@ -108,6 +108,7 @@ $this->phrasen['pruefung/keineLehreinheitenVorhanden'] = 'Keine Lehreinheiten vo
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Keine Anmeldungen vorhanden.';
$this->phrasen['pruefung/derLektor'] = 'Lektor';
$this->phrasen['pruefung/dieKommission'] = 'Kommission';
$this->phrasen['pruefung/matrikelnummer'] = 'Personenkennzeichen';
// anmeldungen Verwalten
$this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Prüfungsanmeldung Verwaltung';
+1
View File
@@ -108,6 +108,7 @@ $this->phrasen['pruefung/keineLehreinheitenVorhanden'] = 'Nessun corso disponibi
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Nessun studente iscritto.';
$this->phrasen['pruefung/derLektor'] = 'Docente';
$this->phrasen['pruefung/dieKommission'] = 'Commissione';
$this->phrasen['pruefung/matrikelnummer']='Matricola';
// anmeldungen Verwalten
$this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Gestione delle prenotazioni degli appelli';
+4 -3
View File
@@ -371,10 +371,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
{
$studienplan->loadStudienplanLehrveranstaltung($studienplan_lehrveranstaltung_id);
$lv = new lehrveranstaltung();
while($lv->lehrtyp_kurzbz != "modul")
while(($lv->lehrtyp_kurzbz != "modul") && ($studienplan->lehrveranstaltung_id != $studienplan_lehrveranstaltung_id))
{
$lv->load($studienplan->lehrveranstaltung_id);
$studienplan->loadStudienplanLehrveranstaltung($studienplan->studienplan_lehrveranstaltung_id_parent);
$lv->load($studienplan->lehrveranstaltung_id);
$studienplan_lehrveranstaltung_id = $studienplan->lehrveranstaltung_id;
$studienplan->loadStudienplanLehrveranstaltung($studienplan->studienplan_lehrveranstaltung_id_parent);
}
$lehrveranstaltung->lehrveranstaltungen = array(0 => $lv);
}
+12 -1
View File
@@ -1206,7 +1206,7 @@ if(!$result = @$db->db_query("SELECT verpflichtend FROM public.tbl_ampel LIMIT 1
echo '<br>Neue Spalten "verpflichtend" und "buttontext" in Tabelle public.tbl_ampel hinzugefügt<br>';
}
// Neue Spalte studienplan_id in public.tbl_bewerbungstermine
// Neue Spalte lieferbedingungen in public.tbl_firma
if(!$result = @$db->db_query("SELECT lieferbedingungen FROM public.tbl_firma LIMIT 1"))
{
$qry = "ALTER TABLE public.tbl_firma ADD COLUMN lieferbedingungen varchar(256);";
@@ -1218,6 +1218,17 @@ if(!$result = @$db->db_query("SELECT lieferbedingungen FROM public.tbl_firma LIM
}
// 10.16 neuer webservicetyp reports
$result = $db->db_query("SELECT 1 FROM system.tbl_webservicetyp WHERE webservicetyp_kurzbz='reports'");
if($db->db_num_rows($result) < 1)
{
$qry = "INSERT INTO system.tbl_webservicetyp (webservicetyp_kurzbz, beschreibung) VALUES('reports', 'Logtyp fuer reports');";
if(!$db->db_query($qry))
echo '<strong>system.tbl_webservicetyp '.$db->db_last_error().'</strong><br>';
else
echo '<br>Neuen Eintrag "reports" in Tabelle system.tbl_webservicetyp eingefuegt<br>';
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
+27 -33
View File
@@ -245,7 +245,7 @@ function GenerateTreeChilds(data)
}
var obj = {
"data":data.bezeichnung,
"metadata": {"lehrveranstaltung_id":data.lehrveranstaltung_id,"bezeichnung":data.bezeichnung,"ects":data.ects,"semesterstunden":data.semesterstunden,"lehrform_kurzbz":data.lehrform_kurzbz,"lvnr":data.lvnr,"sortierung":data.stpllv_sort},
"metadata": {"lehrveranstaltung_id":data.lehrveranstaltung_id,"bezeichnung":data.bezeichnung,"ects":data.ects,"semesterstunden":data.semesterstunden,"lehrform_kurzbz":data.lehrform_kurzbz,"lvnr":data.lvnr,"sortierung":data.stpllv_sort,"pflicht":data.stpllv_pflicht,"export":data.export,"genehmigung":data.genehmigung},
"attr":{"id":data.studienplan_lehrveranstaltung_id,"rel":data.lehrtyp_kurzbz,"lvID":data.lehrveranstaltung_id,"studienplan_lehrveranstaltung_id":data.studienplan_lehrveranstaltung_id},
"children":children
};
@@ -423,10 +423,13 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
columns: [
{width: 300, header: "Lehrveranstaltung", value: "bezeichnung", source: "metadata", headerClass: "header_lv"},
{width: 50, header: "ECTS", value: "ects", source: "metadata", wideCellClass: "col_ects", headerClass: "header_ects"},
{width: 120, header: "Semesterstunden", value: "semesterstunden", source: "metadata", cellClass: "col_semesterstunden"},
{width: 60, header: "SemStd", value: "semesterstunden", source: "metadata", cellClass: "col_left"},
{width: 80, header: "Lehrform", value: "lehrform_kurzbz", source: "metadata", cellClass: "col_lehrform"},
{width: 80, header: "LVNR", value: "lvnr", source: "metadata", cellClass: "col_lvnr"},
{width: 80, header: "Sortierung", value: "sortierung", source: "metadata", cellClass: "col_sortierung"},
{width: 60, header: "StudPlan", value: "export", source: "metadata", cellClass: "col_left"},
{width: 60, header: "Pflicht", value: "pflicht", source: "metadata", cellClass: "col_left"},
{width: 60, header: "Gen", value: "genehmigung", source: "metadata", cellClass: "col_left"},
{width: 80, header: "LVNR", value: "lvnr", source: "metadata", cellClass: "col_left"},
{width: 60, header: "Sort", value: "sortierung", source: "metadata", cellClass: "col_left"},
],
resizable: true
},
@@ -486,39 +489,31 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
plugins: ["themes", "ui", "dnd", "grid", "json_data", "crrm", "types", "sort", "contextmenu"]
}).bind("move_node.jstree", function(event, data)
{
// if(searchTree(data.rslt.r, data.rslt.o.attr("id")))
// {
// $("#treeData").jstree("remove", "#"+data.rslt.oc.attr("id"));
// alert("Lehrveranstaltung bereits vorhanden");
// }
// else
// {
// Verschieben eines Eintrages
// Verschieben eines Eintrages
// Studienplan_lehrveranstaltung_id ermitteln
var studienplan_lehrveranstaltung_id='';
if(data.rslt.o[0].attributes.studienplan_lehrveranstaltung_id){
studienplan_lehrveranstaltung_id=data.rslt.o[0].attributes.studienplan_lehrveranstaltung_id.value;
//$("#treeData").jstree('refresh');
}
// Studienplan_lehrveranstaltung_id ermitteln
var studienplan_lehrveranstaltung_id='';
if(data.rslt.o[0].attributes.studienplan_lehrveranstaltung_id){
studienplan_lehrveranstaltung_id=data.rslt.o[0].attributes.studienplan_lehrveranstaltung_id.value;
//$("#treeData").jstree('refresh');
}
// Aenderung speichern
saveJsondataFromTree(data.rslt.o[0].id, global_studienplan_id, studienplan_lehrveranstaltung_id);
// Aenderung speichern
saveJsondataFromTree(data.rslt.o[0].id, global_studienplan_id, studienplan_lehrveranstaltung_id);
// ECTS Summen neu berechnen
var root = data.inst.get_container_ul();
var nodes = root[0].childNodes;
for(var i=0; i<nodes.length; i++)
// ECTS Summen neu berechnen
var root = data.inst.get_container_ul();
var nodes = root[0].childNodes;
for(var i=0; i<nodes.length; i++)
{
if(nodes[i].getAttribute("rel") === "semester")
{
if(nodes[i].getAttribute("rel") === "semester")
{
writeEctsSum(nodes[i]);
}
writeEctsSum(nodes[i]);
}
hideAllTreeColumns();
writeOverallSum(nodes);
// }
}
hideAllTreeColumns();
writeOverallSum(nodes);
}).bind("loaded.jstree", function(event, data)
{
// Wenn der Tree geladen wird, die ECTS Summen der einzelnen Semester berechnen
@@ -561,7 +556,6 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
}
}
// Lehrveranstaltungsdetails laden
if(data.rslt.obj.attr("rel") !== "semester")
{
+21 -17
View File
@@ -1,22 +1,22 @@
<?php
/*
/*
* Copyright 2013 fhcomplete.org
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
* Stefan Puraner <puraner@technikum-wien.at>
@@ -48,37 +48,41 @@ echo '<!DOCTYPE html>
<link rel="stylesheet" href="../../skin/fhcomplete.css" />
<link rel="stylesheet" href="../../skin/vilesci.css" />
<link rel="stylesheet" href="../../include/js/treeGrid/css/jquery.treegrid.css">
<script src="../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<script>var jqUi = jQuery.noConflict(true);</script>
<script type="text/javascript" src="../../include/js/jstree/_lib/jquery.js"></script>
<!-- Script zum erstellen des Trees-->
<script type="text/javascript" src="../../include/js/jstree/jquery.jstree.js"></script>
<script type="text/javascript" src="../../include/js/treeGrid/jstreegrid.js"></script>
<script type="text/javascript" src="../../include/js/colResizable-1.5.min.js"></script>
<script src="studienordnung_lvregel.js" type="text/javascript"></script>
<script src="studienordnung.js" type="text/javascript"></script>
<style type="text/css">
.col_ects {
//width: auto;
}
.col_lehrform {
width: auto !important;
align:center;
text-align:center;
}
.col_left {
width: auto !important;
align:left;
text-align:left;
}
.header_ects {
//width: auto !important;
}
</style>
<script type="text/javascript">
$(function()
$(function()
{';
//jqUi( "#menueLinks" ).accordion({
// heightStyle: "content",
@@ -198,7 +202,7 @@ echo '
</div>
</div>
</td>
<td valign="top" style="max-width:900px">
<td valign="top" style="max-width:900px">
<div id="header">
&nbsp;
</div>
@@ -208,15 +212,15 @@ echo '
</div>
</div>
<div id="jsonData"></div>
<!-- Tabs -->
<script>
$(function()
$(function()
{
jqUi( "#tabs" ).tabs();
$( "#tabs" ).hide();
});
</script>
<div id="tabs">
<ul>
@@ -242,7 +246,7 @@ echo '
</td>
<td valign="top" width="20%" >
<!--script> colResizable plugin used instead
$(function()
$(function()
{
jqUi("#menueRechts").resizable({
handles: "w",