Lehrfach auf Lehrveranstaltung geaendert; Studienordnung Tree wird nun im JS erstellt; Veraltete Ordner entfernt

This commit is contained in:
Andreas Österreicher
2014-02-04 08:01:07 +00:00
parent a032cc14b7
commit 30b33164e2
74 changed files with 2178 additions and 5477 deletions
File diff suppressed because one or more lines are too long
+52 -4
View File
@@ -622,14 +622,61 @@ class konto extends basis_db
return false;
}
}
/**
* Liefert die CreditPoints die dem Studierenden noch zur Verfuegung stehen
* falls dieser einschraenkungen eingetragen hat. Wenn keine Einschraenkung vorhanden ist,
* wird false zurueckgeliefert
* @return Anzahl der Verfuegbaren CreditPoints oder false falls unbeschraenkt
*/
public function getCreditPoints($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 not 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!='')
{
// Bereits verwendete CreditPoints ermitteln
$lehrveranstaltung = new lehrveranstaltung();
$verwendet = $lehrveranstaltung->getUsedECTS($uid, $studiensemester_kurzbz);
return ($creditpoints-($verwendet));
}
else
return false;
}
else
{
// keine Einschraenkung vorhanden
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
private function addZahlungsreferenz($buchungsnr)
{
$this->zahlungsreferenz = generateZahlungsreferenz($this->studiengang_kz, $buchungsnr);
$qry = "UPDATE public.tbl_konto "
. "SET zahlungsreferenz='".$this->zahlungsreferenz."' "
. "WHERE buchungsnr='".$buchungsnr."';";
$qry = "UPDATE public.tbl_konto ".
"SET zahlungsreferenz=".$db->db_add_param($this->zahlungsreferenz).
"WHERE buchungsnr=".$db->db_add_param($buchungsnr).";";
if($this->db_query($qry))
{
@@ -642,5 +689,6 @@ class konto extends basis_db
}
}
}
?>
?>
+2 -3
View File
@@ -124,11 +124,10 @@ class lehre_tools extends basis_db
OR
oe_kurzbz IN(
SELECT
tbl_fachbereich.oe_kurzbz
lehrfach.oe_kurzbz
FROM
lehre.tbl_lehreinheit
JOIN lehre.tbl_lehrfach USING(lehrfach_id)
JOIN public.tbl_fachbereich USING(fachbereich_kurzbz)
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(lehrfach_id=lehrfach.lehrveranstaltung_id)
WHERE
tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND tbl_lehreinheit.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id)."
+22 -16
View File
@@ -211,7 +211,7 @@ class lehreinheit extends basis_db
$qry .= " AND lehreinheit_id IN ( SELECT lehreinheit_id FROM lehre.tbl_lehreinheitmitarbeiter WHERE mitarbeiter_uid=".$this->db_add_param($uid).")";
if($fachbereich_kurzbz!='')
$qry .= " AND lehrfach_id IN ( SELECT lehrfach_id FROM lehre.tbl_lehrfach WHERE fachbereich_kurzbz=".$this->db_add_param($fachbereich_kurzbz).")";
$qry .= " AND EXISTS ( SELECT 1 FROM lehre.tbl_lehrveranstaltung JOIN public.tbl_fachbereich USING(oe_kurzbz) WHERE fachbereich_kurzbz=".$this->db_add_param($fachbereich_kurzbz)." AND lehrveranstaltung_id=tbl_lehreinheit.lehrfach_id)";
$qry.= "ORDER BY lehreinheit_id;";
@@ -679,17 +679,16 @@ class lehreinheit extends basis_db
}
/**
* Rueckgabewert ist ein Array mit den Ergebnissen. Bei Fehler false und die
* Fehlermeldung liegt in errormsg.
* Laedt Lehreinheiten
* Wenn der Parameter stg_kz NULL ist tritt gruppe_kurzbzb in Kraft.
* @param string $gruppe_kurzbz Einheit
* @param string grp Gruppe
* @param string ver Verband
* @param integer sem Semester
* @param integer stg_kz Kennzahl des Studiengangs
* @return variabel Array mit LVA; <b>false</b> bei Fehler
* @return boolean
*/
public function getLehreinheitLVPL($db_stpl_table,$studiensemester, $type, $stg_kz, $sem, $lektor, $ver=null, $grp=null, $gruppe=null, $order=null)
public function getLehreinheitLVPL($db_stpl_table,$studiensemester, $type, $stg_kz, $sem, $lektor, $ver=null, $grp=null, $gruppe=null, $order=null, $fachbereich_kurzbz=null)
{
$this->errormsg='';
$this->lehreinheiten=array();
@@ -701,24 +700,30 @@ class lehreinheit extends basis_db
$this->errormsg='Studiensemester ist nicht gesetzt!(lehreinheit.getLehreinheitLVPL)';
return false;
}
else $where=" studiensemester_kurzbz='$studiensemester'";
else $where=" studiensemester_kurzbz=".$this->db_add_param($studiensemester);
if ($type=='lektor')
$where.=" AND lektor_uid='$lektor'";
$where.=" AND lektor_uid=".$this->db_add_param($lektor);
elseif ($type=='gruppe')
$where.=" AND gruppe_kurzbz='$gruppe'";
$where.=" AND gruppe_kurzbz=".$this->db_add_param($gruppe);
elseif ($type=='verband')
{
$where.=" AND studiengang_kz='$stg_kz'";
$where.=" AND studiengang_kz=".$this->db_add_param($stg_kz);
if ($sem>0)
$where.=" AND semester=$sem";
$where.=" AND semester=".$this->db_add_param($sem);
if (mb_strlen($ver)>0 && $ver!=' ')
$where.=" AND verband='$ver'";
$where.=" AND verband=".$this->db_add_param($ver);
if (mb_strlen($grp)>0 && $grp!=' ')
$where.=" AND gruppe='$grp' ";
$where.=" AND gruppe=".$this->db_add_param($grp);
}
elseif($type=='fachbereich')
{
$where.=" AND fachbereich_kurzbz=".$this->db_add_param($fachbereich_kurzbz);
}
$sql_query='SELECT *, planstunden-verplant::smallint AS offenestunden
FROM lehre.'.$lva_stpl_view.' JOIN lehre.tbl_lehrform ON '.$lva_stpl_view.'.lehrform=tbl_lehrform.lehrform_kurzbz
FROM
lehre.'.$lva_stpl_view.'
JOIN lehre.tbl_lehrform ON '.$lva_stpl_view.'.lehrform=tbl_lehrform.lehrform_kurzbz
WHERE '.$where.' AND verplanen';
@@ -871,7 +876,7 @@ class lehreinheit extends basis_db
$this->db_add_param($row->lehrform_kurzbz).",".
$this->db_add_param($row->stundenblockung, FHC_INTEGER).",".
$this->db_add_param($row->wochenrythmus, FHC_INTEGER).",".
$this->db_add_param($row->startkw, FHC_INTEGER).",".
$this->db_add_param($row->start_kw, FHC_INTEGER).",".
$this->db_add_param($row->raumtyp).",".
$this->db_add_param($row->raumtypalternativ).",".
$this->db_add_param($row->sprache).",".
@@ -946,8 +951,9 @@ class lehreinheit extends basis_db
*, tbl_lehrveranstaltung.semester as lv_semester, tbl_lehrveranstaltung.studiengang_kz as lv_studiengang_kz
FROM
lehre.tbl_lehreinheit
JOIN lehre.tbl_lehrfach USING(lehrfach_id)
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(lehrfach_id=lehrfach.lehrveranstaltung_id)
JOIN public.tbl_fachbereich USING(oe_kurzbz)
JOIN lehre.tbl_lehrveranstaltung ON(tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id)
WHERE
tbl_lehreinheit.lehreinheit_id=".$this->db_add_param($lehreinheit_id, FHC_INTEGER).';';
+5 -4
View File
@@ -232,7 +232,7 @@ class lehrstunde extends basis_db
* @param gruppe_kurzbz
*
*/
public function load_lehrstunden($type, $datum_von, $datum_bis, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe_kurzbz=NULL, $stpl_view='stundenplan', $idList=null)
public function load_lehrstunden($type, $datum_von, $datum_bis, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe_kurzbz=NULL, $stpl_view='stundenplan', $idList=null, $fachbereich_kurzbz=null)
{
$num_rows_einheit=0;
// Parameter Checken
@@ -339,6 +339,8 @@ class lehrstunde extends basis_db
$sql_query.=" AND ort_kurzbz='".addslashes($ort_kurzbz)."'";
elseif ($type=='gruppe')
$sql_query.=" AND gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
elseif($type=='fachbereich')
$sql_query.=" AND fachbereich_kurzbz=".$this->db_add_param($fachbereich_kurzbz);
else
{
$sql_query.=" AND ( (studiengang_kz='".addslashes($studiengang_kz)."'";
@@ -376,7 +378,6 @@ class lehrstunde extends basis_db
$sql_query_stdplan.=' WHERE'.$sql_query;
}
//echo $sql_query_stdplan;
//Datenbankabfrage
if (!$this->db_query($sql_query_stdplan))
{
@@ -424,12 +425,12 @@ class lehrstunde extends basis_db
}
// Reservierungsdaten ermitteln
if ($type!='idList')
if ($type!='idList' && $type!='fachbereich')
{
// Datenbankabfrage generieren
$sql_query_reservierung='SELECT * FROM campus.vw_reservierung';
$sql_query_reservierung.=$sql_query;
//echo $sql_query_reservierung;
//Datenbankabfrage
if (!$this->db_query($sql_query_reservierung))
{
+121 -67
View File
@@ -63,6 +63,7 @@ class lehrveranstaltung extends basis_db
public $semesterwochen; // smallint
public $lvnr; // varchar(32)
public $bezeichnung_arr = array();
public $semester_alternativ; // smallint
public $studienplan_lehrveranstaltung_id;
public $studienplan_lehrveranstaltung_id_parent;
@@ -137,6 +138,7 @@ class lehrveranstaltung extends basis_db
$this->anzahlsemester = $row->anzahlsemester;
$this->semesterwochen = $row->semesterwochen;
$this->lvnr = $row->lvnr;
$this->semester_alternativ = $row->semester_alternativ;
$this->bezeichnung_arr['German'] = $this->bezeichnung;
$this->bezeichnung_arr['English'] = $this->bezeichnung_english;
@@ -200,6 +202,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -327,6 +330,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -452,6 +456,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -524,6 +529,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -646,7 +652,7 @@ class lehrveranstaltung extends basis_db
$qry = 'BEGIN; INSERT INTO lehre.tbl_lehrveranstaltung (studiengang_kz, bezeichnung, kurzbz, lehrform_kurzbz,
semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, ext_id, insertamum,
insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sort,
zeugnis, projektarbeit, sprache, koordinator, bezeichnung_english, orgform_kurzbz, incoming, lehrtyp_kurzbz, oe_kurzbz, raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr) VALUES (' .
zeugnis, projektarbeit, sprache, koordinator, bezeichnung_english, orgform_kurzbz, incoming, lehrtyp_kurzbz, oe_kurzbz, raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ) VALUES (' .
$this->db_add_param($this->studiengang_kz) . ', ' .
$this->db_add_param($this->bezeichnung) . ', ' .
$this->db_add_param($this->kurzbz) . ', ' .
@@ -680,7 +686,8 @@ class lehrveranstaltung extends basis_db
$this->db_add_param($this->raumtyp_kurzbz) . ',' .
$this->db_add_param($this->anzahlsemester) . ',' .
$this->db_add_param($this->semesterwochen) . ',' .
$this->db_add_param($this->lvnr) . ');';
$this->db_add_param($this->lvnr) .','.
$this->db_add_param($this->semester_alternativ).');';
}
else
{
@@ -724,7 +731,8 @@ class lehrveranstaltung extends basis_db
'raumtyp_kurzbz=' . $this->db_add_param($this->raumtyp_kurzbz) . ',' .
'anzahlsemester=' . $this->db_add_param($this->anzahlsemester, FHC_INTEGER) . ',' .
'semesterwochen=' . $this->db_add_param($this->semesterwochen, FHC_INTEGER) . ',' .
'lvnr = ' . $this->db_add_param($this->lvnr) . ' ' .
'lvnr = ' . $this->db_add_param($this->lvnr) . ', ' .
'semester_alternativ = '.$this->db_add_param($this->semester_alternativ).' '.
'WHERE lehrveranstaltung_id = ' . $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER, false) . ';';
}
@@ -828,6 +836,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -916,6 +925,7 @@ class lehrveranstaltung extends basis_db
$l->anzahlsemester = $row->anzahlsemester;
$l->semesterwochen = $row->semesterwochen;
$l->lvnr = $row->lvnr;
$l->semester_alternativ = $row->semester_alternativ;
$l->bezeichnung_arr['German'] = $row->bezeichnung;
$l->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -1029,6 +1039,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -1114,6 +1125,7 @@ class lehrveranstaltung extends basis_db
$obj->anzahlsemester = $row->anzahlsemester;
$obj->semesterwochen = $row->semesterwochen;
$obj->lvnr = $row->lvnr;
$obj->semester_alternativ = $row->semester_alternativ;
$obj->bezeichnung_arr['German'] = $row->bezeichnung;
$obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -1182,9 +1194,6 @@ class lehrveranstaltung extends basis_db
{
foreach ($this->lehrveranstaltungen as $lv)
{
$data = new stdClass();
$data->data = $lv->bezeichnung;
$obj = new stdClass();
$obj->lehrveranstaltung_id = $lv->lehrveranstaltung_id;
$obj->studiengang_kz = $lv->studiengang_kz;
@@ -1194,12 +1203,14 @@ class lehrveranstaltung extends basis_db
$obj->semester = $lv->semester;
$obj->ects = $lv->ects;
$obj->semesterstunden = $lv->semesterstunden;
$data->metadata = $obj;
$data->attr = array();
$data->attr["id"]=$lv->lehrveranstaltung_id;
$data->attr["rel"] = $lv->lehrtyp_kurzbz;
$data->attr["studienplan_lehrveranstaltung_id"] = $lv->studienplan_lehrveranstaltung_id;
$values[] = $data;
$obj->lehrtyp_kurzbz = $lv->lehrtyp_kurzbz;
$obj->studienplan_lehrveranstaltung_id = $lv->studienplan_lehrveranstaltung_id;
$obj->stpllv_semester = $lv->stpllv_semester;
$obj->stpllv_pflicht = $lv->stpllv_pflicht;
$obj->stpllv_koordinator = $lv->stpllv_koordinator;
$values[] = $obj;
}
}
else
@@ -1213,6 +1224,10 @@ class lehrveranstaltung extends basis_db
$obj->semester = $this->semester;
$obj->ects = $this->ects;
$obj->semesterstunden = $this->semesterstunden;
$obj->stpllv_semester = $this->stpllv_semester;
$obj->stpllv_pflicht = $this->stpllv_pflicht;
$obj->stpllv_koordinator = $this->stpllv_koordinator;
$values[] = $obj;
}
return $values;
@@ -1230,9 +1245,6 @@ class lehrveranstaltung extends basis_db
{
foreach ($tree as $lv)
{
$data = new stdClass();
$data->data = $lv->bezeichnung;
$obj = new stdClass();
$obj->lehrveranstaltung_id = $lv->lehrveranstaltung_id;
$obj->studiengang_kz = $lv->studiengang_kz;
@@ -1242,18 +1254,19 @@ class lehrveranstaltung extends basis_db
$obj->semester = $lv->semester;
$obj->ects = $lv->ects;
$obj->semesterstunden = $lv->semesterstunden;
$data->metadata = $obj;
$data->attr = array();
$data->attr["id"]=$lv->studienplan_lehrveranstaltung_id;
$data->attr["rel"] = $lv->lehrtyp_kurzbz;
$data->attr["lvID"] = $lv->lehrveranstaltung_id;
$data->attr["studienplan_lehrveranstaltung_id"] = $lv->studienplan_lehrveranstaltung_id;
$data->children = array();
$obj->studienplan_lehrveranstaltung_id = $lv->studienplan_lehrveranstaltung_id;
$obj->lehrtyp_kurzbz = $lv->lehrtyp_kurzbz;
$obj->stpllv_semester = $lv->stpllv_semester;
$obj->stpllv_pflicht = $lv->stpllv_pflicht;
$obj->stpllv_koordinator = $lv->stpllv_koordinator;
$obj->children = array();
if(count($lv->childs) > 0)
{
$data->children = $this->cleanTreeResult($lv->childs);
$obj->children = $this->cleanTreeResult($lv->childs);
}
$values[] = $data;
$values[] = $obj;
}
}
else
@@ -1267,6 +1280,10 @@ class lehrveranstaltung extends basis_db
$obj->semester = $this->semester;
$obj->ects = $this->ects;
$obj->semesterstunden = $this->semesterstunden;
$obj->stpllv_semester = $this->stpllv_semester;
$obj->stpllv_pflicht = $this->stpllv_pflicht;
$obj->stpllv_koordinator = $this->stpllv_koordinator;
$values[] = $obj;
}
return $values;
@@ -1275,29 +1292,15 @@ class lehrveranstaltung extends basis_db
/**
* Baut die Datenstruktur für jsTree in Studienordnung auf
* @param $studienplan_id ID des Studienpland
* @param $semester Maximale Anzahl an Semester
*/
public function getLvTree($studienplan_id, $semester)
public function getLvTree($studienplan_id)
{
$values = array();
//TODO Anzahl der Semester laden; Quelle ?
$this->loadLehrveranstaltungStudienplan($studienplan_id, 0);
$this->loadLehrveranstaltungStudienplan($studienplan_id);
$tree = $this->getLehrveranstaltungTree();
$data = $this->cleanTreeResult($tree);
array_push($values, $data);
for($i = 1; $i<=$semester; $i++)
{
$data = new stdClass();
$data->data = "Semester ".$i;
$data->attr = array();
$data->attr["id"] = $i;
$data->attr["rel"] = "semester";
$data->children = array();
$this->loadLehrveranstaltungStudienplan($studienplan_id, $i);
$tree = $this->getLehrveranstaltungTree();
$data->children = $this->cleanTreeResult($tree);
array_push($values, $data);
}
$values = $this->cleanTreeResult($tree);
unset($this->lehrveranstaltungen);
$this->lehrveranstaltungen=array();
return $values;
}
@@ -1326,26 +1329,26 @@ class lehrveranstaltung extends basis_db
}
}
/**
* Lädt alle kompatiblen LVs zu einer Lehrveranstaltung
* @param $lehrveranstaltung_id ID der Lehrveranstaltung
*/
public function getLVkompatibel($lehrveranstaltung_id)
{
if (!is_numeric($lehrveranstaltung_id)) {
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
/**
* Lädt alle kompatiblen LVs zu einer Lehrveranstaltung
* @param $lehrveranstaltung_id ID der Lehrveranstaltung
*/
public function getLVkompatibel($lehrveranstaltung_id)
{
if (!is_numeric($lehrveranstaltung_id)) {
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id IN (
SELECT lehrveranstaltung_id_kompatibel
FROM lehre.tbl_lehrveranstaltung_kompatibel
WHERE lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).");";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
FROM lehre.tbl_lehrveranstaltung_kompatibel
WHERE lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).");";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrveranstaltung();
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
@@ -1384,10 +1387,10 @@ class lehrveranstaltung extends basis_db
if ($lv_obj->bezeichnung_arr['English'] == '')
$lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German'];
$this->lehrveranstaltungen[] = $lv_obj;
}
return true;
}
$this->lehrveranstaltungen[] = $lv_obj;
}
return true;
}
}
/**
@@ -1477,7 +1480,7 @@ class lehrveranstaltung extends basis_db
return false;
}
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung where oe_kurzbz=" . $this->db_add_param($oe_kurzbz, FHC_STRING);
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung WHERE oe_kurzbz=" . $this->db_add_param($oe_kurzbz, FHC_STRING);
//Select Befehl zusammenbauen
@@ -1485,7 +1488,7 @@ class lehrveranstaltung extends basis_db
$qry .= " AND aktiv ";
if(!is_null($lehrtyp))
$qry .= " AND lehrtyp_kurzbz='".$lehrtyp."'";
$qry .= " AND lehrtyp_kurzbz=".$this->db_add_param($lehrtyp);
if (is_null($sort) || empty($sort))
$qry .= " ORDER BY semester, bezeichnung";
@@ -1534,6 +1537,8 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -1601,6 +1606,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->studiengang_kurzbzlang = $row->studiengang_kurzbzlang;
@@ -1614,5 +1620,53 @@ class lehrveranstaltung extends basis_db
return false;
}
}
/**
* Liefert die Anzahl der ECTS Punkte die ein Student in einem Studiensemester
* bereits verbraucht hat (fuer reduzierte Studiengebuehr)
* @param $uid UID
* @param $studiensemester_kurzbz
* @return numeric - Anzahl der ECTS Punkte
*/
public function getUsedECTS($uid, $studiensemester_kurzbz)
{
$qry = "
SELECT sum(ects) as ectssumme FROM (
SELECT
lehrveranstaltung_id, ects
FROM
campus.vw_student_lehrveranstaltung
WHERE
uid=".$this->db_add_param($uid)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
UNION
SELECT
lehrveranstaltung_id, ects
FROM
lehre.tbl_zeugnisnote
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
WHERE
student_uid=".$this->db_add_param($uid)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
) a";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
return $row->ectssumme;
}
else
{
$this->errormsg = 'Fehler beim Ermitteln der ECTS Punkte';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Ermitteln der ECTS Punkte';
return false;
}
}
}
?>
+1 -1
View File
@@ -198,7 +198,7 @@ class lvangebot extends basis_db
}
//Anmeldefenster Start und Ende prüfen
if($this->anmeldefenster_start>$this->anmeldefenster_ende)
if($this->anmeldefenster_start!='' && $this->anmeldefenster_ende!='' && $this->anmeldefenster_start>$this->anmeldefenster_ende)
{
$this->errormsg = 'Anmeldefenster: Ende liegt vor Start';
return false;
+20 -60
View File
@@ -458,65 +458,6 @@ class studienplan extends basis_db
}
}
/**
* Lädt eine Lehrveranstaltung eines Studienplans aus der
* Zwischentabelle tbl_studienplan_lehrveranstaltung
* @param Studienplan ID
* @param Lehrveranstaltung ID
* @return true wenn ok, false im Fehlerfall
*/
public function loadLehrveranstaltungStudienplanByLvId($studienplan_id, $lehrveranstaltung_id)
{
if($this->containsLehrveranstaltung($studienplan_id, $lehrveranstaltung_id))
{
if (!is_numeric($studienplan_id) || $studienplan_id === '') {
$this->errormsg = 'StudienplanID ist ungueltig';
return false;
}
if (!is_numeric($lehrveranstaltung_id) || $lehrveranstaltung_id === '') {
$this->errormsg = 'LehrveranstaltungID ist ungueltig';
return false;
}
$qry = "SELECT
tbl_lehrveranstaltung.*,
tbl_studienplan_lehrveranstaltung.studienplan_id,
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id,
tbl_studienplan_lehrveranstaltung.semester as stpllv_semester,
tbl_studienplan_lehrveranstaltung.pflicht as stpllv_pflicht,
tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator,
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent
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).
" AND tbl_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).";";
if (!$this->db_query($qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
if ($row = $this->db_fetch_object())
{
$this->studienplan_id = $row->studienplan_id;
$this->stpllv_semester = $row->stpllv_semester;
$this->stpllv_pflicht = $this->db_parse_bool($row->stpllv_pflicht);
$this->stpllv_koordinator = $row->stpllv_koordinator;
$this->studienplan_lehrveranstaltung_id = $row->studienplan_lehrveranstaltung_id;
$this->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent;
$this->new = false;
}
return true;
}
else
{
return false;
}
}
/**
* Speichert die Zuordnung einer Lehrveranstaltung zu einem Studienplan
* @return true wenn ok, false im Fehlerfall
@@ -558,7 +499,26 @@ class studienplan extends basis_db
' updateamum= now(), ' .
' updatevon=' . $this->db_add_param($this->updatevon) . ' ' .
' WHERE studienplan_lehrveranstaltung_id=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER, false) . ';';
}
// Bei allen darunterliegenden Zuordnungen wird das Semester angepasst, damit beim
// verschieben von Modulen die darunterliegenden Eintraege korrekt sind
$qry.='
UPDATE lehre.tbl_studienplan_lehrveranstaltung SET semester='.$this->db_add_param($this->semester).'
WHERE studienplan_lehrveranstaltung_id IN(
WITH RECURSIVE stpllv(studienplan_lehrveranstaltung_id, studienplan_lehrveranstaltung_id_parent) as
(
SELECT studienplan_lehrveranstaltung_id, studienplan_lehrveranstaltung_id_parent
FROM lehre.tbl_studienplan_lehrveranstaltung
WHERE studienplan_lehrveranstaltung_id='.$this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER).'
UNION ALL
SELECT st.studienplan_lehrveranstaltung_id, st.studienplan_lehrveranstaltung_id_parent
FROM lehre.tbl_studienplan_lehrveranstaltung st, stpllv
WHERE st.studienplan_lehrveranstaltung_id_parent=stpllv.studienplan_lehrveranstaltung_id
)
SELECT studienplan_lehrveranstaltung_id
FROM stpllv
GROUP BY studienplan_lehrveranstaltung_id);';
}
if ($this->db_query($qry))
{
+17 -8
View File
@@ -93,6 +93,7 @@ class wochenplan extends basis_db
public $wochenplan;
public $errormsg;
public $fachbereich_kurzbz;
/**
* Konstruktor
@@ -108,7 +109,7 @@ class wochenplan extends basis_db
$this->kal_link='stpl_kalender.php?type='.$type;
// Timezone setzten
date_default_timezone_set('Europe/Vienna');
$this->datum=mktime();
$this->datum=time();
$this->init_stdplan();
$this->crlf=crlf();
@@ -145,11 +146,11 @@ class wochenplan extends basis_db
* @param $grp
* @param $gruppe
*/
public function load_data($type, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe=NULL)
public function load_data($type, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe=NULL, $fachbereich_kurzbz=NULL)
{
// Parameter Checken
// Typ des Stundenplans
if ($type=='student' || $type=='lektor' || $type=='verband' || $type=='gruppe' || $type=='ort')
if ($type=='student' || $type=='lektor' || $type=='verband' || $type=='gruppe' || $type=='ort' || $type=='fachbereich')
$this->type=$type;
else
{
@@ -200,6 +201,16 @@ class wochenplan extends basis_db
$this->gruppe_kurzbz=$gruppe;
if($type=='fachbereich')
{
if(is_null($fachbereich_kurzbz))
{
$this->errormsg = 'Fachbereich nicht gesetzt';
return false;
}
$this->fachbereich_kurzbz=$fachbereich_kurzbz;
}
// Zusaetzliche Daten ermitteln
//personendaten
if ($this->type=='student' || $this->type=='lektor')
@@ -345,7 +356,7 @@ class wochenplan extends basis_db
// Stundenplandaten ermittlen
$this->wochenplan=new lehrstunde();
$anz=$this->wochenplan->load_lehrstunden($this->type,$this->datum_begin,$this->datum_end,$this->pers_uid,$this->ort_kurzbz,$this->stg_kz,$this->sem,$this->ver,$this->grp,$this->gruppe_kurzbz, $stpl_view);
$anz=$this->wochenplan->load_lehrstunden($this->type,$this->datum_begin,$this->datum_end,$this->pers_uid,$this->ort_kurzbz,$this->stg_kz,$this->sem,$this->ver,$this->grp,$this->gruppe_kurzbz, $stpl_view, null,$this->fachbereich_kurzbz);
if ($anz<0)
{
$this->errormsg=$this->wochenplan->errormsg;
@@ -411,8 +422,6 @@ class wochenplan extends basis_db
$sprache = getSprache();
$p=new phrasen($sprache);
//$datum=mktime();
echo '<TABLE width="100%" border="0" cellspacing="0">'.$this->crlf;
echo ' <TR>'.$this->crlf;
echo ' <TD style="padding-bottom: 5px;" valign="top">'.$this->crlf;
@@ -601,7 +610,7 @@ class wochenplan extends basis_db
}
echo '</tr></thead><tbody>'.$this->crlf;
// Von Montag bis Samstag
$datum_now=mktime();
$datum_now=time();
$datum_res_lektor_start=jump_day($datum_now,(RES_TAGE_LEKTOR_MIN)-1);
$datum_res_lektor_ende=$o_datum->mktime_fromdate(RES_TAGE_LEKTOR_BIS); //jump_day($datum_now,RES_TAGE_LEKTOR_MAX);
if (!date("w",$this->datum))
@@ -2399,7 +2408,7 @@ function jahreskalenderjump_hoverbox($link) //Mit Hoverbox Effekt
$sprache = getSprache();
$p=new phrasen($sprache);
$crlf=crlf();
$datum=mktime();
$datum=time();
$woche=kalenderwoche($datum);
$wochenmontag=montag($datum);