This commit is contained in:
kindlm
2017-03-21 17:36:27 +01:00
52 changed files with 3607 additions and 1532 deletions
+5 -5
View File
@@ -682,15 +682,15 @@ class firma extends basis_db
if($filter!='')
$qry.= " and ( lower(tbl_firma.name) like lower('%".$this->db_escape($filter)."%')
OR lower(kurzbz) like lower('%".$this->db_escape($filter)."%')
OR lower(tbl_standort.kurzbz) like lower('%".$this->db_escape($filter)."%')
OR lower(tbl_adresse.name) like lower('%".$this->db_escape($filter)."%')
OR lower(plz) like lower('%".$this->db_escape($filter)."%')
OR lower(ort) like lower('%".$this->db_escape($filter)."%')
OR lower(strasse) like lower('%".$this->db_escape($filter)."%')
OR lower(tbl_adresse.plz) like lower('%".$this->db_escape($filter)."%')
OR lower(tbl_adresse.ort) like lower('%".$this->db_escape($filter)."%')
OR lower(tbl_adresse.strasse) like lower('%".$this->db_escape($filter)."%')
OR lower(tbl_standort.bezeichnung) like lower('%".$this->db_escape($filter)."%')
OR lower(anmerkung) like lower('%".$this->db_escape($filter)."%')
OR lower(tbl_firma.anmerkung) like lower('%".$this->db_escape($filter)."%')
".(is_numeric($filter)?" OR tbl_firma.firma_id='".$this->db_escape($filter)."'":'')."
OR tbl_firma.firma_id IN (SELECT firma_id FROM public.tbl_firmatag
WHERE firma_id=tbl_firma.firma_id AND lower(tag) like lower('%".$this->db_escape($filter)."%'))
+16 -6
View File
@@ -249,12 +249,19 @@ class lehrveranstaltung extends basis_db
}
/**
* Liefert alle Lehrveranstaltungen zu einem Studiengang/Semester
* @param $studiengang_kz
* @param $semester
* Liefert alle Lehrveranstaltungen die den gefilterten Attributen entsprechen
* @param $studiengang_kz integer Kennzahl des Studiengangs.
* @param $semester integer Ausbildungssemester.
* @param $lehreverzeichnis string LehreVZ
* @param $lehre boolean Lehre
* @param $aktiv boolean
* @param $sort smallint Sortierung
* @param $oe_kurzbz string Organisationseinheit
* @param $lehrtyp string lehrtyp_kurzbz
* @param $orgform string Organisationsform
* @return true wenn ok, false im Fehlerfall
*/
public function load_lva($studiengang_kz, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null, $oe_kurzbz=null, $lehrtyp=null, $orgform=null)
public function load_lva($studiengang_kz=null, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null, $oe_kurzbz=null, $lehrtyp=null, $orgform=null)
{
//Variablen pruefen
if($semester == "null")
@@ -263,7 +270,7 @@ class lehrveranstaltung extends basis_db
if($lehreverzeichnis == "null")
$lehreverzeichnis = null;
if (!is_numeric($studiengang_kz) || $studiengang_kz == '')
if (!is_null($studiengang_kz) && (!is_numeric($studiengang_kz) && $studiengang_kz != ''))
{
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
return false;
@@ -284,7 +291,10 @@ class lehrveranstaltung extends basis_db
return false;
}
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung where studiengang_kz=" . $this->db_add_param($studiengang_kz, FHC_INTEGER);
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung WHERE 1=1";
if (!is_null($studiengang_kz))
$qry.=" AND studiengang_kz=" . $this->db_add_param($studiengang_kz, FHC_INTEGER);
//Select Befehl zusammenbauen
if (!is_null($lehreverzeichnis))
+5 -2
View File
@@ -381,8 +381,11 @@ class prestudent extends person
JOIN public.tbl_person USING(person_id)
JOIN public.tbl_rt_person USING(person_id)
JOIN public.tbl_reihungstest ON(tbl_reihungstest.reihungstest_id=tbl_rt_person.rt_id)
WHERE tbl_reihungstest.datum='.$this->db_add_param($datum).'
AND tbl_rt_person.studienplan_id IN (SELECT studienplan_id FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id)
WHERE
tbl_reihungstest.datum='.$this->db_add_param($datum).'
AND tbl_rt_person.studienplan_id IN (SELECT studienplan_id FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id)
AND EXISTS(SELECT * FROM public.tbl_prestudentstatus JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE prestudent_id=tbl_prestudent.prestudent_id AND tbl_studiensemester.start>'.$this->db_add_param($datum).')
ORDER BY nachname,vorname';
if(!$this->db_query($sql_query))
+14 -3
View File
@@ -55,6 +55,9 @@ class projektarbeit extends basis_db
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
public $final; // boolean
public $abgabedatum;
/**
@@ -114,6 +117,9 @@ class projektarbeit extends basis_db
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->projekttyp_bezeichnung = $row->bezeichnung;
$this->final = $this->db_parse_bool($row->final);
$this->abgabedatum = $row->abgabedatum;
return true;
}
else
@@ -226,7 +232,7 @@ class projektarbeit extends basis_db
$qry='BEGIN; INSERT INTO lehre.tbl_projektarbeit (projekttyp_kurzbz, titel, lehreinheit_id, student_uid, firma_id, note, punkte,
beginn, ende, faktor, freigegeben, gesperrtbis, stundensatz, gesamtstunden, themenbereich, anmerkung,
insertamum, insertvon, updateamum, updatevon, titel_english) VALUES('.
insertamum, insertvon, updateamum, updatevon, titel_english, final) VALUES('.
$this->db_add_param($this->projekttyp_kurzbz).', '.
$this->db_add_param($this->titel).', '.
$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).', '.
@@ -245,7 +251,8 @@ class projektarbeit extends basis_db
$this->db_add_param($this->anmerkung).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).','.
$this->db_add_param($this->titel_english).');';
$this->db_add_param($this->titel_english).','.
$this->db_add_param($this->final, FHC_BOOLEAN).');';
}
else
{
@@ -277,7 +284,8 @@ class projektarbeit extends basis_db
'themenbereich='.$this->db_add_param($this->themenbereich).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'updateamum= now(), '.
'updatevon='.$this->db_add_param($this->updatevon).' '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'final='.$this->db_add_param($this->final, FHC_BOOLEAN).' '.
'WHERE projektarbeit_id='.$this->db_add_param($this->projektarbeit_id, FHC_INTEGER).';';
}
@@ -385,6 +393,8 @@ class projektarbeit extends basis_db
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->final = $this->db_parse_bool($row->final);
$obj->abgabedatum = $row->abgabedatum;
$this->result[] = $obj;
}
@@ -447,6 +457,7 @@ class projektarbeit extends basis_db
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->final = $this->db_parse_bool($row->final);
$this->result[] = $obj;
}
+12 -5
View File
@@ -312,7 +312,7 @@ class pruefling extends basis_db
* @param $person_id ID der Person.
* @param $punkte Wenn true werden Punkte geliefert, sonst Prozentsumme.
* @param $reihungstest_id ID des Reihungstests.
* @return Endpunkte des Reihungstests
* @return Endpunkte des Reihungstests oder False wenn keine Punkte vorhanden
*/
public function getReihungstestErgebnisPerson($person_id, $punkte=false, $reihungstest_id=null)
{
@@ -324,9 +324,13 @@ class pruefling extends basis_db
$ergebnis=0;
if($this->db_query($qry))
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object())
// Wenn keine Eintraege vorhanden dann false
if($this->db_num_rows($result)==0)
return false;
while($row = $this->db_fetch_object($result))
{
//wenn maxpunkte ueberschritten wurde -> 100%
if($row->punkte>=$row->maxpunkte)
@@ -357,7 +361,7 @@ class pruefling extends basis_db
* @param $prestudent_id ID des Prestudenten
* @param $punkte Wenn true werden Punkte geliefert, sonst Prozentsumme.
* @param $reihungstest_id ID des Reihungstests.
* @return Endpunkte des Reihungstests
* @return Endpunkte des Reihungstests oder false wenn keine Punkte vorhanden
*/
public function getReihungstestErgebnisPrestudent($prestudent_id, $punkte=false, $reihungstest_id=null)
{
@@ -369,8 +373,11 @@ class pruefling extends basis_db
$ergebnis=0;
if($this->db_query($qry))
if($result = $this->db_query($qry))
{
if($this->db_num_rows($result)==0)
return false;
while($row = $this->db_fetch_object())
{
//wenn maxpunkte ueberschritten wurde -> 100%
+44 -5
View File
@@ -662,7 +662,7 @@ class studiensemester extends basis_db
public function getFinished($limit = null)
{
$qry = "SELECT * FROM public.tbl_studiensemester WHERE start <= NOW() ORDER BY ende DESC";
if(!is_null($limit) && is_numeric($limit))
$qry.=' LIMIT '.$limit;
@@ -768,22 +768,22 @@ class studiensemester extends basis_db
{
if (!isset($this->begin))
$this->begin = new stdclass();
$this->begin->start = mktime(0, 0, 0,
mb_substr($row->start, 5, 2),
mb_substr($row->start, 8, 2),
mb_substr($row->start, 0, 4)
);
if (!isset($this->end))
$this->ende = new stdclass();
$this->ende->ende = mktime(0, 0, 0,
mb_substr($row->ende, 5, 2),
mb_substr($row->ende, 8, 2),
mb_substr($row->ende, 0, 4)
);
return true;
}
else
@@ -976,5 +976,44 @@ class studiensemester extends basis_db
return false;
}
}
/**
* Liefert aus einer Liste von Studiensemester das neueste Studiensemester zurueck
* @param $studiensemester_arr Array mit Studiensemester_kurzbz
* @return Studiensemester aus dem Array das zuletzt startet
*/
public function getYoungestFromArray($studiensemester_arr)
{
$qry = "SELECT
*
FROM
public.tbl_studiensemester
WHERE
studiensemester_kurzbz IN(".$this->db_implode4SQL($studiensemester_arr).")
ORDER BY
start desc
LIMIT 1";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->start = $row->start;
$this->ende = $row->ende;
return $row->studiensemester_kurzbz;
}
else
{
$this->errormsg = 'Es wurde kein Studiensemester gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Ermitteln des Studiensemesters';
return false;
}
}
}
?>
+15 -2
View File
@@ -952,9 +952,22 @@ class vertrag extends basis_db
lehre.tbl_projektbetreuer
WHERE
vertrag_id=tbl_vertrag.vertrag_id)
))
)
)
AND vertragsdatum<=".$this->db_add_param($datum)."
AND vertragsdatum>=".$this->db_add_param($prevstsemende)."
AND
(
vertragsdatum>=".$this->db_add_param($prevstsemende)."
OR
EXISTS (SELECT
1
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
vertrag_id=tbl_vertrag.vertrag_id
AND studiensemester_kurzbz=".$this->db_add_param($stsem).")
)
AND tbl_benutzer.uid=".$this->db_add_param($mitarbeiter_uid);
if($result = $this->db_query($qry))