mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-22 01:12:17 +00:00
Merge branch 'master' into signatur
This commit is contained in:
+63
-57
@@ -76,15 +76,15 @@ class ablauf extends basis_db
|
||||
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT
|
||||
tbl_ablauf.*,
|
||||
tbl_ablauf_vorgaben.sprache,
|
||||
tbl_ablauf_vorgaben.sprachwahl,
|
||||
tbl_ablauf.*,
|
||||
tbl_ablauf_vorgaben.sprache,
|
||||
tbl_ablauf_vorgaben.sprachwahl,
|
||||
tbl_ablauf_vorgaben.content_id
|
||||
FROM
|
||||
testtool.tbl_ablauf
|
||||
LEFT JOIN
|
||||
LEFT JOIN
|
||||
testtool.tbl_ablauf_vorgaben USING (ablauf_vorgaben_id)
|
||||
WHERE
|
||||
WHERE
|
||||
ablauf_id=".$this->db_add_param($ablauf_id, FHC_INTEGER, false).";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
@@ -92,7 +92,7 @@ class ablauf extends basis_db
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new ablauf();
|
||||
|
||||
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->gebiet_id = $row->gebiet_id;
|
||||
$obj->reihung = $row->reihung;
|
||||
@@ -108,7 +108,7 @@ class ablauf extends basis_db
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->sprachwahl = $this->db_parse_bool($row->sprachwahl);
|
||||
$obj->content_id = $row->content_id;
|
||||
|
||||
|
||||
$this->result[] = $obj;
|
||||
return true;
|
||||
}
|
||||
@@ -152,7 +152,7 @@ class ablauf extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Loescht einen Ablauf-Vorgabe Datensatz
|
||||
* @param $ablauf_vorgabe_id ID des zu loeschenden Datensatzes
|
||||
@@ -166,10 +166,10 @@ class ablauf extends basis_db
|
||||
$this->errormsg = 'ablauf_vorgabe_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$qry = "DELETE FROM testtool.tbl_ablauf_vorgaben
|
||||
WHERE ablauf_vorgaben_id=".$this->db_add_param($ablauf_vorgabe_id, FHC_INTEGER).";";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
@@ -300,7 +300,7 @@ class ablauf extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt die zugehoerigen Gebiete zum angegebenen Studiengang (gegebenfalls auch Studienplan)
|
||||
* @param $studiengang_kz ID des Studiengang
|
||||
@@ -308,30 +308,31 @@ class ablauf extends basis_db
|
||||
* @param $semester
|
||||
* @return boolean true wenn ok sonst false
|
||||
*/
|
||||
public function getAblaufGebiete($studiengang_kz, $studienplan_id=null, $semester=null)
|
||||
public function getAblaufGebiete($studiengang_kz, $studienplan_id=null, $semester=null)
|
||||
{
|
||||
$qry = "SELECT
|
||||
tbl_ablauf.*,
|
||||
tbl_ablauf_vorgaben.sprache,
|
||||
tbl_ablauf_vorgaben.sprachwahl,
|
||||
tbl_ablauf_vorgaben.content_id
|
||||
FROM
|
||||
testtool.tbl_ablauf
|
||||
LEFT JOIN
|
||||
$qry = "SELECT
|
||||
tbl_ablauf.*,
|
||||
tbl_ablauf_vorgaben.sprache,
|
||||
tbl_ablauf_vorgaben.sprachwahl,
|
||||
tbl_ablauf_vorgaben.content_id
|
||||
FROM
|
||||
testtool.tbl_ablauf
|
||||
LEFT JOIN
|
||||
testtool.tbl_ablauf_vorgaben USING (ablauf_vorgaben_id)
|
||||
WHERE
|
||||
tbl_ablauf.studiengang_kz=".$studiengang_kz;
|
||||
WHERE
|
||||
tbl_ablauf.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if (!is_null($studienplan_id))
|
||||
$qry .= " AND studienplan_id=".$studienplan_id;
|
||||
$qry .= " AND studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER);
|
||||
if (!is_null($semester))
|
||||
$qry .= " AND semester=".$semester;
|
||||
$qry .= " AND semester=".$this->db_add_param($semester, FHC_INTEGER);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new stdClass();
|
||||
|
||||
|
||||
$obj->ablauf_id = $row->ablauf_id;
|
||||
$obj->gebiet_id = $row->gebiet_id;
|
||||
$obj->reihung = $row->reihung;
|
||||
@@ -342,7 +343,7 @@ class ablauf extends basis_db
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->sprachwahl = $this->db_parse_bool($row->sprachwahl);
|
||||
$obj->content_id = $row->content_id;
|
||||
|
||||
|
||||
$this->result[]= $obj;
|
||||
}
|
||||
return true;
|
||||
@@ -353,7 +354,7 @@ class ablauf extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Leadt die ablauf_id zu einer Kombination aus Studiengang und Gebiet
|
||||
* @param $studiengang_kz Studiengang
|
||||
@@ -366,8 +367,10 @@ class ablauf extends basis_db
|
||||
*
|
||||
FROM
|
||||
testtool.tbl_ablauf
|
||||
WHERE studiengang_kz=".$studiengang_kz." AND gebiet_id=".$gebiet_id.";";
|
||||
|
||||
WHERE
|
||||
studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)."
|
||||
AND gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER).";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
@@ -382,7 +385,7 @@ class ablauf extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt eine Ablauf-Vorgabe
|
||||
* @param $ablauf_vorgaben_id ID des zu ladenden Datensatzes
|
||||
@@ -395,14 +398,14 @@ class ablauf extends basis_db
|
||||
$this->errormsg = 'ablauf_vorgaben_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
testtool.tbl_ablauf_vorgaben
|
||||
WHERE ablauf_vorgaben_id=".$this->db_add_param($ablauf_vorgaben_id, FHC_INTEGER, false).";";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
@@ -430,7 +433,7 @@ class ablauf extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert eine Ablauf-Vorgabe
|
||||
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
@@ -506,27 +509,27 @@ class ablauf extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt alle Ablauf-Vorgaben Eintraege
|
||||
* @return boolean true wenn ok sonst false
|
||||
*/
|
||||
public function getAllAblaufVorgaben()
|
||||
public function getAllAblaufVorgaben()
|
||||
{
|
||||
$qry = "SELECT * FROM testtool.tbl_ablauf_vorgaben";
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new ablauf();
|
||||
|
||||
|
||||
$obj->ablauf_vorgaben_id = $row->ablauf_vorgaben_id;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->sprachwahl = $this->db_parse_bool($row->sprachwahl);
|
||||
$obj->content_id = $row->content_id;
|
||||
|
||||
|
||||
$this->result[]= $obj;
|
||||
}
|
||||
return true;
|
||||
@@ -537,7 +540,7 @@ class ablauf extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt einen Ablauf-Vorgabe Eintrag anhand der uebergebenen Studiengangskennzahl
|
||||
* @param $studiengang_kz ID des Studiengang
|
||||
@@ -551,21 +554,22 @@ class ablauf extends basis_db
|
||||
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM testtool.tbl_ablauf_vorgaben WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
|
||||
|
||||
$qry = "SELECT * FROM testtool.tbl_ablauf_vorgaben
|
||||
WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new ablauf();
|
||||
|
||||
|
||||
$obj->ablauf_vorgaben_id = $row->ablauf_vorgaben_id;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->sprachwahl = $row->sprachwahl;
|
||||
$obj->content_id = $row->content_id;
|
||||
|
||||
|
||||
$this->result[]= $obj;
|
||||
}
|
||||
return true;
|
||||
@@ -576,7 +580,7 @@ class ablauf extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Zaehlt, wie of die ablauf_vorgabe_id noch in tbl_ablauf verwendet wird
|
||||
* @param integer $ablauf_vorgaben_id Ablauf-Vorlage-ID
|
||||
@@ -590,9 +594,10 @@ class ablauf extends basis_db
|
||||
$this->errormsg = 'ablauf_vorgaben_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT count(*) FROM testtool.tbl_ablauf WHERE ablauf_vorgaben_id=".$this->db_add_param($ablauf_vorgaben_id, FHC_INTEGER);
|
||||
|
||||
|
||||
$qry = "SELECT count(*) FROM testtool.tbl_ablauf
|
||||
WHERE ablauf_vorgaben_id=".$this->db_add_param($ablauf_vorgaben_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
@@ -621,24 +626,25 @@ class ablauf extends basis_db
|
||||
*/
|
||||
public function getDauer($studiengang_kz, $studienplan_id=null, $semester=null)
|
||||
{
|
||||
$qry = "SELECT
|
||||
$qry = "SELECT
|
||||
SUM (zeit) as dauer
|
||||
FROM
|
||||
testtool.tbl_ablauf
|
||||
JOIN
|
||||
FROM
|
||||
testtool.tbl_ablauf
|
||||
JOIN
|
||||
testtool.tbl_gebiet USING (gebiet_id)
|
||||
WHERE
|
||||
studiengang_kz=".$studiengang_kz;
|
||||
WHERE
|
||||
studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if (!is_null($studienplan_id))
|
||||
$qry .= " AND studienplan_id=".$studienplan_id;
|
||||
$qry .= " AND studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER);
|
||||
if (!is_null($semester))
|
||||
$qry .= " AND semester=".$semester;
|
||||
$qry .= " AND semester=".$this->db_add_param($semester, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
|
||||
|
||||
return $row->dauer;
|
||||
}
|
||||
else
|
||||
|
||||
+15
-9
@@ -81,7 +81,13 @@ class frage extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM testtool.tbl_frage LEFT OUTER JOIN testtool.tbl_frage_sprache USING (frage_id) WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER);
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
testtool.tbl_frage
|
||||
LEFT OUTER JOIN testtool.tbl_frage_sprache USING (frage_id)
|
||||
WHERE
|
||||
frage_id=".$this->db_add_param($frage_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -381,9 +387,9 @@ class frage extends basis_db
|
||||
{
|
||||
$qry = "SELECT * FROM testtool.tbl_frage_sprache JOIN testtool.tbl_frage USING(frage_id)
|
||||
WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER)." AND sprache=".$this->db_add_param($sprache);
|
||||
|
||||
|
||||
if (!is_null($aktiv))
|
||||
$qry .= " AND aktiv=".$aktiv;
|
||||
$qry .= " AND aktiv=".($aktiv?'true':'false');
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -832,10 +838,10 @@ class frage extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gibt die Nummer der naechsten Frage zurueck (nicht fuer den test sondern fuer die testtool-administrationsseite)
|
||||
*
|
||||
*
|
||||
* @param $frage_nummer Nummer der aktuellen Frage
|
||||
* @param $gebiet_id Gebiet der Fragen
|
||||
* @param $aktiv true wenn nur aktiv, false wenn nur inaktiv, null wenn beides
|
||||
@@ -846,14 +852,14 @@ class frage extends basis_db
|
||||
$qry = "SELECT nummer FROM testtool.tbl_frage
|
||||
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)."
|
||||
AND nummer>".$this->db_add_param($frage_nummer, FHC_INTEGER);
|
||||
|
||||
|
||||
if (!is_null($aktiv) && $aktiv)
|
||||
$qry .= " AND aktiv";
|
||||
if (!is_null($aktiv) && !$aktiv)
|
||||
$qry .= " AND NOT aktiv";
|
||||
|
||||
|
||||
$qry .= " ORDER BY nummer ASC LIMIT 1"; //Es wird immer nur ein Maximum geben, deswegen kein max()
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
@@ -886,7 +892,7 @@ class frage extends basis_db
|
||||
}
|
||||
return $number;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
+276
-267
File diff suppressed because it is too large
Load Diff
+11
-11
@@ -49,7 +49,7 @@ class nation extends basis_db
|
||||
public function __construct($code=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
|
||||
if($code != null)
|
||||
$this->load($code);
|
||||
}
|
||||
@@ -64,7 +64,7 @@ class nation extends basis_db
|
||||
{
|
||||
//Lesen der Daten aus der Datenbank
|
||||
$qry = "SELECT * FROM bis.tbl_nation WHERE nation_code=".$this->db_add_param($code).';';
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
@@ -101,17 +101,17 @@ class nation extends basis_db
|
||||
{
|
||||
//Lesen der Daten aus der Datenbank
|
||||
$qry = "SELECT * FROM bis.tbl_nation";
|
||||
|
||||
|
||||
if ($ohnesperre)
|
||||
$qry .= " WHERE sperre is null";
|
||||
|
||||
$qry .= " WHERE sperre is null OR sperre is false";
|
||||
|
||||
if ($orderEnglish == false)
|
||||
$qry .= " ORDER BY kurztext";
|
||||
else
|
||||
else
|
||||
$qry .= " ORDER BY engltext";
|
||||
|
||||
|
||||
$qry .= ';';
|
||||
|
||||
|
||||
if (!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
@@ -134,10 +134,10 @@ class nation extends basis_db
|
||||
|
||||
$this->nation[] = $nation;
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert die Personendaten in die Datenbank
|
||||
* @return true wenn erfolgreich, false im Fehlerfall
|
||||
@@ -169,4 +169,4 @@ class nation extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -176,7 +176,7 @@ $menu=array
|
||||
'Wartung'=> array
|
||||
(
|
||||
'name'=>'Wartung', 'opener'=>'true', 'hide'=>'true', 'image'=>'vilesci_wartung.png', 'link'=>'left.php?categorie=Wartung', 'target'=>'nav',
|
||||
|
||||
'permissions'=>array('basis/studiengang','lehre/vorrueckung','student/vorrueckung','admin','basis/firma','student/stammdaten','assistenz','lv-plan'),
|
||||
'DokumenteZuteilung'=>array('name'=>'Dokumente Zuteilung', 'link'=>'stammdaten/studiengang_dokumente.php', 'target'=>'main', 'permissions'=>array('basis/studiengang')),
|
||||
'Vorrueckung'=> array
|
||||
(
|
||||
@@ -186,7 +186,7 @@ $menu=array
|
||||
),
|
||||
'Kreuzerllistekopieren'=>array('name'=>'Kreuzerllisten kopieren', 'link'=>CIS_ROOT.'cis/private/lehre/benotungstool/copy_uebung.php', 'target'=>'_blank','permissions'=>array('admin')),
|
||||
'Firmenwartung'=>array('name'=>'Firmenwartung', 'link'=>'stammdaten/firma_zusammen_uebersicht.php', 'target'=>'main','permissions'=>array('basis/firma')),
|
||||
'checkStudenten'=>array('name'=>'CheckStudenten', 'link'=>'../system/checkStudenten.php', 'target'=>'main'),
|
||||
'checkStudenten'=>array('name'=>'CheckStudenten', 'link'=>'../system/checkStudenten.php', 'target'=>'main', 'permissions'=>array('student/stammdaten')),
|
||||
'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main','permissions'=>array('assistenz')),
|
||||
'lv_merge'=>array('name'=>'LVs zusammenlegen', 'link'=>'lehre/lv_merge.php', 'target'=>'main','permissions'=>array('admin','lv-plan')),
|
||||
'akteupdate'=>array('name'=>'Akten überschreiben', 'link'=>'personen/akteupdate.php', 'target'=>'main','permissions'=>array('admin')),
|
||||
|
||||
Regular → Executable
+60
-33
@@ -133,7 +133,7 @@ class zeitaufzeichnung extends basis_db
|
||||
//Variablen pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
|
||||
// check ob identischer eintrag existiert
|
||||
$check_qry = 'SELECT count(*) from campus.tbl_zeitaufzeichnung where uid='.$this->db_add_param($this->uid).' and start = '.$this->db_add_param($this->start).' and ende = '.$this->db_add_param($this->ende);
|
||||
if($this->db_query($check_qry) && $this->new)
|
||||
@@ -142,13 +142,13 @@ class zeitaufzeichnung extends basis_db
|
||||
{
|
||||
if ($row->count)
|
||||
{
|
||||
$this->errormsg = 'Identischer Eintrag existiert!';
|
||||
$this->errormsg = 'Identischer Eintrag existiert!';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
@@ -339,7 +339,7 @@ class zeitaufzeichnung extends basis_db
|
||||
//zusätzlicher Tag - SQL rechnet letzten Tag nicht hinein
|
||||
$to = date('Y-m-d', strtotime($to. ' + 1 days'));
|
||||
|
||||
$where.= " AND ((start >= ".$this->db_add_param($from)."::DATE AND start <= ".$this->db_add_param($to)."::DATE)
|
||||
$where.= " AND ((start >= ".$this->db_add_param($from)."::DATE AND start <= ".$this->db_add_param($to)."::DATE)
|
||||
OR (ende >= ".$this->db_add_param($from)."::DATE AND ende <= ".$this->db_add_param($to)."::DATE))";
|
||||
|
||||
$qry = "SELECT
|
||||
@@ -506,16 +506,16 @@ class zeitaufzeichnung extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Löscht sämtliche Einträge eines Users für einen Tag
|
||||
* Löscht sämtliche Einträge eines Users für einen Tag
|
||||
* @param string $user
|
||||
* @param string $tag Y-m-d
|
||||
*/
|
||||
public function deleteEntriesForUser($user, $tag)
|
||||
{
|
||||
$where = "uid=".$this->db_add_param($user);
|
||||
|
||||
{
|
||||
$where = "uid=".$this->db_add_param($user);
|
||||
|
||||
$qry = "delete from campus.tbl_zeitaufzeichnung where $where and date_trunc('day', start) = '$tag'";
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
@@ -529,28 +529,28 @@ class zeitaufzeichnung extends basis_db
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht Pauseneinträge eines Users für einen Tag, die außerhalb der Arbeitszeit liegen
|
||||
* Löscht Pauseneinträge eines Users für einen Tag, die außerhalb der Arbeitszeit liegen
|
||||
* Löscht Pauseneinträge an Tagen ohne Arbeitszeit
|
||||
* @param string $user
|
||||
* @param string $tag Y-m-d
|
||||
*/
|
||||
public function cleanPausenForUser($user, $tag)
|
||||
{
|
||||
$where = "uid=".$this->db_add_param($user);
|
||||
|
||||
{
|
||||
$where = "uid=".$this->db_add_param($user);
|
||||
|
||||
$qry = "
|
||||
delete from campus.tbl_zeitaufzeichnung where aktivitaet_kurzbz = 'Pause' and start::date = '$tag' and $where and
|
||||
(
|
||||
start::time >=
|
||||
start::time >=
|
||||
(SELECT max(ende::time) as endzeit from campus.tbl_zeitaufzeichnung where $where and start::date = '$tag' AND (aktivitaet_kurzbz != 'LehreExtern' or aktivitaet_kurzbz is null ) and aktivitaet_kurzbz != 'Pause')
|
||||
or
|
||||
ende::time<=
|
||||
(SELECT min(start::time) as startzeit from campus.tbl_zeitaufzeichnung where $where and start::date = '$tag' AND (aktivitaet_kurzbz != 'LehreExtern' or aktivitaet_kurzbz is null ) and aktivitaet_kurzbz != 'Pause')
|
||||
or not exists
|
||||
(select 1 from campus.tbl_zeitaufzeichnung where aktivitaet_kurzbz != 'LehreExtern' and aktivitaet_kurzbz != 'Pause' and start::date = '$tag' and $where )
|
||||
(select 1 from campus.tbl_zeitaufzeichnung where aktivitaet_kurzbz != 'LehreExtern' and aktivitaet_kurzbz != 'Pause' and start::date = '$tag' and $where )
|
||||
)
|
||||
";
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
@@ -563,52 +563,79 @@ or not exists
|
||||
}
|
||||
|
||||
/**
|
||||
* Holt alle ZA-Einträge Typ LehreIntern und LehreExtern eines Users
|
||||
* Holt alle ZA-Einträge Typ LehreIntern und LehreExtern eines Users
|
||||
* für das laufende Studienjahr und gibt die Summen in einem Array zurück
|
||||
* @param string $user
|
||||
* @return Array mit Keay: LehreIntern, LehreExtern, LehreAuftraege, LehreInkludiert
|
||||
*/
|
||||
* @return Array mit Key: LehreIntern, LehreExtern, LehreAuftraege, LehreInkludiert
|
||||
*/
|
||||
public function getLehreForUser($user,$sem)
|
||||
{
|
||||
$where = "uid=".$this->db_add_param($user);
|
||||
$where = "uid=".$this->db_add_param($user);
|
||||
$where_sem = "studiensemester_kurzbz=".$this->db_add_param($sem);
|
||||
$lehre_arr = array("LehreIntern"=>0, "LehreExtern"=>0, "LehreAuftraege"=>0);
|
||||
|
||||
|
||||
$qry = "
|
||||
select sum(extract(epoch from ende-start))/3600 as lehre, aktivitaet_kurzbz from campus.tbl_zeitaufzeichnung where $where and aktivitaet_kurzbz in ('LehreIntern', 'LehreExtern') and start > (select start from public.tbl_studiensemester where $where_sem) group by aktivitaet_kurzbz
|
||||
";
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
|
||||
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$lehre_arr[$row->aktivitaet_kurzbz] = round($row->lehre,2);
|
||||
$lehre_arr[$row->aktivitaet_kurzbz] = round($row->lehre,2);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
$where = "mitarbeiter_uid=".$this->db_add_param($user);
|
||||
$where_sem = "l.studiensemester_kurzbz=".$this->db_add_param($sem);
|
||||
$qry = "
|
||||
select sum(m.semesterstunden) from lehre.tbl_lehreinheitmitarbeiter m, lehre.tbl_lehreinheit l where $where and $where_sem and l.lehreinheit_id = m.lehreinheit_id and m.stundensatz*m.semesterstunden > 0
|
||||
|
||||
$qry = "
|
||||
SELECT sum(semstunden) AS stunden
|
||||
FROM
|
||||
(
|
||||
SELECT sum(m.semesterstunden) AS semstunden
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter m,
|
||||
lehre.tbl_lehreinheit l
|
||||
WHERE
|
||||
$where AND
|
||||
$where_sem AND
|
||||
l.lehreinheit_id = m.lehreinheit_id AND
|
||||
m.stundensatz * m.semesterstunden > 0
|
||||
UNION
|
||||
SELECT sum(pb.stunden) AS semstunden
|
||||
FROM
|
||||
lehre.tbl_projektarbeit pa,
|
||||
lehre.tbl_projektbetreuer pb,
|
||||
lehre.tbl_lehreinheit l,
|
||||
public.tbl_benutzer b
|
||||
WHERE
|
||||
pa.lehreinheit_id = l.lehreinheit_id AND
|
||||
pb.projektarbeit_id = pa.projektarbeit_id AND
|
||||
pb.person_id = b.person_id AND
|
||||
b.uid = ".$this->db_add_param($user)." AND
|
||||
pb.stunden * pb.stundensatz > 0 AND
|
||||
$where_sem
|
||||
) AS semstunden
|
||||
";
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
|
||||
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$lehre_arr["LehreAuftraege"] = round($row->sum);
|
||||
$lehre_arr["LehreAuftraege"] = round($row->stunden);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $lehre_arr;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user