mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
+20
-11
@@ -48,6 +48,7 @@ class akte extends basis_db
|
||||
public $anmerkung;
|
||||
public $titel_intern;
|
||||
public $anmerkung_intern;
|
||||
public $nachgereicht_am;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -100,6 +101,7 @@ class akte extends basis_db
|
||||
$this->nachgereicht = $this->db_parse_bool($row->nachgereicht);
|
||||
$this->titel_intern = $row->titel_intern;
|
||||
$this->anmerkung_intern = $row->anmerkung_intern;
|
||||
$this->nachgereicht_am = $row->nachgereicht_am;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -182,7 +184,8 @@ class akte extends basis_db
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = "BEGIN;INSERT INTO public.tbl_akte (person_id, dokument_kurzbz, inhalt, mimetype, erstelltam, gedruckt, titel,
|
||||
bezeichnung, updateamum, updatevon, insertamum, insertvon, uid, dms_id, nachgereicht, anmerkung, titel_intern, anmerkung_intern ) VALUES (".
|
||||
bezeichnung, updateamum, updatevon, insertamum, insertvon, uid, dms_id, nachgereicht, anmerkung,
|
||||
titel_intern, anmerkung_intern, nachgereicht_am) VALUES (".
|
||||
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->dokument_kurzbz).', '.
|
||||
$this->db_add_param($this->inhalt).', '.
|
||||
@@ -200,7 +203,8 @@ class akte extends basis_db
|
||||
$this->db_add_param($this->nachgereicht, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->anmerkung).','.
|
||||
$this->db_add_param($this->titel_intern).','.
|
||||
$this->db_add_param($this->anmerkung_intern).');';
|
||||
$this->db_add_param($this->anmerkung_intern).','.
|
||||
$this->db_add_param($this->nachgereicht_am).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -221,7 +225,8 @@ class akte extends basis_db
|
||||
" nachgereicht=".$this->db_add_param($this->nachgereicht, FHC_BOOLEAN).",".
|
||||
" anmerkung=".$this->db_add_param($this->anmerkung).",".
|
||||
" titel_intern=".$this->db_add_param($this->titel_intern).",".
|
||||
" anmerkung_intern=".$this->db_add_param($this->anmerkung_intern).
|
||||
" anmerkung_intern=".$this->db_add_param($this->anmerkung_intern).",".
|
||||
" nachgereicht_am=".$this->db_add_param($this->nachgereicht_am).
|
||||
" WHERE akte_id=".$this->db_add_param($this->akte_id, FHC_INTEGER);
|
||||
}
|
||||
|
||||
@@ -277,7 +282,8 @@ class akte extends basis_db
|
||||
$qry = "SELECT
|
||||
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt, titel_intern, anmerkung_intern,
|
||||
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid, dms_id, anmerkung, nachgereicht,
|
||||
CASE WHEN inhalt is not null THEN true ELSE false END as inhalt_vorhanden
|
||||
CASE WHEN inhalt is not null THEN true ELSE false END as inhalt_vorhanden,
|
||||
nachgereicht_am
|
||||
FROM public.tbl_akte WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
|
||||
if($dokument_kurzbz!=null)
|
||||
$qry.=" AND dokument_kurzbz=".$this->db_add_param($dokument_kurzbz);
|
||||
@@ -317,6 +323,7 @@ class akte extends basis_db
|
||||
$akten->anmerkung = $row->anmerkung;
|
||||
$akten->titel_intern = $row->titel_intern;
|
||||
$akten->anmerkung_intern = $row->anmerkung_intern;
|
||||
$akten->nachgereicht_am = $row->nachgereicht_am;
|
||||
|
||||
$this->result[] = $akten;
|
||||
}
|
||||
@@ -341,7 +348,7 @@ class akte extends basis_db
|
||||
$qry = "SELECT
|
||||
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt,
|
||||
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid,
|
||||
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern
|
||||
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern, nachgereicht_am
|
||||
FROM public.tbl_akte WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
|
||||
|
||||
$qry.=" AND dokument_kurzbz IN ('Lebenslf','Motivat','LearnAgr')";
|
||||
@@ -372,6 +379,7 @@ class akte extends basis_db
|
||||
$akten->anmerkung = $row->anmerkung;
|
||||
$akten->titel_intern = $row->titel_intern;
|
||||
$akten->anmerkung_intern = $row->anmerkung_intern;
|
||||
$akten->nachgereicht_am = $row->nachgereicht_am;
|
||||
|
||||
$this->result[] = $akten;
|
||||
}
|
||||
@@ -383,7 +391,7 @@ class akte extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert die Akten anhand der dms_id
|
||||
*
|
||||
@@ -395,16 +403,16 @@ class akte extends basis_db
|
||||
$qry = "SELECT
|
||||
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt,
|
||||
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid,
|
||||
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern
|
||||
FROM public.tbl_akte WHERE dms_id=".$this->db_add_param($dms_id, FHC_INTEGER)."
|
||||
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern, nachgereicht_am
|
||||
FROM public.tbl_akte WHERE dms_id=".$this->db_add_param($dms_id, FHC_INTEGER)."
|
||||
ORDER BY erstelltam";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$akten = new akte();
|
||||
|
||||
|
||||
$akten->akte_id = $row->akte_id;
|
||||
$akten->person_id = $row->person_id;
|
||||
$akten->dokument_kurzbz = $row->dokument_kurzbz;
|
||||
@@ -424,7 +432,8 @@ class akte extends basis_db
|
||||
$akten->anmerkung = $row->anmerkung;
|
||||
$akten->titel_intern = $row->titel_intern;
|
||||
$akten->anmerkung_intern = $row->anmerkung_intern;
|
||||
|
||||
$akten->nachgereicht_am = $row->nachgereicht_am;
|
||||
|
||||
$this->result[] = $akten;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -50,10 +50,10 @@ class benutzerberechtigung extends basis_db
|
||||
public $insertvon;
|
||||
public $kostenstelle_id;
|
||||
public $anmerkung; // varchar(256)
|
||||
|
||||
|
||||
public $starttimestamp;
|
||||
public $endetimestamp;
|
||||
|
||||
|
||||
//Attribute des Mitarbeiters
|
||||
public $fix;
|
||||
public $lektor;
|
||||
@@ -65,7 +65,7 @@ class benutzerberechtigung extends basis_db
|
||||
public function __construct($benutzerberechtigung_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
|
||||
if($benutzerberechtigung_id!=null)
|
||||
$this->load($benutzerberechtigung_id);
|
||||
}
|
||||
@@ -81,9 +81,9 @@ class benutzerberechtigung extends basis_db
|
||||
$this->errormsg = 'benutzerberechtigung_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$qry = "SELECT * FROM system.tbl_benutzerrolle WHERE benutzerberechtigung_id=".$this->db_add_param($benutzerberechtigung_id, FHC_INTEGER);
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
@@ -105,16 +105,16 @@ class benutzerberechtigung extends basis_db
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->kostenstelle_id = $row->kostenstelle_id;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es wurde kein Eintrag mit dieser ID gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Berechtigung';
|
||||
return false;
|
||||
@@ -144,64 +144,64 @@ class benutzerberechtigung extends basis_db
|
||||
$this->errormsg = 'UID darf nicht laenger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->rolle_kurzbz=='' && $this->berechtigung_kurzbz=='')
|
||||
{
|
||||
$this->errormsg = 'Es muss entweder eine Rolle oder eine Berechtigung angegeben werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->rolle_kurzbz!='' && $this->berechtigung_kurzbz!='')
|
||||
{
|
||||
$this->errormsg = 'Rolle und Berechtigung kann nicht gleichzeitig angegeben werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->uid=='' && $this->funktion_kurzbz=='')
|
||||
{
|
||||
$this->errormsg = 'Ess muss entweder eine UID oder eine Funktion_kurzbz angegeben werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->uid!='' && $this->funktion_kurzbz!='')
|
||||
{
|
||||
$this->errormsg = 'UID und Funktion_kurzbz kann nicht gleichzeitig angegeben werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->funktion_kurzbz!='' && $this->oe_kurzbz!='')
|
||||
{
|
||||
$this->errormsg = 'Wenn eine Funktion_kurzbz angegeben wird, darf keine Organisationseinheit eingetragen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->art=='')
|
||||
{
|
||||
$this->errormsg = 'Art darf nicht leer sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->kostenstelle_id!='' && !is_numeric($this->kostenstelle_id))
|
||||
{
|
||||
$this->errormsg = 'Kostenstelle_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->kostenstelle_id!='' && $this->oe_kurzbz!='')
|
||||
{
|
||||
$this->errormsg = 'Wenn eine Kostenstelle angegeben wird, darf keine Organisationseinheit eingetragen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(mb_strlen($this->anmerkung)>256)
|
||||
{
|
||||
$this->errormsg = 'Anmerkung darf nicht laenger als 256 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert Benutzerberechtigung in die Datenbank
|
||||
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
|
||||
@@ -216,8 +216,8 @@ class benutzerberechtigung extends basis_db
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
$qry = 'INSERT INTO system.tbl_benutzerrolle (rolle_kurzbz, berechtigung_kurzbz, uid, funktion_kurzbz,
|
||||
oe_kurzbz, art, studiensemester_kurzbz, start, ende, negativ, updateamum, updatevon,
|
||||
$qry = 'INSERT INTO system.tbl_benutzerrolle (rolle_kurzbz, berechtigung_kurzbz, uid, funktion_kurzbz,
|
||||
oe_kurzbz, art, studiensemester_kurzbz, start, ende, negativ, updateamum, updatevon,
|
||||
insertamum, insertvon, kostenstelle_id, anmerkung)
|
||||
VALUES('.$this->db_add_param($this->rolle_kurzbz).','.
|
||||
$this->db_add_param($this->berechtigung_kurzbz).','.
|
||||
@@ -279,7 +279,7 @@ class benutzerberechtigung extends basis_db
|
||||
$this->errormsg = 'benutzerberechtigung_id ist ungültig';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Berechtigungen loeschen
|
||||
$sql_query="DELETE FROM system.tbl_benutzerrolle where benutzerberechtigung_id=".$this->db_add_param($benutzerberechtigung_id, FHC_INTEGER);
|
||||
|
||||
@@ -299,12 +299,12 @@ class benutzerberechtigung extends basis_db
|
||||
public function loadBenutzerRollen($uid=null, $funktion_kurzbz=null)
|
||||
{
|
||||
$qry = 'SELECT * FROM system.tbl_benutzerrolle WHERE ';
|
||||
|
||||
|
||||
if(!is_null($uid))
|
||||
$qry.= " uid=".$this->db_add_param($uid);
|
||||
elseif(!is_null($funktion_kurzbz))
|
||||
$qry.= " funktion_kurzbz=".$this->db_add_param($funktion_kurzbz);
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Entweder UID oder funktion_kurzbz muss uebergeben werden';
|
||||
return false;
|
||||
@@ -315,7 +315,7 @@ class benutzerberechtigung extends basis_db
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new benutzerberechtigung();
|
||||
|
||||
|
||||
$obj->benutzerberechtigung_id = $row->benutzerberechtigung_id;
|
||||
$obj->rolle_kurzbz = $row->rolle_kurzbz;
|
||||
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
|
||||
@@ -333,13 +333,13 @@ class benutzerberechtigung extends basis_db
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->kostenstelle_id = $row->kostenstelle_id;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
|
||||
|
||||
$this->berechtigungen[] = $obj;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt die Berechtigungen eines Users
|
||||
* @param $uid
|
||||
@@ -348,6 +348,27 @@ class benutzerberechtigung extends basis_db
|
||||
*/
|
||||
public function getBerechtigungen($uid,$all=false)
|
||||
{
|
||||
// Pruefen ob die Person aktiv ist
|
||||
$qry = "SELECT aktiv FROM public.tbl_benutzer WHERE uid=".$this->db_add_param($uid);
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
// Wenn die Person nicht aktiv ist dann hat diese auch keine Rechte
|
||||
if($this->db_parse_bool($row->aktiv) == false)
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Wenn die Person nicht gefunden wurde dann hat diese auch keine Rechte
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
// Berechtigungen holen
|
||||
/*
|
||||
Direkte Berechtigungszuordnung
|
||||
@@ -357,77 +378,77 @@ class benutzerberechtigung extends basis_db
|
||||
Berechtigung ueber Funktion
|
||||
UNION
|
||||
Berechtigung ueber Funktion Mitarbeiter
|
||||
UNION
|
||||
UNION
|
||||
Berechtigung ueber Funktion Student
|
||||
*/
|
||||
$qry = "SELECT
|
||||
$qry = "SELECT
|
||||
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN system.tbl_berechtigung USING(berechtigung_kurzbz)
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN system.tbl_berechtigung USING(berechtigung_kurzbz)
|
||||
WHERE uid=".$this->db_add_param($uid)."
|
||||
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
|
||||
SELECT
|
||||
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_berechtigung.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_rolleberechtigung.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN system.tbl_rolle USING(rolle_kurzbz)
|
||||
JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN system.tbl_rolle USING(rolle_kurzbz)
|
||||
JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
|
||||
JOIN system.tbl_berechtigung ON(tbl_rolleberechtigung.berechtigung_kurzbz=tbl_berechtigung.berechtigung_kurzbz)
|
||||
WHERE uid=".$this->db_add_param($uid)."
|
||||
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
|
||||
SELECT
|
||||
benutzerberechtigung_id, tbl_benutzerfunktion.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerfunktion.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN public.tbl_benutzerfunktion USING(funktion_kurzbz)
|
||||
WHERE tbl_benutzerfunktion.uid=".$this->db_add_param($uid)."
|
||||
AND (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now())
|
||||
AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now())
|
||||
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
|
||||
SELECT
|
||||
benutzerberechtigung_id, '', tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
FROM
|
||||
system.tbl_benutzerrolle
|
||||
WHERE
|
||||
tbl_benutzerrolle.funktion_kurzbz='Mitarbeiter' AND
|
||||
WHERE
|
||||
tbl_benutzerrolle.funktion_kurzbz='Mitarbeiter' AND
|
||||
EXISTS (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=".$this->db_add_param($uid).")
|
||||
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
|
||||
SELECT
|
||||
benutzerberechtigung_id, '', tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
FROM
|
||||
system.tbl_benutzerrolle
|
||||
WHERE
|
||||
tbl_benutzerrolle.funktion_kurzbz='Student' AND
|
||||
WHERE
|
||||
tbl_benutzerrolle.funktion_kurzbz='Student' AND
|
||||
EXISTS (SELECT student_uid FROM public.tbl_student WHERE student_uid=".$this->db_add_param($uid).")
|
||||
|
||||
|
||||
ORDER BY negativ DESC";
|
||||
|
||||
|
||||
if(!$result = $this->db_query($qry))
|
||||
{
|
||||
$this->errormsg='Fehler beim Laden der Berechtigungen';
|
||||
@@ -461,10 +482,10 @@ class benutzerberechtigung extends basis_db
|
||||
$b->insertvon = $row->insertvon;
|
||||
$b->kostenstelle_id = $row->kostenstelle_id;
|
||||
$b->anmerkung = $row->anmerkung;
|
||||
|
||||
|
||||
$this->berechtigungen[]=$b;
|
||||
}
|
||||
|
||||
|
||||
unset($result);
|
||||
// Attribute des Mitarbeiters holen
|
||||
$sql_query="SELECT fixangestellt, lektor FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=".$this->db_add_param($uid);
|
||||
@@ -493,8 +514,8 @@ class benutzerberechtigung extends basis_db
|
||||
* Funktion getBerechtigungen aufgerufen werden.
|
||||
*
|
||||
* @param $berechtigung
|
||||
* @param $oe_kurzbz
|
||||
* derzeit kann hier noch die Studiengangskennzahl uebergeben werden,
|
||||
* @param $oe_kurzbz
|
||||
* derzeit kann hier noch die Studiengangskennzahl uebergeben werden,
|
||||
* dies wird in Zukunft aber nicht mehr moeglich sein
|
||||
* @param $art suid (select|update|insert|delete)
|
||||
* @param $kostenstelle_id ID der Kostenstelle
|
||||
@@ -503,7 +524,7 @@ class benutzerberechtigung extends basis_db
|
||||
public function isBerechtigt($berechtigung_kurzbz, $oe_kurzbz=null, $art=null, $kostenstelle_id=null)
|
||||
{
|
||||
$timestamp=time();
|
||||
|
||||
|
||||
//Studiengang
|
||||
if(is_numeric($oe_kurzbz))
|
||||
{
|
||||
@@ -511,59 +532,59 @@ class benutzerberechtigung extends basis_db
|
||||
$stg = new studiengang($oe_kurzbz);
|
||||
$oe_kurzbz = $stg->oe_kurzbz;
|
||||
}
|
||||
|
||||
|
||||
if($kostenstelle_id!='' && !is_numeric($kostenstelle_id))
|
||||
{
|
||||
$this->errormsg = 'Kostenstelle_id "'.$kostenstelle_id.'" is invalid';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$oe = new organisationseinheit();
|
||||
|
||||
|
||||
foreach ($this->berechtigungen as $b)
|
||||
{
|
||||
//Pruefen ob eine negativ-Berechtigung vorhanden ist
|
||||
if($b->berechtigung_kurzbz==$berechtigung_kurzbz
|
||||
&& $b->negativ
|
||||
if($b->berechtigung_kurzbz==$berechtigung_kurzbz
|
||||
&& $b->negativ
|
||||
&& (is_null($oe_kurzbz) || ($b->kostenstelle_id=='' && ($b->oe_kurzbz=='' || $oe_kurzbz==$b->oe_kurzbz || $oe->isChild($b->oe_kurzbz, $oe_kurzbz))))
|
||||
&& (is_null($kostenstelle_id) || $kostenstelle_id==$b->kostenstelle_id))
|
||||
{
|
||||
if (($timestamp>$b->starttimestamp || $b->starttimestamp==null)
|
||||
if (($timestamp>$b->starttimestamp || $b->starttimestamp==null)
|
||||
&& ($timestamp<$b->endetimestamp || $b->endetimestamp==null))
|
||||
{
|
||||
$this->errormsg='Access denied! You need permission '.strtoupper($berechtigung_kurzbz).' '.($oe_kurzbz!=null?'in '.strtoupper($oe_kurzbz):'').' '.($art!=null?'with '.strtoupper($art):'');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if($b->berechtigung_kurzbz==$berechtigung_kurzbz
|
||||
&& (is_null($art) || mb_strstr($b->art, $art))
|
||||
&& (is_null($oe_kurzbz) || ($b->kostenstelle_id=='' && ($b->oe_kurzbz=='' || $oe_kurzbz==$b->oe_kurzbz || $oe->isChild($b->oe_kurzbz, $oe_kurzbz))))
|
||||
&& (is_null($kostenstelle_id) || $kostenstelle_id==$b->kostenstelle_id))
|
||||
{
|
||||
if (($timestamp>$b->starttimestamp || $b->starttimestamp==null)
|
||||
if (($timestamp>$b->starttimestamp || $b->starttimestamp==null)
|
||||
&& ($timestamp<$b->endetimestamp || $b->endetimestamp==null))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Kostenstellenrecht ueber Organisationseinheit
|
||||
if($kostenstelle_id!='')
|
||||
{
|
||||
//Kostenstelle laden und schauen, ob auf die Organisationseinheit der Kostenstelle
|
||||
//Kostenstelle laden und schauen, ob auf die Organisationseinheit der Kostenstelle
|
||||
//die Berechtigung vorhanden ist
|
||||
$kostenstelle = new wawi_kostenstelle();
|
||||
if($kostenstelle->load($kostenstelle_id))
|
||||
{
|
||||
return $this->isBerechtigt($berechtigung_kurzbz, $kostenstelle->oe_kurzbz, $art);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg='Cost center (ID '.$kostenstelle_id.') does not exist';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//wenn ein Doppelpunkt vorkommt, pruefen ob das Uebergeordnete vorhanden ist
|
||||
@@ -572,34 +593,34 @@ class benutzerberechtigung extends basis_db
|
||||
$this->errormsg='Access denied! You need permission '.strtoupper($berechtigung_kurzbz).' '.($oe_kurzbz!=null?'in '.strtoupper($oe_kurzbz):'').' '.($art!=null?'with '.strtoupper($art):'');
|
||||
return false;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
return $this->isBerechtigt(substr($berechtigung_kurzbz,0,$pos-1), $oe_kurzbz, $art, $kostenstelle_id);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob die Berechtigung zumindest fuer eine der angegebenen OE vorhanden ist.
|
||||
* @param $berechtigung_kurzbz
|
||||
* @param $oe_kurzbz
|
||||
* @param $art
|
||||
* @param $kostenstelle_id
|
||||
* @return boolean
|
||||
*/
|
||||
public function isBerechtigtMultipleOe($berechtigung_kurzbz, $oe_kurzbz, $art=null, $kostenstelle_id=null)
|
||||
{
|
||||
$results = array();
|
||||
|
||||
foreach($oe_kurzbz as $value)
|
||||
{
|
||||
$results[] = $this->isBerechtigt($berechtigung_kurzbz, $value, $art, $kostenstelle_id);
|
||||
}
|
||||
|
||||
if(!in_array(true, $results))
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob die Berechtigung zumindest fuer eine der angegebenen OE vorhanden ist.
|
||||
* @param $berechtigung_kurzbz
|
||||
* @param $oe_kurzbz
|
||||
* @param $art
|
||||
* @param $kostenstelle_id
|
||||
* @return boolean
|
||||
*/
|
||||
public function isBerechtigtMultipleOe($berechtigung_kurzbz, $oe_kurzbz, $art=null, $kostenstelle_id=null)
|
||||
{
|
||||
$results = array();
|
||||
|
||||
foreach($oe_kurzbz as $value)
|
||||
{
|
||||
$results[] = $this->isBerechtigt($berechtigung_kurzbz, $value, $art, $kostenstelle_id);
|
||||
}
|
||||
|
||||
if(!in_array(true, $results))
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob die Person Fixangestellt ist
|
||||
@@ -626,7 +647,7 @@ class benutzerberechtigung extends basis_db
|
||||
$not='';
|
||||
$all=false;
|
||||
$oe = new organisationseinheit();
|
||||
|
||||
|
||||
foreach ($this->berechtigungen as $b)
|
||||
{
|
||||
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || $berechtigung_kurzbz==null || mb_substr($berechtigung_kurzbz,0,mb_strpos($berechtigung_kurzbz,':'))==$b->berechtigung_kurzbz)
|
||||
@@ -641,18 +662,18 @@ class benutzerberechtigung extends basis_db
|
||||
foreach($childoes as $row)
|
||||
$not .="'".$this->db_escape($row)."',";
|
||||
}
|
||||
else
|
||||
else
|
||||
return array();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if(!is_null($b->oe_kurzbz))
|
||||
{
|
||||
$childoes = $oe->getChilds($b->oe_kurzbz);
|
||||
foreach($childoes as $row)
|
||||
$in .= "'".$this->db_escape($row)."',";
|
||||
$in .= "'".$this->db_escape($row)."',";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//Wenn NULL dann berechtigung auf alles
|
||||
$all = true;
|
||||
@@ -661,7 +682,7 @@ class benutzerberechtigung extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(!$all)
|
||||
{
|
||||
if($in=='')
|
||||
@@ -669,24 +690,24 @@ class benutzerberechtigung extends basis_db
|
||||
else
|
||||
$in = ' AND oe_kurzbz IN('.mb_substr($in,0, mb_strlen($in)-1).')';
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$in='';
|
||||
$not='';
|
||||
}
|
||||
|
||||
|
||||
if($not!='')
|
||||
$not = ' AND oe_kurzbz NOT IN('.mb_substr($not,0, mb_strlen($not)-1).')';
|
||||
|
||||
|
||||
$qry = "SELECT studiengang_kz FROM public.tbl_studiengang WHERE 1=1 $in $not";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
while($row = $this->db_fetch_object())
|
||||
$studiengang_kz[]=$row->studiengang_kz;
|
||||
|
||||
$studiengang_kz[]=$row->studiengang_kz;
|
||||
|
||||
$studiengang_kz=array_unique($studiengang_kz);
|
||||
sort($studiengang_kz);
|
||||
|
||||
|
||||
return $studiengang_kz;
|
||||
}
|
||||
|
||||
@@ -704,7 +725,7 @@ class benutzerberechtigung extends basis_db
|
||||
$not='';
|
||||
$all=false;
|
||||
$oe = new organisationseinheit();
|
||||
|
||||
|
||||
foreach ($this->berechtigungen as $b)
|
||||
{
|
||||
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || $berechtigung_kurzbz==null || mb_substr($berechtigung_kurzbz,0,mb_strpos($berechtigung_kurzbz,':'))==$b->berechtigung_kurzbz)
|
||||
@@ -719,18 +740,18 @@ class benutzerberechtigung extends basis_db
|
||||
foreach($childoes as $row)
|
||||
$not .="'".$this->db_escape($row)."',";
|
||||
}
|
||||
else
|
||||
else
|
||||
return array();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if(!is_null($b->oe_kurzbz))
|
||||
{
|
||||
$childoes = $oe->getChilds($b->oe_kurzbz);
|
||||
foreach($childoes as $row)
|
||||
$in .= "'".$this->db_escape($row)."',";
|
||||
$in .= "'".$this->db_escape($row)."',";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//Wenn NULL dann berechtigung auf alles
|
||||
$all = true;
|
||||
@@ -739,7 +760,7 @@ class benutzerberechtigung extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(!$all)
|
||||
{
|
||||
if($in=='')
|
||||
@@ -747,25 +768,25 @@ class benutzerberechtigung extends basis_db
|
||||
else
|
||||
$in = ' AND oe_kurzbz IN('.mb_substr($in,0, mb_strlen($in)-1).')';
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$in='';
|
||||
}
|
||||
|
||||
|
||||
if($not!='')
|
||||
$not = ' AND oe_kurzbz NOT IN('.mb_substr($not,0, mb_strlen($not)-1).')';
|
||||
|
||||
|
||||
$qry = "SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE 1=1 $in $not";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
while($row = $this->db_fetch_object())
|
||||
$fachbereich_kurzbz[]=$row->fachbereich_kurzbz;
|
||||
|
||||
$fachbereich_kurzbz[]=$row->fachbereich_kurzbz;
|
||||
|
||||
$fachbereich_kurzbz=array_unique($fachbereich_kurzbz);
|
||||
sort($fachbereich_kurzbz);
|
||||
return $fachbereich_kurzbz;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gibt Array mit den Organisationseinheiten zurueck fuer welche die
|
||||
* Person eine Berechtigung besitzt.
|
||||
@@ -792,16 +813,16 @@ class benutzerberechtigung extends basis_db
|
||||
foreach($childoes as $row)
|
||||
$not[] = $row;
|
||||
}
|
||||
else
|
||||
else
|
||||
return array();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if($b->kostenstelle_id != '')
|
||||
{
|
||||
$kst = new wawi_kostenstelle();
|
||||
$kst = new wawi_kostenstelle();
|
||||
$kst->load($b->kostenstelle_id);
|
||||
$oe_kurzbz[] = $kst->oe_kurzbz;
|
||||
$oe_kurzbz[] = $kst->oe_kurzbz;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -811,7 +832,7 @@ class benutzerberechtigung extends basis_db
|
||||
foreach($childoes as $row)
|
||||
$oe_kurzbz[] = $row;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$all=true;
|
||||
break;
|
||||
@@ -820,7 +841,7 @@ class benutzerberechtigung extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if($all)
|
||||
{
|
||||
$oe->loadParentsArray();
|
||||
@@ -831,7 +852,7 @@ class benutzerberechtigung extends basis_db
|
||||
sort($oe_kurzbz);
|
||||
return $oe_kurzbz;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gibt Array mit den Kostenstellen zurueck fuer welche die
|
||||
* Person eine Berechtigung besitzt.
|
||||
@@ -852,7 +873,7 @@ class benutzerberechtigung extends basis_db
|
||||
{
|
||||
if(!mb_strstr($b->berechtigung_kurzbz,'wawi/'))
|
||||
continue;
|
||||
|
||||
|
||||
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || $berechtigung_kurzbz==null || mb_substr($berechtigung_kurzbz,0,mb_strpos($berechtigung_kurzbz,':'))==$b->berechtigung_kurzbz)
|
||||
&& (($timestamp>$b->starttimestamp || $b->starttimestamp==null) && ($timestamp<$b->endetimestamp || $b->endetimestamp==null)))
|
||||
{
|
||||
@@ -869,10 +890,10 @@ class benutzerberechtigung extends basis_db
|
||||
{
|
||||
$not_id[] = $b->kostenstelle_id;
|
||||
}
|
||||
else
|
||||
else
|
||||
return array();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if($b->oe_kurzbz!='')
|
||||
{
|
||||
@@ -891,9 +912,9 @@ class benutzerberechtigung extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
$qry = "SELECT distinct kostenstelle_id FROM wawi.tbl_kostenstelle";
|
||||
|
||||
if(!$all)
|
||||
@@ -901,7 +922,7 @@ class benutzerberechtigung extends basis_db
|
||||
if(count($kst_id)==0 && count($oe_kurzbz)==0)
|
||||
return array();
|
||||
$qry.="
|
||||
WHERE
|
||||
WHERE
|
||||
(";
|
||||
if(count($kst_id)>0)
|
||||
$qry.=" kostenstelle_id IN(".$this->db_implode4SQL($kst_id).")";
|
||||
@@ -933,7 +954,7 @@ class benutzerberechtigung extends basis_db
|
||||
* Organisationseinheit sind.
|
||||
* Es werden nur die Benutzer zurückgeliefert die genau auf diese Organisationseinheit das Freigaberecht haben
|
||||
* Uebergeordnete Benutzer werden nicht geliefert
|
||||
*
|
||||
*
|
||||
* @param $kostenstelle_id
|
||||
* @param $oe_kurzbz
|
||||
*/
|
||||
@@ -944,52 +965,52 @@ class benutzerberechtigung extends basis_db
|
||||
$this->errormsg = 'Kostenstelle und Organisationseinheit darf nicht gleichzeitig leer sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($kostenstelle_id!='' && $oe_kurzbz!='')
|
||||
{
|
||||
$this->errormsg = 'Kostenstelle und Organisationseinheit darf nicht gleichzeitig gesetzt sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$where = '';
|
||||
if($kostenstelle_id!='')
|
||||
$where.=" kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER);
|
||||
elseif($oe_kurzbz!='')
|
||||
$where.=" oe_kurzbz=".$this->db_add_param($oe_kurzbz);
|
||||
$where .=" AND berechtigung_kurzbz='wawi/freigabe'";
|
||||
$where .=" AND (start<=now() OR start is null) AND (ende>=now() OR ende is null)";
|
||||
$where .=" AND (start<=now() OR start is null) AND (ende>=now() OR ende is null)";
|
||||
|
||||
|
||||
$qry = "SELECT uid, negativ FROM system.tbl_benutzerrolle WHERE ".$where;
|
||||
$qry .= " UNION
|
||||
SELECT uid, negativ
|
||||
FROM
|
||||
|
||||
$qry = "SELECT uid, negativ FROM system.tbl_benutzerrolle WHERE ".$where;
|
||||
$qry .= " UNION
|
||||
SELECT uid, negativ
|
||||
FROM
|
||||
system.tbl_benutzerrolle
|
||||
JOIN system.tbl_rolle USING(rolle_kurzbz)
|
||||
JOIN system.tbl_rolleberechtigung USING(berechtigung_kurzbz)
|
||||
WHERE ".$where;
|
||||
|
||||
|
||||
$freigabebenutzer=array();
|
||||
$not = array();
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
if($this->db_parse_bool($row->negativ)==true)
|
||||
$not[]=$row->uid;
|
||||
$not[]=$row->uid;
|
||||
$freigabebenutzer[]=$row->uid;
|
||||
}
|
||||
|
||||
|
||||
return array_diff($freigabebenutzer,$not);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der FreigabeBenutzer';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert alle User mit deren Rechte fuer eine Kostenstelle
|
||||
* @param $kostenstelle_id ID der Kostenstelle
|
||||
@@ -997,42 +1018,43 @@ class benutzerberechtigung extends basis_db
|
||||
*/
|
||||
public function getKostenstelleUser($kostenstelle_id)
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct uid, a.art,
|
||||
CASE WHEN a.berechtigung_kurzbz is null
|
||||
THEN tbl_rolleberechtigung.berechtigung_kurzbz
|
||||
$qry = "SELECT
|
||||
distinct uid, a.art,
|
||||
CASE WHEN a.berechtigung_kurzbz is null
|
||||
THEN tbl_rolleberechtigung.berechtigung_kurzbz
|
||||
ELSE a.berechtigung_kurzbz END as berechtigung_kurzbz
|
||||
FROM
|
||||
(
|
||||
SELECT * FROM system.tbl_benutzerrolle WHERE kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER)."
|
||||
UNION
|
||||
UNION
|
||||
SELECT * FROM system.tbl_benutzerrolle WHERE
|
||||
oe_kurzbz = (SELECT oe_kurzbz FROM wawi.tbl_kostenstelle WHERE kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER).")
|
||||
oe_kurzbz = (SELECT oe_kurzbz FROM wawi.tbl_kostenstelle WHERE kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER).")
|
||||
OR oe_kurzbz IN(
|
||||
WITH RECURSIVE oes(oe_parent_kurzbz) as
|
||||
WITH RECURSIVE oes(oe_parent_kurzbz) as
|
||||
(
|
||||
SELECT oe_parent_kurzbz FROM public.tbl_organisationseinheit
|
||||
SELECT oe_parent_kurzbz FROM public.tbl_organisationseinheit
|
||||
WHERE oe_kurzbz=(SELECT oe_kurzbz FROM wawi.tbl_kostenstelle WHERE kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER).")
|
||||
UNION ALL
|
||||
SELECT o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
|
||||
SELECT o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
|
||||
WHERE o.oe_kurzbz=oes.oe_parent_kurzbz
|
||||
)
|
||||
SELECT oe_parent_kurzbz
|
||||
FROM oes)
|
||||
) as a
|
||||
LEFT JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
|
||||
WHERE (start is null OR start<=now()) AND (ende is null OR ende>=now()) AND negativ=false";
|
||||
|
||||
JOIN public.tbl_benutzer USING(uid)
|
||||
WHERE tbl_benutzer.aktiv AND (start is null OR start<=now()) AND (ende is null OR ende>=now()) AND negativ=false";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new benutzerberechtigung();
|
||||
|
||||
|
||||
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
|
||||
$obj->uid = $row->uid;
|
||||
$obj->art = $row->art;
|
||||
|
||||
|
||||
$this->berechtigungen[] = $obj;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,22 @@
|
||||
*
|
||||
* Authors: Andreas Moik <moik@technikum-wien.at>
|
||||
*/
|
||||
//require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
|
||||
|
||||
/*
|
||||
Meta Include für JQuery Tablesorter
|
||||
require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
|
||||
Usage:
|
||||
<script language="Javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[0,0]],
|
||||
widgets: ["zebra"],
|
||||
headers: {1:{sorter: false}}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
*/
|
||||
$dr = DOC_ROOT;
|
||||
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
|
||||
if($dr=='')
|
||||
@@ -26,10 +40,8 @@ if($dr=='')
|
||||
|
||||
//Originaldateien des Herstellers
|
||||
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'vendor/FHC-vendor/jquery-tablesorter/css/theme.default.css">';
|
||||
|
||||
echo '<script src="'.$dr.'vendor/FHC-vendor/jquery-tablesorter/js/jquery.tablesorter.js"></script>';
|
||||
|
||||
|
||||
//Anpassungen
|
||||
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'include/vendor_custom/jquery-tablesorter/tablesort.css">';
|
||||
|
||||
|
||||
@@ -2,22 +2,22 @@
|
||||
|
||||
/*
|
||||
* Copyright 2014 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: Stefan Puraner <puraner@technikum-wien.at>
|
||||
*/
|
||||
@@ -27,7 +27,7 @@ require_once(dirname(__FILE__) . '/basis_db.class.php');
|
||||
class pruefungsanmeldung extends basis_db {
|
||||
public $new;
|
||||
public $result = array();
|
||||
|
||||
|
||||
public $pruefungsanmeldung_id; //bigint
|
||||
public $uid; //varchar(32)
|
||||
public $pruefungstermin_id; //bigint
|
||||
@@ -40,12 +40,13 @@ class pruefungsanmeldung extends basis_db {
|
||||
public $statusupdateamum; //timestamp
|
||||
public $anrechnung_id; //integer
|
||||
public $pruefungstyp_kurzbz; //varchar(32)
|
||||
|
||||
public $insertamum; // timestamp
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param pruefung_id ID der zu ladenden Prüfung
|
||||
*/
|
||||
public function __construct($pruefungsanmeldung_id = null)
|
||||
public function __construct($pruefungsanmeldung_id = null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
@@ -80,7 +81,7 @@ class pruefungsanmeldung extends basis_db {
|
||||
{
|
||||
return $this->$name;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* speichert eine Prüfungsanmeldung
|
||||
* @param type $new
|
||||
@@ -90,7 +91,7 @@ class pruefungsanmeldung extends basis_db {
|
||||
{
|
||||
if ($new == null)
|
||||
$new = $this->new;
|
||||
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = 'INSERT INTO campus.tbl_pruefungsanmeldung (uid, pruefungstermin_id, lehrveranstaltung_id, status_kurzbz, wuensche, reihung, kommentar, anrechnung_id, pruefungstyp_kurzbz) VALUES ('
|
||||
@@ -118,7 +119,7 @@ class pruefungsanmeldung extends basis_db {
|
||||
. 'pruefungstyp_kurzbz='.$this->db_add_param($this->pruefungstyp_kurzbz)
|
||||
. ' WHERE pruefungsanmeldung_id='.$this->db_add_param($this->pruefungsanmeldung_id).';';
|
||||
}
|
||||
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
@@ -129,7 +130,7 @@ class pruefungsanmeldung extends basis_db {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Lädt eine Prüfungsanmeldung
|
||||
* @param type $pruefungsanmeldung_id
|
||||
@@ -142,9 +143,9 @@ class pruefungsanmeldung extends basis_db {
|
||||
$this->errormsg = "Anmeldung ID muss eine gültige Zahl sein";
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id).';';
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Anmeldungsdaten konnten nicht geladen werden.';
|
||||
@@ -166,11 +167,12 @@ class pruefungsanmeldung extends basis_db {
|
||||
$this->statusupdatevon = $row->statusupdatevon;
|
||||
$this->anrechnung_id = $row->anrechnung_id;
|
||||
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
|
||||
$this->insertamum = $row->insertamum;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Lädt alle Prüfungsanmeldungen eines Studenten
|
||||
* @param type $uid UID eines Studenten
|
||||
@@ -184,14 +186,14 @@ class pruefungsanmeldung extends basis_db {
|
||||
. 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
|
||||
. 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
|
||||
. 'WHERE uid='.$this->db_add_param($uid);
|
||||
|
||||
|
||||
if($studiensemester_kurzbz != null)
|
||||
{
|
||||
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz);
|
||||
}
|
||||
|
||||
|
||||
$qry .= ';';
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Anmeldungen konnten nicht geladen werden.';
|
||||
@@ -223,9 +225,9 @@ class pruefungsanmeldung extends basis_db {
|
||||
return $anmeldungen;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Lädt alle Anmeldungen eines Prüfungstermins
|
||||
* Lädt alle Anmeldungen eines Prüfungstermins
|
||||
* @param type $pruefungstermin_id ID des Prüfungstermins
|
||||
* @param type $lehrveranstaltung_id Filter nach Lehrveranstaltung
|
||||
* @param type $studiensemester_kurbz Filter nach Studiensemester (zB 'WS2013')
|
||||
@@ -234,23 +236,23 @@ class pruefungsanmeldung extends basis_db {
|
||||
*/
|
||||
public function getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id=null, $studiensemester_kurbz=null, $status_kurzbz=null)
|
||||
{
|
||||
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
|
||||
$qry = 'SELECT *, pa.insertamum as datum_anmeldung FROM campus.tbl_pruefungsanmeldung pa '
|
||||
. 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
|
||||
. 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
|
||||
. 'WHERE pa.pruefungstermin_id='.$this->db_add_param($pruefungstermin_id);
|
||||
|
||||
|
||||
if($lehrveranstaltung_id !== null)
|
||||
{
|
||||
$qry .= ' AND lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id);
|
||||
}
|
||||
|
||||
|
||||
if($status_kurzbz !== null)
|
||||
{
|
||||
$qry .= ' AND status_kurzbz='.$this->db_add_param($status_kurzbz);
|
||||
}
|
||||
$qry .=' ORDER BY reihung';
|
||||
$qry .=';';
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = "Anmeldungen konnten nicht geladen werden.";
|
||||
@@ -277,12 +279,13 @@ class pruefungsanmeldung extends basis_db {
|
||||
$anmeldung->statusupdatevon = $row->statusupdatevon;
|
||||
$anmeldung->anrechnung_id = $row->anrechnung_id;
|
||||
$anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
|
||||
$anmeldung->datum_anmeldung = $row->datum_anmeldung;
|
||||
array_push($anmeldungen, $anmeldung);
|
||||
}
|
||||
return $anmeldungen;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Löscht eine Prüfungsanmeldung
|
||||
* @param type $pruefungsanmeldung_id ID der Prüfungsanmeldung
|
||||
@@ -292,14 +295,14 @@ class pruefungsanmeldung extends basis_db {
|
||||
public function delete($pruefungsanmeldung_id, $uid=null)
|
||||
{
|
||||
$qry = 'DELETE FROM campus.tbl_pruefungsanmeldung WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id);
|
||||
|
||||
|
||||
if(!is_null($uid))
|
||||
{
|
||||
$qry .= ' AND uid='.$this->db_add_param($uid);
|
||||
}
|
||||
|
||||
|
||||
$qry .= ' ;';
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
@@ -310,7 +313,7 @@ class pruefungsanmeldung extends basis_db {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* speichert die Reihung eines Anmeldungstermins
|
||||
* WICHTIG: Auf den Aufbau des übergebenen arrays muss geachtet werden
|
||||
@@ -348,8 +351,8 @@ class pruefungsanmeldung extends basis_db {
|
||||
$this->errormsg = "No Array";
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Ändert den Status einer Prüfungsanmeldung
|
||||
* @param type $pruefungsanmeldung_id ID der Prüfungsanmeldung
|
||||
@@ -363,7 +366,7 @@ class pruefungsanmeldung extends basis_db {
|
||||
. 'statusupdatevon='.$this->db_add_param($user).', '
|
||||
. 'statusupdateamum=NOW() '
|
||||
. ' WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id).';';
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Status konnte nicht geändert werden.';
|
||||
|
||||
@@ -229,7 +229,7 @@ $menu=array
|
||||
'name'=>'Admin', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('basis/cronjob'), 'image'=>'vilesci_admin.png',
|
||||
'link'=>'left.php?categorie=Admin', 'target'=>'nav',
|
||||
'Cronjobs'=>array('name'=>'Cronjobs', 'link'=>'stammdaten/cronjobverwaltung.php', 'target'=>'main','permissions'=>array('basis/cronjob')),
|
||||
'Vorlagen'=>array('name'=>'Vorlagen', 'link'=>'../index.ci.php/system/Templates', 'target'=>'main','permissions'=>array('basis/cronjob')),
|
||||
'Vorlagen'=>array('name'=>'Vorlagen', 'link'=>'../index.ci.php/system/Vorlage', 'target'=>'main','permissions'=>array('basis/cronjob')),
|
||||
'Messages'=>array('name'=>'Nachrichten', 'link'=>'../index.ci.php/system/Messages', 'target'=>'main','permissions'=>array('basis/cronjob')),
|
||||
'Phrasen'=>array('name'=>'Phrasen', 'link'=>'../index.ci.php/system/Phrases', 'target'=>'main','permissions'=>array('basis/cronjob'))
|
||||
),
|
||||
|
||||
+224
-274
File diff suppressed because it is too large
Load Diff
@@ -285,7 +285,8 @@ class zeugnisnote extends basis_db
|
||||
vw_student_lehrveranstaltung.sort,
|
||||
vw_student_lehrveranstaltung.zeugnis,
|
||||
vw_student_lehrveranstaltung.studiengang_kz,
|
||||
vw_student_lehrveranstaltung.lv_lehrform_kurzbz
|
||||
vw_student_lehrveranstaltung.lv_lehrform_kurzbz,
|
||||
tbl_lehrveranstaltung.sws
|
||||
FROM
|
||||
(
|
||||
campus.vw_student_lehrveranstaltung LEFT JOIN lehre.tbl_zeugnisnote
|
||||
@@ -294,13 +295,14 @@ class zeugnisnote extends basis_db
|
||||
AND vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id
|
||||
)
|
||||
) LEFT JOIN lehre.tbl_note USING(note)
|
||||
JOIN lehre.tbl_lehrveranstaltung ON(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id)
|
||||
WHERE true $where
|
||||
UNION
|
||||
SELECT lehre.tbl_lehrveranstaltung.lehrveranstaltung_id,student_uid AS uid,studiensemester_kurzbz, note, punkte,
|
||||
uebernahmedatum, benotungsdatum,lehre.tbl_lehrveranstaltung.ects,lehre.tbl_lehrveranstaltung.semesterstunden, tbl_zeugnisnote.updateamum, tbl_zeugnisnote.updatevon, tbl_zeugnisnote.insertamum,
|
||||
tbl_zeugnisnote.insertvon, tbl_zeugnisnote.ext_id, lehre.tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, lehre.tbl_lehrveranstaltung.bezeichnung_english as lehrveranstaltung_bezeichnung_english,
|
||||
tbl_note.bezeichnung as note_bezeichnung, tbl_zeugnisnote.bemerkung as bemerkung, tbl_lehrveranstaltung.sort, tbl_lehrveranstaltung.zeugnis, tbl_lehrveranstaltung.studiengang_kz,
|
||||
tbl_lehrveranstaltung.lehrform_kurzbz as lv_lehrform_kurzbz
|
||||
tbl_lehrveranstaltung.lehrform_kurzbz as lv_lehrform_kurzbz, tbl_lehrveranstaltung.sws
|
||||
FROM
|
||||
lehre.tbl_zeugnisnote
|
||||
JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
|
||||
@@ -336,6 +338,7 @@ class zeugnisnote extends basis_db
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->zeugnis = $this->db_parse_bool($row->zeugnis);
|
||||
$obj->lv_lehrform_kurzbz = $row->lv_lehrform_kurzbz;
|
||||
$obj->sws = $row->sws;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user