mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
@@ -0,0 +1,245 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Stefan Puraner <stefan.puraner@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* Klasse Bewerbungstermin
|
||||
* @create 10-01-2007
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class bewerbungstermin extends basis_db
|
||||
{
|
||||
public $new; // boolean
|
||||
public $result = array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $bewerbungstermin_id;// integer
|
||||
public $studiengang_kz; //integer
|
||||
public $studiensemester_kurzbz; // string
|
||||
public $beginn; // timestamp
|
||||
public $ende; // timestamp
|
||||
public $nachfrist; // boolean
|
||||
public $nachfrist_ende; // timestamp
|
||||
public $anmerkung; // string
|
||||
public $insertamum; // timestamp
|
||||
public $insertvon; // bigint
|
||||
public $updateamum; // timestamp
|
||||
public $updatevon; // bigint
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $reihungstest_id ID der Adresse die geladen werden soll (Default=null)
|
||||
*/
|
||||
public function __construct($bewerbungstermin_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($bewerbungstermin_id))
|
||||
$this->load($bewerbungstermin_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt den Fördervertrag mit der ID $foerdervertrag_id
|
||||
* @param $foerdervertrag_id ID des zu ladenden Fördervertrags
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load($bewerbungstermin_id)
|
||||
{
|
||||
if(!is_numeric($bewerbungstermin_id))
|
||||
{
|
||||
$this->errormsg = 'bewerbungstermin_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM public.tbl_bewerbungstermine WHERE bewerbungstermin_id=".$this->db_add_param($bewerbungstermin_id, FHC_INTEGER, false);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->bewerbungstermin_id = $row->bewerbungstermin_id;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$this->beginn = $row->beginn;
|
||||
$this->ende = $row->ende;
|
||||
$this->nachfrist = $row->nachfrist;
|
||||
$this->nachfrist_ende = $row->nachfrist_ende;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Bewerbungstermin existiert nicht';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Bewerbungstermins';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle Förderverträge
|
||||
*/
|
||||
public function getBewerbungstermine($studiengang_kz, $studiensemester_kurzbz=null, $sort=null)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_bewerbungstermine WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
if($studiensemester_kurzbz!=null)
|
||||
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
||||
|
||||
if($sort != null)
|
||||
{
|
||||
$qry.=" ORDER BY ".$sort;
|
||||
}
|
||||
$qry.=";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new bewerbungstermin();
|
||||
|
||||
$obj->bewerbungstermin_id = $row->bewerbungstermin_id;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$obj->beginn = $row->beginn;
|
||||
$obj->ende = $row->ende;
|
||||
$obj->nachfrist = $this->db_parse_bool($row->nachfrist);
|
||||
$obj->nachfrist_ende = $row->nachfrist_ende;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Bewerbungstermine.';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Variablen auf Gueltigkeit
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
private function validate()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die Datenbank
|
||||
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
* andernfalls wird der Datensatz mit der ID in $reihungstest_id aktualisiert
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function save()
|
||||
{
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
|
||||
$qry='BEGIN; INSERT INTO public.tbl_bewerbungstermine(studiensemester_kurzbz, studiengang_kz, beginn, ende, nachfrist, nachfrist_ende, anmerkung, insertamum, insertvon) VALUES('.
|
||||
$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->beginn).', '.
|
||||
$this->db_add_param($this->ende).', '.
|
||||
$this->db_add_param($this->nachfrist, FHC_BOOLEAN).', '.
|
||||
$this->db_add_param($this->nachfrist_ende).', '.
|
||||
$this->db_add_param($this->anmerkung).', now(),'.
|
||||
$this->db_add_param($this->insertvon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry='UPDATE public.tbl_bewerbungstermine SET '.
|
||||
'studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||
'studiengang_kz='.$this->db_add_param($this->studiengang_kz,FHC_INTEGER).', '.
|
||||
'beginn='.$this->db_add_param($this->beginn).', '.
|
||||
'ende='.$this->db_add_param($this->ende).', '.
|
||||
'nachfrist='.$this->db_add_param($this->nachfrist, FHC_BOOLEAN).', '.
|
||||
'nachfrist_ende='.$this->db_add_param($this->nachfrist_ende).', '.
|
||||
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
|
||||
'updateamum= now(), '.
|
||||
'updatevon='.$this->db_add_param($this->updatevon).' '.
|
||||
'WHERE bewerbungstermin_id='.$this->db_add_param($this->bewerbungstermin_id, FHC_INTEGER, false).';';
|
||||
}
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->new)
|
||||
{
|
||||
$qry = "SELECT currval('public.tbl_bewerbungstermine_bewerbungstermin_id_seq') as id";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->foerdervertrag_id = $row->id;
|
||||
$this->db_query('COMMIT');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function delete($bewerbungstermin_id)
|
||||
{
|
||||
$qry = "DELETE from public.tbl_bewerbungstermine WHERE bewerbungstermin_id=".$this->db_add_param($bewerbungstermin_id);
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -66,6 +66,7 @@ class lehrveranstaltung extends basis_db
|
||||
public $bezeichnung_arr = array();
|
||||
public $semester_alternativ; // smallint
|
||||
public $farbe;
|
||||
public $lehrauftrag=true;
|
||||
|
||||
public $studienplan_lehrveranstaltung_id;
|
||||
public $studienplan_lehrveranstaltung_id_parent;
|
||||
@@ -82,6 +83,7 @@ class lehrveranstaltung extends basis_db
|
||||
public $benotung=false;
|
||||
public $lvinfo=false;
|
||||
public $curriculum=true;
|
||||
public $export=true;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -161,6 +163,7 @@ class lehrveranstaltung extends basis_db
|
||||
|
||||
$this->benotung = $this->db_parse_bool($row->benotung);
|
||||
$this->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$this->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
$this->bezeichnung_arr['German'] = $this->bezeichnung;
|
||||
$this->bezeichnung_arr['English'] = $this->bezeichnung_english;
|
||||
@@ -229,6 +232,7 @@ class lehrveranstaltung extends basis_db
|
||||
|
||||
$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;
|
||||
@@ -363,6 +367,7 @@ class lehrveranstaltung extends basis_db
|
||||
$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;
|
||||
@@ -492,6 +497,7 @@ class lehrveranstaltung extends basis_db
|
||||
$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;
|
||||
@@ -572,6 +578,7 @@ class lehrveranstaltung extends basis_db
|
||||
$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;
|
||||
@@ -730,7 +737,7 @@ class lehrveranstaltung extends basis_db
|
||||
semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, 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, semester_alternativ, farbe,sws,lvs,alvs,lvps,las,benotung,lvinfo) VALUES (' .
|
||||
raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ, farbe,sws,lvs,alvs,lvps,las,benotung,lvinfo, lehrauftrag) VALUES (' .
|
||||
$this->db_add_param($this->studiengang_kz) . ', ' .
|
||||
$this->db_add_param($this->bezeichnung) . ', ' .
|
||||
$this->db_add_param($this->kurzbz) . ', ' .
|
||||
@@ -772,7 +779,8 @@ class lehrveranstaltung extends basis_db
|
||||
$this->db_add_param($this->lvps).','.
|
||||
$this->db_add_param($this->las).','.
|
||||
$this->db_add_param($this->benotung, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->lvinfo, FHC_BOOLEAN)
|
||||
$this->db_add_param($this->lvinfo, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->lehrauftrag, FHC_BOOLEAN)
|
||||
.');';
|
||||
}
|
||||
else
|
||||
@@ -825,7 +833,8 @@ class lehrveranstaltung extends basis_db
|
||||
'lvps = '.$this->db_add_param($this->lvps).', '.
|
||||
'las = '.$this->db_add_param($this->las).', '.
|
||||
'benotung = '.$this->db_add_param($this->benotung, FHC_BOOLEAN).', '.
|
||||
'lvinfo = '.$this->db_add_param($this->lvinfo, FHC_BOOLEAN).' '.
|
||||
'lvinfo = '.$this->db_add_param($this->lvinfo, FHC_BOOLEAN).', '.
|
||||
'lehrauftrag = '.$this->db_add_param($this->lehrauftrag, FHC_BOOLEAN).' '.
|
||||
'WHERE lehrveranstaltung_id = ' . $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER, false) . ';';
|
||||
}
|
||||
|
||||
@@ -933,6 +942,7 @@ class lehrveranstaltung extends basis_db
|
||||
$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;
|
||||
@@ -1025,6 +1035,7 @@ class lehrveranstaltung extends basis_db
|
||||
$l->farbe = $row->farbe;
|
||||
$l->benotung = $this->db_parse_bool($row->benotung);
|
||||
$l->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$l->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
$l->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$l->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
@@ -1142,6 +1153,7 @@ class lehrveranstaltung extends basis_db
|
||||
$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;
|
||||
@@ -1176,7 +1188,8 @@ class lehrveranstaltung extends basis_db
|
||||
tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator,
|
||||
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent,
|
||||
tbl_studienplan_lehrveranstaltung.sort stpllv_sort,
|
||||
tbl_studienplan_lehrveranstaltung.curriculum
|
||||
tbl_studienplan_lehrveranstaltung.curriculum,
|
||||
tbl_studienplan_lehrveranstaltung.export
|
||||
FROM lehre.tbl_lehrveranstaltung
|
||||
JOIN lehre.tbl_studienplan_lehrveranstaltung
|
||||
USING(lehrveranstaltung_id)
|
||||
@@ -1234,6 +1247,7 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->stpllv_sort = $row->stpllv_sort;
|
||||
$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;
|
||||
@@ -1246,6 +1260,7 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->studienplan_lehrveranstaltung_id = $row->studienplan_lehrveranstaltung_id;
|
||||
$obj->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent;
|
||||
$obj->curriculum = $this->db_parse_bool($row->curriculum);
|
||||
$obj->export = $this->db_parse_bool($row->export);
|
||||
$obj->new = false;
|
||||
|
||||
$this->lehrveranstaltungen[] = $obj;
|
||||
@@ -1322,6 +1337,7 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->benotung = $this->db_parse_bool($lv->benotung);
|
||||
$obj->lvinfo =$this->db_parse_bool( $lv->lvinfo);
|
||||
$obj->zeugnis = $this->db_parse_bool($lv->zeugnis);
|
||||
$obj->lehrauftrag = $this->db_parse_bool($lv->lehrauftrag);
|
||||
|
||||
$values[] = $obj;
|
||||
|
||||
@@ -1346,6 +1362,7 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->benotung = $this->db_parse_bool($this->benotung);
|
||||
$obj->lvinfo =$this->db_parse_bool( $this->lvinfo);
|
||||
$obj->zeugnis = $this->db_parse_bool($this->zeugnis);
|
||||
$obj->lehrauftrag = $this->db_parse_bool($this->lehrauftrag);
|
||||
|
||||
$values[] = $obj;
|
||||
}
|
||||
@@ -1395,7 +1412,9 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->lvinfo = $lv->lvinfo;
|
||||
$obj->zeugnis = $lv->zeugnis;
|
||||
$obj->curriculum = $lv->curriculum;
|
||||
|
||||
$obj->export = $lv->export;
|
||||
$obj->lehrauftrag = $lv->lehrauftrag;
|
||||
$obj->lehre = $lv->lehre;
|
||||
$obj->children = array();
|
||||
if(count($lv->childs) > 0)
|
||||
{
|
||||
@@ -1424,6 +1443,7 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->lvinfo =$this->db_parse_bool( $this->lvinfo);
|
||||
$obj->zeugnis = $this->db_parse_bool($this->zeugnis);
|
||||
$obj->curriculum = $this->db_parse_bool($this->curriculum);
|
||||
$obj->lehrauftrag = $this->lehrauftrag;
|
||||
|
||||
$values[] = $obj;
|
||||
}
|
||||
@@ -1525,6 +1545,7 @@ class lehrveranstaltung extends basis_db
|
||||
$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;
|
||||
@@ -1690,6 +1711,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$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;
|
||||
@@ -1817,6 +1839,7 @@ class lehrveranstaltung extends basis_db
|
||||
$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->studiengang_kurzbzlang = $row->studiengang_kurzbzlang;
|
||||
|
||||
@@ -1942,6 +1965,7 @@ class lehrveranstaltung extends basis_db
|
||||
$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;
|
||||
@@ -2206,6 +2230,7 @@ class lehrveranstaltung extends basis_db
|
||||
$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;
|
||||
|
||||
+19
-15
@@ -21,7 +21,7 @@
|
||||
require_once(dirname(__FILE__)."/jquery.php");
|
||||
echo '
|
||||
<script>
|
||||
var TARGET = "";
|
||||
var SERVICE_TARGET = "";
|
||||
function _GET()
|
||||
{
|
||||
var url = window.location.href;
|
||||
@@ -37,16 +37,16 @@ echo '
|
||||
return vars;
|
||||
}
|
||||
|
||||
function AJAXCall(info, successfunction)
|
||||
function AJAXCall(action, successfunction)
|
||||
{
|
||||
if(TARGET == "")
|
||||
if(SERVICE_TARGET == "")
|
||||
die("Es wurde kein AJAX-Target angegeben");
|
||||
$.ajax(
|
||||
{
|
||||
url: TARGET,
|
||||
url: SERVICE_TARGET,
|
||||
type: "POST",
|
||||
dataType: "html",
|
||||
data: info,
|
||||
data: action,
|
||||
timeout: 5000
|
||||
|
||||
}).done(function(result)
|
||||
@@ -60,17 +60,20 @@ echo '
|
||||
die(result);
|
||||
return false;
|
||||
}
|
||||
if(res.erfolg)
|
||||
if(res.return)
|
||||
{
|
||||
try
|
||||
if(res.action != "")
|
||||
{
|
||||
var ret = JSON.parse(res.info);
|
||||
successfunction(ret);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
die(res.info);
|
||||
try
|
||||
{
|
||||
var ret = JSON.parse(res.action);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
die(action.action + "<br><br>" + res.action);
|
||||
}
|
||||
}
|
||||
successfunction(ret);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -79,13 +82,14 @@ echo '
|
||||
|
||||
}).fail(function(jqXHR, status)
|
||||
{
|
||||
die(status);
|
||||
die("AJAX failed: " + status);
|
||||
});
|
||||
}
|
||||
|
||||
function die(msg)
|
||||
{
|
||||
document.body.innerHTML = msg;
|
||||
var full = "<h1 style=\'color:#900;\'>Fehler:</h1><div>"+msg+"</div>";
|
||||
document.body.innerHTML = full;
|
||||
throw new Error(msg);
|
||||
}
|
||||
|
||||
|
||||
@@ -31,12 +31,12 @@ function returnAJAX($success, $obj)
|
||||
//if there is an error
|
||||
if(error_get_last())
|
||||
$ret = array(
|
||||
"erfolg" => false,
|
||||
"return" => false,
|
||||
);
|
||||
else if(!$success)
|
||||
{
|
||||
$ret = array(
|
||||
"erfolg" => false,
|
||||
"return" => false,
|
||||
"message" => $obj,
|
||||
);
|
||||
}
|
||||
@@ -44,20 +44,19 @@ function returnAJAX($success, $obj)
|
||||
else if (!$getuid = get_uid())
|
||||
{
|
||||
$ret = array(
|
||||
"erfolg" => false,
|
||||
"return" => false,
|
||||
);
|
||||
}
|
||||
//if everything worked fine
|
||||
else
|
||||
{
|
||||
$ret = array(
|
||||
"erfolg" => true,
|
||||
"user" => $getuid,
|
||||
"info" => $obj,
|
||||
"return" => true,
|
||||
"action" => $obj,
|
||||
);
|
||||
}
|
||||
echo json_encode($ret);
|
||||
if($ret["erfolg"] === false)
|
||||
if($ret["return"] === false)
|
||||
die("");
|
||||
}
|
||||
?>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+128
-60
@@ -20,6 +20,7 @@
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/person.class.php');
|
||||
require_once(dirname(__FILE__).'/log.class.php');
|
||||
|
||||
class prestudent extends person
|
||||
{
|
||||
@@ -46,17 +47,17 @@ class prestudent extends person
|
||||
public $punkte; //rt_gesamtpunkte
|
||||
public $rt_punkte1;
|
||||
public $rt_punkte2;
|
||||
public $rt_punkte3 = 0;
|
||||
public $bismelden = true;
|
||||
public $rt_punkte3 = 0;
|
||||
public $bismelden = true;
|
||||
public $anmerkung;
|
||||
public $anmerkung_status;
|
||||
public $mentor;
|
||||
public $ext_id_prestudent;
|
||||
public $dual = false;
|
||||
public $zgvdoktor_code;
|
||||
public $zgvdoktorort;
|
||||
public $zgvdoktordatum;
|
||||
public $zgvdoktornation;
|
||||
public $dual = false;
|
||||
public $zgvdoktor_code;
|
||||
public $zgvdoktorort;
|
||||
public $zgvdoktordatum;
|
||||
public $zgvdoktornation;
|
||||
|
||||
public $status_kurzbz;
|
||||
public $studiensemester_kurzbz;
|
||||
@@ -565,8 +566,8 @@ class prestudent extends person
|
||||
(
|
||||
SELECT
|
||||
*, (SELECT status_kurzbz FROM tbl_prestudentstatus
|
||||
WHERE prestudent_id=prestudent.prestudent_id $stsemqry
|
||||
ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) AS rolle
|
||||
WHERE prestudent_id=prestudent.prestudent_id $stsemqry
|
||||
ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) AS rolle
|
||||
FROM tbl_prestudent prestudent ORDER BY prestudent_id
|
||||
) a, tbl_prestudentstatus, tbl_person
|
||||
WHERE a.rolle=tbl_prestudentstatus.status_kurzbz AND
|
||||
@@ -1118,9 +1119,9 @@ class prestudent extends person
|
||||
$obj->ext_id_prestudent = $row->ext_id;
|
||||
$obj->dual = $this->db_parse_bool($row->dual);
|
||||
$obj->ausstellungsstaat = $row->ausstellungsstaat;
|
||||
$obj->zgvdoktor_code = $row->zgvdoktor_code;
|
||||
$obj->zgvdoktorort = $row->zgvdoktorort;
|
||||
$obj->zgvdoktordatum = $row->zgvdoktordatum;
|
||||
$obj->zgvdoktor_code = $row->zgvdoktor_code;
|
||||
$obj->zgvdoktorort = $row->zgvdoktorort;
|
||||
$obj->zgvdoktordatum = $row->zgvdoktordatum;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -1133,56 +1134,60 @@ class prestudent extends person
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt die eingetragenen ZGV zurück
|
||||
* @return array
|
||||
*/
|
||||
public function getZgv() {
|
||||
/**
|
||||
* Gibt die eingetragenen ZGV zurück
|
||||
* @return array
|
||||
*/
|
||||
public function getZgv()
|
||||
{
|
||||
|
||||
$zgv = array(
|
||||
'bachelor' => array(),
|
||||
'master' => array(),
|
||||
// 'doktor' => array(),
|
||||
);
|
||||
$attribute = array(
|
||||
'art',
|
||||
'ort',
|
||||
'datum',
|
||||
'nation',
|
||||
);
|
||||
$db_attribute = array(
|
||||
'zgv_code',
|
||||
'zgvort',
|
||||
'zgvdatum',
|
||||
'zgvnation',
|
||||
'zgvmas_code',
|
||||
'zgvmaort',
|
||||
'zgvmadatum',
|
||||
'zgvmanation',
|
||||
'zgvdoktor_code',
|
||||
'zgvdoktorort',
|
||||
'zgvdoktordatum',
|
||||
'zgvdoktornation',
|
||||
);
|
||||
$zgv = array
|
||||
(
|
||||
'bachelor' => array(),
|
||||
'master' => array(),
|
||||
//'doktor' => array(),
|
||||
);
|
||||
$attribute = array
|
||||
(
|
||||
'art',
|
||||
'ort',
|
||||
'datum',
|
||||
'nation',
|
||||
);
|
||||
$db_attribute = array
|
||||
(
|
||||
'zgv_code',
|
||||
'zgvort',
|
||||
'zgvdatum',
|
||||
'zgvnation',
|
||||
'zgvmas_code',
|
||||
'zgvmaort',
|
||||
'zgvmadatum',
|
||||
'zgvmanation',
|
||||
'zgvdoktor_code',
|
||||
'zgvdoktorort',
|
||||
'zgvdoktordatum',
|
||||
'zgvdoktornation',
|
||||
);
|
||||
|
||||
foreach($this->result as $prestudent) {
|
||||
|
||||
foreach($zgv as &$value) {
|
||||
|
||||
foreach($attribute as $attribut) {
|
||||
$db_attribute_name = current($db_attribute);
|
||||
|
||||
if($prestudent->$db_attribute_name) {
|
||||
$value[$attribut] = $prestudent->$db_attribute_name;
|
||||
}
|
||||
next($db_attribute);
|
||||
}
|
||||
}
|
||||
reset($db_attribute);
|
||||
}
|
||||
|
||||
return $zgv;
|
||||
}
|
||||
foreach($this->result as $prestudent)
|
||||
{
|
||||
foreach($zgv as &$value)
|
||||
{
|
||||
foreach($attribute as $attribut)
|
||||
{
|
||||
$db_attribute_name = current($db_attribute);
|
||||
if($prestudent->$db_attribute_name)
|
||||
{
|
||||
$value[$attribut] = $prestudent->$db_attribute_name;
|
||||
}
|
||||
next($db_attribute);
|
||||
}
|
||||
}
|
||||
reset($db_attribute);
|
||||
}
|
||||
return $zgv;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Anzahl der Bewerber im ausgewaehlten Bereich
|
||||
@@ -1711,4 +1716,67 @@ class prestudent extends person
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt alle Studenten eines Studienplans und eines Studiensemesters
|
||||
* @param $studienplan_id
|
||||
* @param $studiensemester_kurzbz
|
||||
* @param $studiengang_kz
|
||||
* @return array mit allen Prestudenten, welche sich für den angegebenen Studienplan im angegebenen Semester beworben haben
|
||||
*/
|
||||
public function getAllStudentenFromStudienplanAndStudsem($studienplan_id, $studiensemester_kurzbz, $studiengang_kz)
|
||||
{
|
||||
if(!is_numeric($studienplan_id))
|
||||
{
|
||||
$this->errormsg = 'studienplan_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!$studiensemester_kurzbz || $studiensemester_kurzbz == "")
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
LEFT JOIN bis.tbl_zgvgruppe_zuordnung USING(zgv_code)
|
||||
LEFT JOIN bis.tbl_zgvgruppe USING(gruppe_kurzbz)
|
||||
WHERE
|
||||
tbl_prestudent.studiengang_kz=". $this->db_add_param($studiengang_kz)."
|
||||
AND EXISTS(
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
WHERE
|
||||
tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id
|
||||
AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)."
|
||||
AND status_kurzbz='Bewerber'
|
||||
AND (
|
||||
studienplan_id=". $this->db_add_param($studienplan_id)."
|
||||
OR
|
||||
(anmerkung like '%' || (SELECT orgform_kurzbz || '_' || sprache FROM lehre.tbl_studienplan WHERE studienplan_id=". $this->db_add_param($studienplan_id).") || '%')
|
||||
)
|
||||
);";
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
$ret = array();
|
||||
|
||||
while($row = $this->db_fetch_object($result))
|
||||
$ret[] = $row;
|
||||
|
||||
return $ret;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+32
-15
@@ -42,8 +42,11 @@ class projekt extends basis_db
|
||||
public $insertvon; // string
|
||||
public $updateamum; // timestamp
|
||||
public $updatevon; // string
|
||||
public $budget;
|
||||
public $farbe;
|
||||
public $budget;
|
||||
public $farbe;
|
||||
public $anzahl_ma; // integer
|
||||
public $aufwand_pt; // integer
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@@ -79,7 +82,9 @@ class projekt extends basis_db
|
||||
$this->ende = $row->ende;
|
||||
$this->oe_kurzbz= $row->oe_kurzbz;
|
||||
$this->budget= $row->budget;
|
||||
$this->farbe= $row->farbe;
|
||||
$this->farbe= $row->farbe;
|
||||
$this->anzahl_ma = $row->anzahl_ma;
|
||||
$this->aufwand_pt = $row->aufwand_pt;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -129,8 +134,10 @@ class projekt extends basis_db
|
||||
$obj->ende = $row->ende;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->budget = $row->budget;
|
||||
$obj->farbe = $row->farbe;
|
||||
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
|
||||
$obj->farbe = $row->farbe;
|
||||
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
|
||||
$obj->anzahl_ma = $row->anzahl_ma;
|
||||
$obj->aufwand_pt = $row->aufwand_pt;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -171,8 +178,10 @@ class projekt extends basis_db
|
||||
$obj->ende = $row->ende;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->budget = $row->budget;
|
||||
$obj->farbe = $row->farbe;
|
||||
|
||||
$obj->farbe = $row->farbe;
|
||||
$obj->anzahl_ma = $row->anzahl_ma;
|
||||
$obj->aufwand_pt = $row->aufwand_pt;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
@@ -211,9 +220,11 @@ class projekt extends basis_db
|
||||
$obj->ende = $row->ende;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->budget = $row->budget;
|
||||
$obj->farbe = $row->farbe;
|
||||
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
|
||||
|
||||
$obj->farbe = $row->farbe;
|
||||
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
|
||||
$obj->anzahl_ma = $row->anzahl_ma;
|
||||
$obj->aufwand_pt = $row->aufwand_pt;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
@@ -280,7 +291,7 @@ class projekt extends basis_db
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
|
||||
$qry='INSERT INTO fue.tbl_projekt (projekt_kurzbz, nummer, titel,beschreibung, beginn, ende, budget, farbe, oe_kurzbz, aufwandstyp_kurzbz) VALUES('.
|
||||
$qry='INSERT INTO fue.tbl_projekt (projekt_kurzbz, nummer, titel,beschreibung, beginn, ende, budget, farbe, oe_kurzbz, aufwand_pt, anzahl_ma, aufwandstyp_kurzbz) VALUES('.
|
||||
$this->db_add_param($this->projekt_kurzbz).', '.
|
||||
$this->db_add_param($this->nummer).', '.
|
||||
$this->db_add_param($this->titel).', '.
|
||||
@@ -289,7 +300,9 @@ class projekt extends basis_db
|
||||
$this->db_add_param($this->ende).', '.
|
||||
$this->db_add_param($this->budget).', '.
|
||||
$this->db_add_param($this->farbe).', '.
|
||||
$this->db_add_param($this->oe_kurzbz).','.
|
||||
$this->db_add_param($this->oe_kurzbz).','.
|
||||
$this->db_add_param($this->aufwand_pt).','.
|
||||
$this->db_add_param($this->anzahl_ma).','.
|
||||
$this->db_add_param($this->aufwandstyp_kurzbz).');';
|
||||
}
|
||||
else
|
||||
@@ -305,7 +318,9 @@ class projekt extends basis_db
|
||||
'ende='.$this->db_add_param($this->ende).', '.
|
||||
'budget='.$this->db_add_param($this->budget).', '.
|
||||
'farbe='.$this->db_add_param($this->farbe).', '.
|
||||
'oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).', '.
|
||||
'oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).', '.
|
||||
'anzahl_ma='.$this->db_add_param($this->anzahl_ma).', '.
|
||||
'aufwand_pt='.$this->db_add_param($this->aufwand_pt).', '.
|
||||
'aufwandstyp_kurzbz='.$this->db_add_param($this->aufwandstyp_kurzbz).' '.
|
||||
'WHERE projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).';';
|
||||
}
|
||||
@@ -416,8 +431,10 @@ class projekt extends basis_db
|
||||
$this->ende = $row->ende;
|
||||
$this->oe_kurzbz= $row->oe_kurzbz;
|
||||
$this->budget= $row->budget;
|
||||
$this->farbe= $row->farbe;
|
||||
|
||||
$this->farbe= $row->farbe;
|
||||
$this->anzahl_ma = $row->anzahl_ma;
|
||||
$this->aufwand_pt = $row->aufwand_pt;
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
<?php
|
||||
/*
|
||||
* studienordnung.class.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: Christian Paminger <christian.paminger@technikum-wien.at>
|
||||
* Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
@@ -44,6 +44,9 @@ class studienordnung extends basis_db
|
||||
protected $studiengangbezeichnung_englisch; // varchar (256)
|
||||
protected $studiengangkurzbzlang; // varchar (256)
|
||||
protected $akadgrad_id; // integer (FK akadgrad)
|
||||
protected $status_kurzbz; //varchar(32)
|
||||
protected $standort_id;
|
||||
protected $orgform_kurzbz;
|
||||
protected $updateamum; // timestamp
|
||||
protected $updatevon; // varchar
|
||||
protected $insertamum; // timestamp
|
||||
@@ -56,7 +59,7 @@ class studienordnung extends basis_db
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
|
||||
public function __set($name,$value)
|
||||
{
|
||||
switch ($name)
|
||||
@@ -75,7 +78,7 @@ class studienordnung extends basis_db
|
||||
{
|
||||
return $this->$name;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt die Studienordnung mit der ID $studienordnung_id
|
||||
* @param $studienordnung_id ID der zu ladenden Studienordnung
|
||||
@@ -112,6 +115,8 @@ class studienordnung extends basis_db
|
||||
$this->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
|
||||
$this->studiengangkurzbzlang = $row->studiengangkurzbzlang;
|
||||
$this->akadgrad_id = $row->akadgrad_id;
|
||||
$this->status_kurzbz = $row->status_kurzbz;
|
||||
$this->standort_id = $row->standort_id;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
@@ -144,22 +149,16 @@ class studienordnung extends basis_db
|
||||
|
||||
if(is_null($studiensemester_kurzbz))
|
||||
{
|
||||
$qry = 'SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_studienordnung
|
||||
WHERE
|
||||
studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
$qry = 'SELECT sto.*, s.bezeichnung as status_bezeichnung FROM lehre.tbl_studienordnung sto
|
||||
JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
|
||||
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_studienordnung
|
||||
LEFT JOIN lehre.tbl_studienordnung_semester USING (studienordnung_id)
|
||||
WHERE
|
||||
studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
$qry = 'SELECT sto.*, s.bezeichnung as status_bezeichnung, sem.* FROM lehre.tbl_studienordnung sto
|
||||
JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
|
||||
LEFT JOIN lehre.tbl_studienordnung_semester sem USING (studienordnung_id)
|
||||
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
|
||||
if (!is_null($studiensemester_kurzbz))
|
||||
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz, FHC_STRING,false);
|
||||
@@ -188,6 +187,9 @@ class studienordnung extends basis_db
|
||||
$obj->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
|
||||
$obj->studiengangkurzbzlang = $row->studiengangkurzbzlang;
|
||||
$obj->akadgrad_id = $row->akadgrad_id;
|
||||
$obj->status_kurzbz = $row->status_kurzbz;
|
||||
$obj->status_bezeichnung = $row->status_bezeichnung;
|
||||
$obj->standort_id = $row->standort_id;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
@@ -269,7 +271,7 @@ class studienordnung extends basis_db
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die Datenbank
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
@@ -283,7 +285,7 @@ class studienordnung extends basis_db
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='BEGIN;INSERT INTO lehre.tbl_studienordnung (studiengang_kz, version, bezeichnung, ects, gueltigvon, gueltigbis, studiengangbezeichnung, studiengangbezeichnung_englisch, studiengangkurzbzlang, akadgrad_id, insertamum, insertvon) VALUES ('.
|
||||
$qry='BEGIN;INSERT INTO lehre.tbl_studienordnung (studiengang_kz, version, bezeichnung, ects, gueltigvon, gueltigbis, studiengangbezeichnung, studiengangbezeichnung_englisch, studiengangkurzbzlang, akadgrad_id, standort_id, status_kurzbz, insertamum, insertvon) VALUES ('.
|
||||
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->version).', '.
|
||||
$this->db_add_param($this->bezeichnung).', '.
|
||||
@@ -294,6 +296,8 @@ class studienordnung extends basis_db
|
||||
$this->db_add_param($this->studiengangbezeichnung_englisch).', '.
|
||||
$this->db_add_param($this->studiengangkurzbzlang).', '.
|
||||
$this->db_add_param($this->akadgrad_id,FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->standort_id,FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->status_kurzbz).', '.
|
||||
' now(), '.
|
||||
$this->db_add_param($this->insertvon).');';
|
||||
}
|
||||
@@ -316,11 +320,13 @@ class studienordnung extends basis_db
|
||||
' studiengangbezeichnung_englisch='.$this->db_add_param($this->studiengangbezeichnung_englisch).', '.
|
||||
' studiengangkurzbzlang='.$this->db_add_param($this->studiengangkurzbzlang).','.
|
||||
' akadgrad_id='.$this->db_add_param($this->akadgrad_id, FHC_INTEGER).', '.
|
||||
' standort_id='.$this->db_add_param($this->standort_id, FHC_INTEGER).', '.
|
||||
' status_kurzbz='.$this->db_add_param($this->status_kurzbz, FHC_INTEGER).', '.
|
||||
' updateamum= now(), '.
|
||||
' updatevon='.$this->db_add_param($this->updatevon).' '.
|
||||
' WHERE studienordnung_id='.$this->db_add_param($this->studienordnung_id, FHC_INTEGER, false).';';
|
||||
}
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->new)
|
||||
@@ -410,6 +416,8 @@ class studienordnung extends basis_db
|
||||
$obj->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
|
||||
$obj->studiengangkurzbzlang = $row->studiengangkurzbzlang;
|
||||
$obj->akadgrad_id = $row->akadgrad_id;
|
||||
$obj->standort_id = $row->standort_id;
|
||||
$obj->status_kurzbz = $row->status_kurzbz;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
@@ -433,6 +441,8 @@ class studienordnung extends basis_db
|
||||
$obj->studiengangbezeichnung_englisch = $this->studiengangbezeichnung_englisch;
|
||||
$obj->studiengangkurzbzlang = $this->studiengangkurzbzlang;
|
||||
$obj->akadgrad_id = $this->akadgrad_id;
|
||||
$obj->standort_id = $this->standort_id;
|
||||
$obj->status_kurzbz = $this->status_kurzbz;
|
||||
$obj->updateamum = $this->updateamum;
|
||||
$obj->updatevon = $this->updatevon;
|
||||
$obj->insertamum = $this->insertamum;
|
||||
@@ -441,7 +451,7 @@ class studienordnung extends basis_db
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* speichert die Semesterzuordnung für die Studieordnung
|
||||
* @param int $studienordnung_id Die ID der Studienordnung
|
||||
@@ -455,21 +465,21 @@ class studienordnung extends basis_db
|
||||
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz)!=6)
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(!is_numeric($ausbildungssemester))
|
||||
{
|
||||
$this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//lvar_dump($this->isZuordnungGuelitg($studiensemester_kurzbz));
|
||||
|
||||
|
||||
//Prüfung ob Zuordnung im Gültigkeitszeitraum der Studienordnung
|
||||
//if(($studiensemester_kurzbz >= $this->gueltigvon && $studiensemester_kurzbz <= $this->gueltigbis) || ($studiensemester_kurzbz >= $this->gueltigvon && $this->gueltigbis == null))
|
||||
if($this->isZuordnungGuelitg($studiensemester_kurzbz))
|
||||
@@ -502,7 +512,7 @@ class studienordnung extends basis_db
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* prüft ob die Semesterzuordnung für die Studieordnung bereits vorhanden ist
|
||||
* @param int $studienordnung_id Die ID der Studienordnung
|
||||
@@ -516,24 +526,24 @@ class studienordnung extends basis_db
|
||||
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz)!=6)
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(!is_numeric($ausbildungssemester))
|
||||
{
|
||||
$this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
|
||||
studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
|
||||
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).' AND
|
||||
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
|
||||
studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
|
||||
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).' AND
|
||||
semester='.$this->db_add_param($ausbildungssemester).';';
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows() == 1)
|
||||
@@ -548,7 +558,7 @@ class studienordnung extends basis_db
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* prüft ob die Studienordnung aktiv ist
|
||||
* @param int $studienordnung_id Die ID der Studienordnung
|
||||
@@ -563,9 +573,9 @@ class studienordnung extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
|
||||
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
|
||||
studienordnung_id='.$this->db_add_param($studienordnung_id).';';
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows() >= 1)
|
||||
@@ -576,7 +586,7 @@ class studienordnung extends basis_db
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* lädt alle zugeordneten Semester einer Studienordnung
|
||||
* @param int $studienordnung_id ID der Studienordnung
|
||||
@@ -588,24 +598,24 @@ class studienordnung extends basis_db
|
||||
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/* $qry = 'SELECT DISTINCT studiensemester_kurzbz, MAX(semester)
|
||||
FROM lehre.tbl_studienordnung_semester
|
||||
FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' GROUP BY studiensemester_kurzbz ORDER BY MAX(semester);';
|
||||
*/
|
||||
$qry = 'SELECT DISTINCT studiensemester_kurzbz, tbl_studiensemester.start
|
||||
FROM
|
||||
lehre.tbl_studienordnung_semester
|
||||
FROM
|
||||
lehre.tbl_studienordnung_semester
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).'
|
||||
ORDER BY tbl_studiensemester.start, studiensemester_kurzbz';
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$data = array();
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
@@ -614,20 +624,20 @@ class studienordnung extends basis_db
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
public function loadAusbildungsemesterFromStudiensemester($studienordnung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = 'SELECT semester
|
||||
FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
|
||||
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).'
|
||||
$qry = 'SELECT semester
|
||||
FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
|
||||
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).'
|
||||
ORDER BY semester;';
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$data = array();
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
@@ -635,7 +645,7 @@ class studienordnung extends basis_db
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
public function deleteSemesterZuordnung($studienordnung_id, $studiensemester_kurzbz, $studiensemester=NULL)
|
||||
{
|
||||
if(!is_numeric($studienordnung_id))
|
||||
@@ -643,21 +653,21 @@ class studienordnung extends basis_db
|
||||
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz)!=6)
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'DELETE FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
|
||||
|
||||
$qry = 'DELETE FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
|
||||
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).'';
|
||||
if($studiensemester !== null)
|
||||
$qry.=' AND semester='.$this->db_add_param ($studiensemester).'';
|
||||
|
||||
|
||||
$qry.=';';
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
@@ -668,7 +678,7 @@ class studienordnung extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected function isZuordnungGuelitg($studiensemester_kurzbz)
|
||||
{
|
||||
$studiensemester = new studiensemester();
|
||||
@@ -676,12 +686,12 @@ class studienordnung extends basis_db
|
||||
|
||||
$semGueltigVon = $studiensemester->begin->start;
|
||||
//$semGueltigBis = $studiensemester->ende->ende;
|
||||
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester->getTimestamp($this->gueltigvon);
|
||||
|
||||
$stoGueltigVon = $studiensemester->begin->start;
|
||||
|
||||
|
||||
if($this->gueltigbis != null)
|
||||
{
|
||||
$studiensemester = new studiensemester();
|
||||
@@ -698,7 +708,7 @@ class studienordnung extends basis_db
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt die Studienordnung zu der uebergebenen studienplan_id
|
||||
* @param $studienplan_id der zu ladenden Studienordnung
|
||||
@@ -735,6 +745,8 @@ class studienordnung extends basis_db
|
||||
$this->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
|
||||
$this->studiengangkurzbzlang = $row->studiengangkurzbzlang;
|
||||
$this->akadgrad_id = $row->akadgrad_id;
|
||||
$this->standort_id = $row->standort_id;
|
||||
$this->status_kurzbz = $row->status_kurzbz;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
@@ -748,7 +760,7 @@ class studienordnung extends basis_db
|
||||
$this->new=false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt alle Studienordnungen zu einem Studiengang der uebergeben wird, die noch nicht aktiv sind
|
||||
* @param $studiengang_kz Kennzahl des Studiengangs
|
||||
@@ -765,13 +777,13 @@ class studienordnung extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_studienordnung
|
||||
WHERE
|
||||
$qry = 'SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_studienordnung
|
||||
WHERE
|
||||
studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
@@ -793,6 +805,8 @@ class studienordnung extends basis_db
|
||||
$obj->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
|
||||
$obj->studiengangkurzbzlang = $row->studiengangkurzbzlang;
|
||||
$obj->akadgrad_id = $row->akadgrad_id;
|
||||
$this->standort_id = $row->standort_id;
|
||||
$this->status_kurzbz = $row->status_kurzbz;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
@@ -800,7 +814,7 @@ class studienordnung extends basis_db
|
||||
$obj->new = false;
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
|
||||
foreach($this->result as $key => $obj)
|
||||
{
|
||||
if($this->isAktiv($obj->studienordnung_id))
|
||||
@@ -809,8 +823,65 @@ class studienordnung extends basis_db
|
||||
}
|
||||
}
|
||||
array_values($this->result);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function loadStudienordnungWithStatus($studiengang_kz, $status_kurzbz)
|
||||
{
|
||||
$qry = "SELECT sto.*, s.bezeichnung as status_bezeichnung "
|
||||
. "FROM lehre.tbl_studienordnung sto "
|
||||
. "JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz) "
|
||||
. "WHERE status_kurzbz=" . $this->db_add_param($status_kurzbz, FHC_STRING) . ""
|
||||
. " AND studiengang_kz=" . $this->db_add_param($studiengang_kz, FHC_INTEGER) . ";";
|
||||
|
||||
if (!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new studienordnung();
|
||||
|
||||
$obj->studienordnung_id = $row->studienordnung_id;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->version = $row->version;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->ects = $row->ects;
|
||||
$obj->gueltigvon = $row->gueltigvon;
|
||||
$obj->gueltigbis = $row->gueltigbis;
|
||||
$obj->studiengangbezeichnung = $row->studiengangbezeichnung;
|
||||
$obj->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
|
||||
$obj->studiengangkurzbzlang = $row->studiengangkurzbzlang;
|
||||
$obj->akadgrad_id = $row->akadgrad_id;
|
||||
$obj->status_kurzbz = $row->status_kurzbz;
|
||||
$obj->status_bezeichnung = $row->status_bezeichnung;
|
||||
$obj->begruendung = json_decode($row->begruendung);
|
||||
$obj->studiengangsart = $row->studiengangsart;
|
||||
$obj->standort_id = $row->standort_id;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->new = false;
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public function changeState($studienordnung_id, $status_kurzbz)
|
||||
{
|
||||
$qry = "UPDATE lehre.tbl_studienordnung SET status_kurzbz=" . $this->db_add_param($status_kurzbz)
|
||||
. " WHERE studienordnung_id=" . $this->db_add_param($studienordnung_id) . ";";
|
||||
|
||||
if (!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = "Status konnte nicht geändert werden.";
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+341
-112
@@ -46,6 +46,9 @@ class studienplan extends basis_db
|
||||
protected $updatevon; // varchar
|
||||
protected $insertamum; // timestamp
|
||||
protected $insertvon; // varchar
|
||||
protected $ects_stpl;
|
||||
protected $pflicht_sws;
|
||||
protected $pflicht_lvs;
|
||||
|
||||
//Tabellenspalten für Zwischentabelle tbl_studienplan_lehrveranstaltung
|
||||
protected $studienplan_lehrveranstaltung_id; //integer
|
||||
@@ -111,6 +114,9 @@ class studienplan extends basis_db
|
||||
$this->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$this->semesterwochen = $row->semesterwochen;
|
||||
$this->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
|
||||
$this->ects_stpl = $row->ects_stpl;
|
||||
$this->pflicht_lvs = $row->pflicht_lvs;
|
||||
$this->pflicht_sws = $row->pflicht_sws;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
@@ -164,6 +170,9 @@ class studienplan extends basis_db
|
||||
$obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$obj->semesterwochen = $row->semesterwochen;
|
||||
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
|
||||
$obj->ects_stpl = $row->ects_stpl;
|
||||
$obj->pflicht_lvs = $row->pflicht_lvs;
|
||||
$obj->pflicht_sws = $row->pflicht_sws;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
@@ -257,7 +266,7 @@ class studienplan extends basis_db
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='BEGIN;INSERT INTO lehre.tbl_studienplan (studienordnung_id, orgform_kurzbz,version,
|
||||
bezeichnung, regelstudiendauer, sprache, aktiv, semesterwochen, testtool_sprachwahl,
|
||||
insertamum, insertvon) VALUES ('.
|
||||
pflicht_sws, pflicht_lvs, ects_stpl, insertamum, insertvon) VALUES ('.
|
||||
$this->db_add_param($this->studienordnung_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->orgform_kurzbz).', '.
|
||||
$this->db_add_param($this->version).', '.
|
||||
@@ -267,6 +276,9 @@ class studienplan extends basis_db
|
||||
$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
|
||||
$this->db_add_param($this->semesterwochen,FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->testtool_sprachwahl,FHC_BOOLEAN).', '.
|
||||
$this->db_add_param($this->pflicht_sws) . ', ' .
|
||||
$this->db_add_param($this->pflicht_lvs) . ', ' .
|
||||
$this->db_add_param($this->ects_stpl) . ', ' .
|
||||
'now(), '.
|
||||
$this->db_add_param($this->insertvon).');';
|
||||
}
|
||||
@@ -288,6 +300,9 @@ class studienplan extends basis_db
|
||||
' aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
|
||||
' semesterwochen='.$this->db_add_param($this->semesterwochen, FHC_INTEGER).', '.
|
||||
' testtool_sprachwahl='.$this->db_add_param($this->testtool_sprachwahl, FHC_BOOLEAN).','.
|
||||
' ects_stpl=' . $this->db_add_param($this->ects_stpl) . ',' .
|
||||
' pflicht_sws=' . $this->db_add_param($this->pflicht_sws, FHC_INTEGER) . ',' .
|
||||
' pflicht_lvs=' . $this->db_add_param($this->pflicht_lvs, FHC_INTEGER) . ',' .
|
||||
' updateamum= now(), '.
|
||||
' updatevon='.$this->db_add_param($this->updatevon).' '.
|
||||
' WHERE studienplan_id='.$this->db_add_param($this->studienplan_id, FHC_INTEGER, false).';';
|
||||
@@ -472,7 +487,7 @@ class studienplan extends basis_db
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry = 'BEGIN;INSERT INTO lehre.tbl_studienplan_lehrveranstaltung (studienplan_id, lehrveranstaltung_id,
|
||||
semester,studienplan_lehrveranstaltung_id_parent,pflicht, koordinator,
|
||||
semester,studienplan_lehrveranstaltung_id_parent,pflicht, koordinator, curriculum, export
|
||||
insertamum, insertvon) VALUES (' .
|
||||
$this->db_add_param($this->studienplan_id, FHC_INTEGER) . ', ' .
|
||||
$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER) . ', ' .
|
||||
@@ -480,6 +495,8 @@ class studienplan extends basis_db
|
||||
$this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' .
|
||||
$this->db_add_param($this->pflicht, FHC_BOOLEAN) . ', ' .
|
||||
$this->db_add_param($this->koordinator) . ', ' .
|
||||
$this->db_add_param($this->curriculum) . ', ' .
|
||||
$this->db_add_param($this->export) . ', ' .
|
||||
'now(), ' .
|
||||
$this->db_add_param($this->insertvon) . ');';
|
||||
}
|
||||
@@ -499,6 +516,8 @@ class studienplan extends basis_db
|
||||
' studienplan_lehrveranstaltung_id_parent=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' .
|
||||
' pflicht=' . $this->db_add_param($this->pflicht, FHC_BOOLEAN) . ', ' .
|
||||
' koordinator=' . $this->db_add_param($this->koordinator) . ', ' .
|
||||
' curriculum=' . $this->db_add_param($this->curriculum, FHC_BOOLEAN) . ', ' .
|
||||
' export=' . $this->db_add_param($this->export, FHC_BOOLEAN) . ', ' .
|
||||
' updateamum= now(), ' .
|
||||
' updatevon=' . $this->db_add_param($this->updatevon) . ' ' .
|
||||
' WHERE studienplan_lehrveranstaltung_id=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER, false) . ';';
|
||||
@@ -584,6 +603,8 @@ class studienplan extends basis_db
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->sort = $row->sort;
|
||||
$this->curriculum = $row->curriculum;
|
||||
$this->export = $row->export;
|
||||
$this->new=false;
|
||||
return true;
|
||||
}
|
||||
@@ -701,125 +722,333 @@ class studienplan extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Holt alle Studienplaene eines Studienganges
|
||||
* @param $studiengang_kz
|
||||
*/
|
||||
function getStudienplaene($studiengang_kz)
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct tbl_studienplan.*
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
WHERE
|
||||
tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new studienplan();
|
||||
|
||||
$obj->studienplan_id = $row->studienplan_id;
|
||||
$obj->studienordnung_id = $row->studienordnung_id;
|
||||
$obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$obj->version = $row->version;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->regelstudiendauer = $row->regelstudiendauer;
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$obj->semesterwochen = $row->semesterwochen;
|
||||
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->new=false;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert die Sortierung
|
||||
* @param type $tudienplan_lehrveranstaltung_id
|
||||
* @param type $sort
|
||||
*/
|
||||
function saveSortierung($studienplan_lehrveranstaltung_id, $sort)
|
||||
{
|
||||
if($studienplan_lehrveranstaltung_id==NULL)
|
||||
$studienplan_lehrveranstaltung_id = $this->studienplan_lehrveranstaltung_id;
|
||||
|
||||
if($sort==NULL)
|
||||
$sort = $this->sort;
|
||||
|
||||
if(!(is_numeric($sort) || is_null($sort)))
|
||||
/**
|
||||
* Holt alle Studienplaene eines Studienganges
|
||||
* @param $studiengang_kz
|
||||
*/
|
||||
function getStudienplaene($studiengang_kz)
|
||||
{
|
||||
$this->errormsg = "Es muss eine Zahl als Sortierungswert angegeben werden.";
|
||||
return false;
|
||||
$qry = "SELECT
|
||||
distinct tbl_studienplan.*
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
WHERE
|
||||
tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new studienplan();
|
||||
|
||||
$obj->studienplan_id = $row->studienplan_id;
|
||||
$obj->studienordnung_id = $row->studienordnung_id;
|
||||
$obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$obj->version = $row->version;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->regelstudiendauer = $row->regelstudiendauer;
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$obj->semesterwochen = $row->semesterwochen;
|
||||
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->new=false;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
$qry = 'UPDATE lehre.tbl_studienplan_lehrveranstaltung '
|
||||
|
||||
/**
|
||||
* Speichert die Sortierung
|
||||
* @param type $tudienplan_lehrveranstaltung_id
|
||||
* @param type $sort
|
||||
*/
|
||||
function saveSortierung($studienplan_lehrveranstaltung_id, $sort)
|
||||
{
|
||||
if($studienplan_lehrveranstaltung_id==NULL)
|
||||
$studienplan_lehrveranstaltung_id = $this->studienplan_lehrveranstaltung_id;
|
||||
|
||||
if($sort==NULL)
|
||||
$sort = $this->sort;
|
||||
|
||||
if(!(is_numeric($sort) || is_null($sort)))
|
||||
{
|
||||
$this->errormsg = "Es muss eine Zahl als Sortierungswert angegeben werden.";
|
||||
return false;
|
||||
}
|
||||
$qry = 'UPDATE lehre.tbl_studienplan_lehrveranstaltung '
|
||||
. 'SET sort='.$this->db_add_param($sort)
|
||||
. ' WHERE studienplan_lehrveranstaltung_id='.$this->db_add_param($studienplan_lehrveranstaltung_id).';';
|
||||
|
||||
$this->orgform_kurzbz = $qry;
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = "Fehler beim speichern der Sortierung.";
|
||||
return false;
|
||||
$this->orgform_kurzbz = $qry;
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = "Fehler beim speichern der Sortierung.";
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Studienplaene zu denen eine Lehrveranstaltung zugeordnet ist
|
||||
*/
|
||||
public function getStudienplanLehrveranstaltung($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry= "
|
||||
SELECT
|
||||
distinct tbl_studienplan.*
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienplan_lehrveranstaltung USING(studienplan_id)
|
||||
WHERE
|
||||
tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id=tbl_studienplan.studienordnung_id
|
||||
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||
AND semester = tbl_studienplan_lehrveranstaltung.semester)
|
||||
ORDER BY bezeichnung";
|
||||
/**
|
||||
* Laedt die Studienplaene zu denen eine Lehrveranstaltung zugeordnet ist
|
||||
*/
|
||||
public function getStudienplanLehrveranstaltung($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry= "
|
||||
SELECT
|
||||
distinct tbl_studienplan.*
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienplan_lehrveranstaltung USING(studienplan_id)
|
||||
WHERE
|
||||
tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id=tbl_studienplan.studienordnung_id
|
||||
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||
AND semester = tbl_studienplan_lehrveranstaltung.semester)
|
||||
ORDER BY bezeichnung";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new studienplan();
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new studienplan();
|
||||
|
||||
$obj->studienplan_id = $row->studienplan_id;
|
||||
$obj->studienordnung_id = $row->studienordnung_id;
|
||||
$obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$obj->version = $row->version;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->regelstudiendauer = $row->regelstudiendauer;
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$obj->semesterwochen = $row->semesterwochen;
|
||||
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->new=false;
|
||||
$obj->studienplan_id = $row->studienplan_id;
|
||||
$obj->studienordnung_id = $row->studienordnung_id;
|
||||
$obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$obj->version = $row->version;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->regelstudiendauer = $row->regelstudiendauer;
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$obj->semesterwochen = $row->semesterwochen;
|
||||
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->new=false;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* speichert die Semesterzuordnung für die Studieordnung
|
||||
* @param int $$studienplan_id Die ID des Studienplans
|
||||
* @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
|
||||
* @param int $ausbildungssemester Ausbildungssemester als Zahl
|
||||
*/
|
||||
public function saveSemesterZuordnung($zuordnung = array())
|
||||
{
|
||||
if (is_array($zuordnung))
|
||||
{
|
||||
$qry = "";
|
||||
foreach ($zuordnung as $key)
|
||||
{
|
||||
if (!is_numeric($key["studienplan_id"]))
|
||||
{
|
||||
$this->errormsg = 'studienplan_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is_string($key["studiensemester_kurzbz"]) || strlen($key["studiensemester_kurzbz"]) != 6)
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is_numeric($key["ausbildungssemester"]))
|
||||
{
|
||||
$this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$qry .= "INSERT INTO lehre.tbl_studienplan_semester (studienplan_id, studiensemester_kurzbz, semester) VALUES (" .
|
||||
$this->db_add_param($key["studienplan_id"]) . ', ' .
|
||||
$this->db_add_param($key["studiensemester_kurzbz"]) . ', ' .
|
||||
$this->db_add_param($key["ausbildungssemester"]) . '); ';
|
||||
}
|
||||
|
||||
if (!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Der übergebene Parameter ist kein Array.';
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* lädt alle zugeordneten Semester eines Studienplans
|
||||
* @param int $studienplan ID
|
||||
*/
|
||||
public function loadStudiensemesterFromStudienplan($studienplan_id)
|
||||
{
|
||||
if (!is_numeric($studienplan_id))
|
||||
{
|
||||
$this->errormsg = 'studienplan_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT DISTINCT studiensemester_kurzbz, tbl_studiensemester.start
|
||||
FROM
|
||||
lehre.tbl_studienplan_semester
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE studienplan_id=' . $this->db_add_param($studienplan_id) . '
|
||||
ORDER BY tbl_studiensemester.start, studiensemester_kurzbz';
|
||||
|
||||
if (!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
$data = array();
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new stdClass();
|
||||
$data[] = $row->studiensemester_kurzbz;
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function loadAusbildungsemesterFromStudiensemester($studienplan_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = 'SELECT semester
|
||||
FROM lehre.tbl_studienplan_semester
|
||||
WHERE studienplan_id=' . $this->db_add_param($studienplan_id) . ' AND
|
||||
studiensemester_kurzbz=' . $this->db_add_param($studiensemester_kurzbz) . '
|
||||
ORDER BY semester;';
|
||||
|
||||
if (!$this->db_query($qry))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$data = array();
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
$data[] = $row->semester;
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
function isSemesterZugeordnet($studienplan_id, $studiensemester_kurzbz, $ausbildungssemester)
|
||||
{
|
||||
if (!is_numeric($studienplan_id))
|
||||
{
|
||||
$this->errormsg = 'studienplan_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz) != 6)
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is_numeric($ausbildungssemester))
|
||||
{
|
||||
$this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT * FROM lehre.tbl_studienplan_semester WHERE
|
||||
studienplan_id=' . $this->db_add_param($studienplan_id) . ' AND
|
||||
studiensemester_kurzbz=' . $this->db_add_param($studiensemester_kurzbz) . ' AND
|
||||
semester=' . $this->db_add_param($ausbildungssemester) . ';';
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($this->db_num_rows() == 1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if ($this->db_num_rows() == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function deleteSemesterZuordnung($studienplan_id, $studiensemester_kurzbz, $ausbildungssemester = NULL)
|
||||
{
|
||||
if (!is_numeric($studienplan_id))
|
||||
{
|
||||
$this->errormsg = 'studienplan_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz) != 6)
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'DELETE FROM lehre.tbl_studienplan_semester
|
||||
WHERE studienplan_id=' . $this->db_add_param($studienplan_id) . ' AND
|
||||
studiensemester_kurzbz=' . $this->db_add_param($studiensemester_kurzbz) . '';
|
||||
|
||||
if ($ausbildungssemester !== null)
|
||||
$qry.=' AND semester=' . $this->db_add_param($ausbildungssemester) . '';
|
||||
|
||||
$qry.=';';
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Zuordnung' . "\n";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* prüft ob dem Studienplan Semester zugeordnet sind (Gültigkeit)
|
||||
* @param int $studienplan_id Die ID des Studienplans
|
||||
*/
|
||||
public function hasSemesterZugeordnet($studienplan_id)
|
||||
{
|
||||
if (!is_numeric($studienplan_id))
|
||||
{
|
||||
$this->errormsg = 'studienplan_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT * FROM lehre.tbl_studienplan_semester WHERE
|
||||
studienplan_id=' . $this->db_add_param($studienplan_id) . ';';
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($this->db_num_rows() >= 1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+191
-93
@@ -1,24 +1,24 @@
|
||||
<?php
|
||||
/*
|
||||
* studienplatz.class.php
|
||||
*
|
||||
*
|
||||
* Copyright 2013 Technikum-Wien
|
||||
*
|
||||
*
|
||||
* 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 oferr
|
||||
* 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: Christian Paminger <christian.paminger@technikum-wien.at>
|
||||
* Werner Masik <werner@gefi.at>
|
||||
@@ -29,35 +29,39 @@ require_once(__DIR__ .'/functions.inc.php');
|
||||
class studienplatz extends basis_db
|
||||
{
|
||||
/** @var $new boolean */
|
||||
private $new = true;
|
||||
private $new = true;
|
||||
/** @var DB-Result */
|
||||
private $result;
|
||||
/** @var object */
|
||||
public $studienplatz = array();
|
||||
public $studienplatz = array();
|
||||
|
||||
//Tabellenspalten
|
||||
/** @var integer */
|
||||
private $studienplatz_id;
|
||||
private $studienplatz_id;
|
||||
/** @var integer */
|
||||
private $studiengang_kz;
|
||||
private $studiengang_kz;
|
||||
/** @var string */
|
||||
private $orgform_kurzbz;
|
||||
private $orgform_kurzbz;
|
||||
/** @var string */
|
||||
private $studiensemester_kurzbz;
|
||||
/** @var integer */
|
||||
private $ausbildungssemester;
|
||||
private $ausbildungssemester;
|
||||
/** @var integer */
|
||||
private $gpz;
|
||||
private $gpz;
|
||||
/** @var integer */
|
||||
private $npz;
|
||||
private $npz;
|
||||
/** @var timestamp */
|
||||
private $updateamum;
|
||||
private $updateamum;
|
||||
/** @var string */
|
||||
private $updatevon;
|
||||
private $updatevon;
|
||||
/** @var timestamp */
|
||||
private $insertamum;
|
||||
private $insertamum;
|
||||
/** @var string */
|
||||
private $insertvon;
|
||||
private $insertvon;
|
||||
/** @var integer */
|
||||
private $apz;
|
||||
/** @var integer */
|
||||
private $studienplan_id;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -66,7 +70,7 @@ class studienplatz extends basis_db
|
||||
public function __construct($studienplatz_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
|
||||
if(!is_null($studienplatz_id))
|
||||
$this->load($studienplatz_id);
|
||||
}
|
||||
@@ -76,9 +80,10 @@ class studienplatz extends basis_db
|
||||
switch ($name)
|
||||
{
|
||||
case 'gpz':
|
||||
case 'npz':
|
||||
case 'ausbildungssemester':
|
||||
case 'npz':
|
||||
case 'ausbildungssemester':
|
||||
case 'studienplatz_id':
|
||||
case 'studienplan_id':
|
||||
if ($value != null && !is_numeric($value))
|
||||
throw new Exception("Attribute $name must be numeric! ($value)");
|
||||
$this->$name=$value;
|
||||
@@ -92,8 +97,8 @@ class studienplatz extends basis_db
|
||||
{
|
||||
return $this->$name;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Laedt einzelnen Studienplatz der ID $studienplatz_id
|
||||
* @param integer $studienplatz_id ID des zu ladenden Studienplatzes
|
||||
@@ -126,7 +131,6 @@ class studienplatz extends basis_db
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -135,31 +139,33 @@ class studienplatz extends basis_db
|
||||
* @param type $target
|
||||
* @param type $row
|
||||
*/
|
||||
private function mapRow($target,$row) {
|
||||
$target->studienplatz_id = $row->studienplatz_id;
|
||||
$target->studiengang_kz = $row->studiengang_kz;
|
||||
$target->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$target->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$target->ausbildungssemester = $row->ausbildungssemester;
|
||||
$target->gpz = $row->gpz;
|
||||
$target->npz = $row->npz;
|
||||
$target->updateamum = $row->updateamum;
|
||||
$target->updatevon = $row->updatevon;
|
||||
$target->insertamum = $row->insertamum;
|
||||
$target->insertvon = $row->insertvon;
|
||||
$target->new = false;
|
||||
private function mapRow($target,$row) {
|
||||
$target->studienplatz_id = $row->studienplatz_id;
|
||||
$target->studiengang_kz = $row->studiengang_kz;
|
||||
$target->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$target->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$target->ausbildungssemester = $row->ausbildungssemester;
|
||||
$target->gpz = $row->gpz;
|
||||
$target->npz = $row->npz;
|
||||
$target->updateamum = $row->updateamum;
|
||||
$target->updatevon = $row->updatevon;
|
||||
$target->insertamum = $row->insertamum;
|
||||
$target->insertvon = $row->insertvon;
|
||||
$target->apz = $row->apz;
|
||||
$target->studienplan_id = $row->studienplan_id;
|
||||
$target->new = false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt alle Studienplaetze zu einem Studiengang und Semester. Ergebnis
|
||||
* steht in result, wobei es nur einen Datensatz geben kann, wenn
|
||||
* keinAusbildungssemester = true ist.
|
||||
* @param integer $studiengang_kz
|
||||
* @param integer $studiengang_kz
|
||||
* @param string studiensemester_kurzbz
|
||||
* @param string orgform_kurzbz
|
||||
* @param boolean Ausbildungssemester ist optional. Wenn true werden
|
||||
* nur Datensätze geladen wo das Ausbildungssemester null ist. Wenn
|
||||
* false werden alle geladen wo ein Ausbildungssemester eingetragen
|
||||
* nur Datensätze geladen wo das Ausbildungssemester null ist. Wenn
|
||||
* false werden alle geladen wo ein Ausbildungssemester eingetragen
|
||||
* ist.
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
@@ -179,22 +185,63 @@ class studienplatz extends basis_db
|
||||
//" AND art=".$this->db_add_param($art, FHC_STRING, false).
|
||||
" AND orgform_kurzbz=".$this->db_add_param($orgform, FHC_STRING, false).
|
||||
" AND ausbildungssemester ".($keinAusbildungssemester ? 'is null':'is not null');
|
||||
$this->result = array();
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->result = array();
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$rec = new studienplatz();
|
||||
$this->mapRow($rec, $row);
|
||||
$this->result[] = $rec;
|
||||
}
|
||||
$rec = new studienplatz();
|
||||
$this->mapRow($rec, $row);
|
||||
$this->result[] = $rec;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Laedt alle Studienplaetze zu einem Studiengang und Semester. Ergebnis
|
||||
* steht in result, wobei es nur einen Datensatz geben kann, wenn
|
||||
* keinAusbildungssemester = true ist.
|
||||
* @param integer $studiengang_kz
|
||||
* @param string studiensemester_kurzbz
|
||||
* @param boolean Ausbildungssemester ist optional. Wenn true werden
|
||||
* nur Datensätze geladen wo das Ausbildungssemester null ist. Wenn
|
||||
* false werden alle geladen wo ein Ausbildungssemester eingetragen
|
||||
* ist.
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load_studiengang_studiensemester($studiengang_kz, $studiensemester_kurzbz, $keinAusbildungssemester = true)
|
||||
{
|
||||
//Pruefen ob $studiengang_kz eine gueltige Zahl ist
|
||||
if(!is_numeric($studiengang_kz) || $studiengang_kz == '')
|
||||
{
|
||||
$this->errormsg = 'studiengang_kz muss eine gültige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Lesen der Daten aus der Datenbank
|
||||
$qry = "SELECT * FROM lehre.tbl_studienplatz RIGHT JOIN lehre.tbl_studienplan using(studienplan_id) WHERE studiengang_kz=".
|
||||
$this->db_add_param($studiengang_kz, FHC_INTEGER, false).
|
||||
" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz, FHC_STRING, false).
|
||||
" AND ausbildungssemester ".($keinAusbildungssemester ? 'is null':'is not null').
|
||||
" AND studienplan_id IS NOT NULL;";
|
||||
|
||||
$this->result = array();
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->result[] = $row;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert Array mit GPZ und NPZ für die FÖBis relevanten Orgformen (BB, VZ, VBB).
|
||||
* Dient als Ersatz für load_studiengang_studiensemester_orgform weil hiermit
|
||||
@@ -207,10 +254,10 @@ class studienplatz extends basis_db
|
||||
{
|
||||
|
||||
// Semesterliste für where klausel erzeugen:
|
||||
$startSemester= 'WS'.substr($studienjahr,0,4);
|
||||
$startSemester= 'WS'.substr($studienjahr,0,4);
|
||||
$semesterList = generateSemesterList($startSemester,($zeitraum*2)-1);
|
||||
$semesterList_comma_separated = "'".join("','",$semesterList)."'";
|
||||
|
||||
|
||||
//Lesen der Daten aus der Datenbank
|
||||
$qry = "SELECT studiensemester_kurzbz,studiengang_kz,
|
||||
sum(case when orgform_kurzbz='VZ' then npz else 0 end) as npz_vz,
|
||||
@@ -220,30 +267,69 @@ class studienplatz extends basis_db
|
||||
sum(case when orgform_kurzbz='VZ' then gpz else 0 end) as gpz_vz,
|
||||
sum(case when orgform_kurzbz='BB' then gpz else 0 end) as gpz_bb,
|
||||
sum(case when orgform_kurzbz='VBB' then gpz else 0 end) as gpz_vbb,
|
||||
sum(gpz) as gpz_gesamt
|
||||
FROM lehre.tbl_studienplatz
|
||||
WHERE ausbildungssemester is null and studiensemester_kurzbz IN ($semesterList_comma_separated)
|
||||
group by studiensemester_kurzbz,studiengang_kz";
|
||||
$this->result = array();
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
sum(gpz) as gpz_gesamt
|
||||
FROM lehre.tbl_studienplatz
|
||||
WHERE ausbildungssemester is null and studiensemester_kurzbz IN ($semesterList_comma_separated)
|
||||
group by studiensemester_kurzbz,studiengang_kz";
|
||||
$this->result = array();
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
$result = array();
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['BB']['NPZ'] = $row->npz_bb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VZ']['NPZ'] = $row->npz_vz;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VBB']['NPZ'] = $row->npz_vbb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['gesamt']['NPZ'] = $row->npz_gesamt;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['BB']['GPZ'] = $row->gpz_bb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VZ']['GPZ'] = $row->gpz_vz;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VBB']['GPZ'] = $row->gpz_vbb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['gesamt']['GPZ'] = $row->gpz_gesamt;
|
||||
}
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['BB']['NPZ'] = $row->npz_bb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VZ']['NPZ'] = $row->npz_vz;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VBB']['NPZ'] = $row->npz_vbb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['gesamt']['NPZ'] = $row->npz_gesamt;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['BB']['GPZ'] = $row->gpz_bb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VZ']['GPZ'] = $row->gpz_vz;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VBB']['GPZ'] = $row->gpz_vbb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['gesamt']['GPZ'] = $row->gpz_gesamt;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert alle Studienplätze eines Studiengangs und Semesters
|
||||
* @param string $stg_kz z.B: -16
|
||||
* @param string $studiensemester_kurzbz z.B: WS2015
|
||||
* @return boolean|array false bei Fehler
|
||||
*/
|
||||
public function getFromStgKzAndStudsem($stg_kz, $studiensemester_kurzbz)
|
||||
{
|
||||
|
||||
if(!is_numeric($stg_kz))
|
||||
{
|
||||
$this->errormsg='stg_kz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($studiensemester_kurzbz == "")
|
||||
{
|
||||
$this->errormsg='Es wurde kein gueltiges studiensemester_kurzbz uerbergeben';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Lesen der Daten aus der Datenbank
|
||||
$qry = "SELECT * FROM lehre.tbl_studienplatz
|
||||
JOIN public.tbl_studiengang using(studiengang_kz)
|
||||
WHERE studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||
AND studiengang_kz=".$this->db_add_param($stg_kz, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
$result = array();
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$result[] = $row;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Variablen auf Gueltigkeit
|
||||
@@ -260,7 +346,7 @@ class studienplatz extends basis_db
|
||||
{
|
||||
$this->errormsg='studiengang_kz enthaelt ungueltige Zeichen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if(mb_strlen($this->orgform_kurzbz)>3)
|
||||
{
|
||||
$this->errormsg = 'orgform_kurzbz darf nicht länger als 3 Zeichen sein';
|
||||
@@ -284,11 +370,19 @@ class studienplatz extends basis_db
|
||||
{
|
||||
$this->errormsg='npz enthaelt ungueltige Zeichen';
|
||||
return false;
|
||||
}if(!is_numeric($this->apz) && $this->apz!='')
|
||||
{
|
||||
$this->errormsg='apz enthaelt ungueltige Zeichen';
|
||||
return false;
|
||||
}if(!is_numeric($this->studienplan_id) && $this->studienplan_id!='')
|
||||
{
|
||||
$this->errormsg='studienplan_id enthaelt ungueltige Zeichen';
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die Datenbank
|
||||
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
@@ -305,20 +399,22 @@ class studienplatz extends basis_db
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='BEGIN;INSERT INTO lehre.tbl_studienplatz ('.
|
||||
'studiengang_kz, orgform_kurzbz, studiensemester_kurzbz, '.
|
||||
'ausbildungssemester, gpz, npz, insertamum, insertvon, '.
|
||||
'updateamum, updatevon) VALUES('.
|
||||
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->orgform_kurzbz).', '.
|
||||
$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||
$this->db_add_param($this->ausbildungssemester, FHC_INTEGER).', '.
|
||||
//$this->db_add_param($this->art).', '.
|
||||
$this->db_add_param($this->gpz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->npz, FHC_INTEGER).', '.
|
||||
'now(), '.
|
||||
$this->db_add_param($this->insertvon).', '.
|
||||
'now(), '.
|
||||
$this->db_add_param($this->updatevon).');';
|
||||
'studiengang_kz, orgform_kurzbz, studiensemester_kurzbz, '.
|
||||
'ausbildungssemester, gpz, npz, apz, studienplan_id insertamum, insertvon, '.
|
||||
'updateamum, updatevon) VALUES('.
|
||||
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->orgform_kurzbz).', '.
|
||||
$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||
$this->db_add_param($this->ausbildungssemester, FHC_INTEGER).', '.
|
||||
//$this->db_add_param($this->art).', '.
|
||||
$this->db_add_param($this->gpz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->npz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->apz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->studienplan_id, FHC_INTEGER).', '.
|
||||
'now(), '.
|
||||
$this->db_add_param($this->insertvon).', '.
|
||||
'now(), '.
|
||||
$this->db_add_param($this->updatevon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -328,19 +424,21 @@ class studienplatz extends basis_db
|
||||
$this->errormsg = 'studienplatz_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
$qry='UPDATE lehre.tbl_studienplatz SET'.
|
||||
$qry='UPDATE lehre.tbl_studienplatz SET'.
|
||||
' studiengang_kz='.$this->db_add_param($this->studiengang_kz).', '.
|
||||
' orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).', '.
|
||||
' studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||
' ausbildungssemester='.$this->db_add_param($this->ausbildungssemester).', '.
|
||||
' ausbildungssemester='.$this->db_add_param($this->ausbildungssemester).', '.
|
||||
//' art='.$this->db_add_param($this->art).', '.
|
||||
' gpz='.$this->db_add_param($this->gpz).', '.
|
||||
' npz='.$this->db_add_param($this->npz).', '.
|
||||
' updateamum= now(), '.
|
||||
' updatevon='.$this->db_add_param($this->updatevon).
|
||||
' WHERE studienplatz_id='.$this->db_add_param($this->studienplatz_id, FHC_INTEGER, false).';';
|
||||
' gpz='.$this->db_add_param($this->gpz).', '.
|
||||
' npz='.$this->db_add_param($this->npz).', '.
|
||||
' apz='.$this->db_add_param($this->apz, FHC_INTEGER).', '.
|
||||
' studienplan_id='.$this->db_add_param($this->studienplan_id, FHC_INTEGER).', '.
|
||||
' updateamum= now(), '.
|
||||
' updatevon='.$this->db_add_param($this->updatevon).
|
||||
' WHERE studienplatz_id='.$this->db_add_param($this->studienplatz_id, FHC_INTEGER, false).';';
|
||||
}
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->new)
|
||||
@@ -371,7 +469,7 @@ class studienplatz extends basis_db
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return $this->studienplatz_id;
|
||||
@@ -399,7 +497,7 @@ class studienplatz extends basis_db
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,3 +42,9 @@ TD,TH
|
||||
{
|
||||
font-size: 9pt;
|
||||
}
|
||||
table.tablesorter tbody td
|
||||
{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user