mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-11 00:59:34 +00:00
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
@@ -26,7 +26,7 @@ class benutzerberechtigung
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $berechtigungen = array(); // benutzerberechtigung Objekt
|
||||
|
||||
|
||||
//Tabellenspalten
|
||||
var $benutzerberechtigung_id; // int
|
||||
var $art; // varchar(16)
|
||||
@@ -39,33 +39,37 @@ class benutzerberechtigung
|
||||
var $ende; // date
|
||||
var $starttimestamp;
|
||||
var $endetimestamp;
|
||||
|
||||
|
||||
//Attribute des Mitarbeiters
|
||||
var $fix;
|
||||
var $lektor;
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
|
||||
// * @param $conn Datenbank-Connection
|
||||
// * $benutzerberechtigung_id
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * $benutzerberechtigung_id
|
||||
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
|
||||
// * oder LATIN9 Codierung verarbeitet werden sollen
|
||||
// *************************************************************************
|
||||
function benutzerberechtigung($conn, $benutzerberechtigung_id=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
||||
else
|
||||
else
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
|
||||
|
||||
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($benutzerberechtigung_id!=null)
|
||||
$this->load($benutzerberechtigung_id);
|
||||
}
|
||||
|
||||
|
||||
// *********************************************************
|
||||
// * Laedt eine Benutzerberechtigung
|
||||
// * @param benutzerberechtigung_id
|
||||
@@ -74,9 +78,9 @@ class benutzerberechtigung
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// *******************************************
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * Prueft die Variablen vor dem Speichern
|
||||
// * auf Gueltigkeit.
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// *******************************************
|
||||
@@ -87,7 +91,7 @@ class benutzerberechtigung
|
||||
$this->errormsg = 'Art darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(strlen($this->fachbereich_kurzbz)>16)
|
||||
{
|
||||
$this->errormsg = 'fachbereich_kurzbz darf nicht laenger als 16 Zeichen sein';
|
||||
@@ -118,13 +122,13 @@ class benutzerberechtigung
|
||||
$this->errormsg = 'UID muss angegeben werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// ************************************************
|
||||
// * wenn $var '' ist wird NULL zurueckgegeben
|
||||
// * wenn $var !='' ist werden Datenbankkritische
|
||||
// * wenn $var !='' ist werden Datenbankkritische
|
||||
// * Zeichen mit Backslash versehen und das Ergbnis
|
||||
// * unter Hochkomma gesetzt.
|
||||
// ************************************************
|
||||
@@ -146,8 +150,8 @@ class benutzerberechtigung
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
$qry = 'INSERT INTO public.tbl_benutzerberechtigung (art, fachbereich_kurzbz, studiengang_kz, berechtigung_kurzbz,
|
||||
{
|
||||
$qry = 'INSERT INTO public.tbl_benutzerberechtigung (art, fachbereich_kurzbz, studiengang_kz, berechtigung_kurzbz,
|
||||
uid, studiensemester_kurzbz, start, ende)
|
||||
VALUES('.$this->addslashes($this->art).','.
|
||||
$this->addslashes($this->fachbereich_kurzbz).','.
|
||||
@@ -183,7 +187,7 @@ class benutzerberechtigung
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************
|
||||
// * Speichert Benutzerberechtigung in die Datenbank
|
||||
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
|
||||
@@ -202,7 +206,7 @@ class benutzerberechtigung
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
//****************************************************************************
|
||||
// * Rueckgabewert ist ein Array mit den Ergebnissen. Bei Fehler false und die
|
||||
// * Fehlermeldung liegt in errormsg.
|
||||
@@ -223,11 +227,11 @@ class benutzerberechtigung
|
||||
$this->errormsg='Fehler beim laden der Berechtigungen';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
while($row=pg_fetch_object($erg))
|
||||
{
|
||||
$b=new benutzerberechtigung($this->conn);
|
||||
|
||||
|
||||
$b->benutzerberechtigung_id = $row->benutzerberechtigung_id;
|
||||
$b->art=$row->art;
|
||||
$b->fachbereich_kurzbz=$row->fachbereich_kurzbz;
|
||||
@@ -244,9 +248,29 @@ class benutzerberechtigung
|
||||
if ($row->ende!=null)
|
||||
$b->endetimestamp=mktime(23,59,59,substr($row->ende,5,2),substr($row->ende,8),substr($row->ende,0,4));
|
||||
|
||||
|
||||
|
||||
$this->berechtigungen[]=$b;
|
||||
}
|
||||
|
||||
// Attribute des Mitarbeiters holen
|
||||
$sql_query="SELECT * FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='$uid'";
|
||||
if(!$erg=pg_query($this->conn, $sql_query))
|
||||
{
|
||||
$this->errormsg='Fehler beim laden der Berechtigungen';
|
||||
return false;
|
||||
}
|
||||
while($row=pg_fetch_object($erg))
|
||||
{
|
||||
if ($row->fixangestellt=='t')
|
||||
$this->fix=true;
|
||||
else
|
||||
$this->fix=false;
|
||||
|
||||
if ($row->lektor=='t')
|
||||
$this->lektor=true;
|
||||
else
|
||||
$this->lektor=false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -270,7 +294,7 @@ class benutzerberechtigung
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Wenn Berechtigung fuer Bestimmte Klasse vorhanden ist
|
||||
if($berechtigung == $b->berechtigung_kurzbz && $studiengang_kz==null && $art==null && $fachbereich_kurzbz==null)
|
||||
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
|
||||
@@ -281,7 +305,7 @@ class benutzerberechtigung
|
||||
else
|
||||
return true;
|
||||
//Wenn Berechtigung fuer Bestimmten Studiengang vorhanden ist
|
||||
if ($berechtigung==$b->berechtigung_kurzbz
|
||||
if ($berechtigung==$b->berechtigung_kurzbz
|
||||
&& ($studiengang_kz==$b->studiengang_kz || $b->studiengang_kz==0) && $art==null && $b->fachbereich_kurzbz==null)
|
||||
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
|
||||
{
|
||||
@@ -290,9 +314,9 @@ class benutzerberechtigung
|
||||
}
|
||||
else
|
||||
return true;
|
||||
//Wenn Berechtigung mit Studiengang und der richtigen BerechtigungsArt (suid) vorhanden ist
|
||||
if ($berechtigung==$b->berechtigung_kurzbz
|
||||
&& ($studiengang_kz==$b->studiengang_kz || $b->studiengang_kz==0)
|
||||
//Wenn Berechtigung mit Studiengang und der richtigen BerechtigungsArt (suid) vorhanden ist
|
||||
if ($berechtigung==$b->berechtigung_kurzbz
|
||||
&& ($studiengang_kz==$b->studiengang_kz || $b->studiengang_kz==0)
|
||||
&& strstr($b->art,$art))
|
||||
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
|
||||
{
|
||||
@@ -305,6 +329,14 @@ class benutzerberechtigung
|
||||
return false;
|
||||
}
|
||||
|
||||
function isFix()
|
||||
{
|
||||
if ($this->fix)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
// ********************************************************************
|
||||
// * Gibt Array mit Kennzahlen der Studiengaenge sortiert zurueck.
|
||||
// * Optional wird auf Berechtigung eingeschraenkt.
|
||||
@@ -314,7 +346,7 @@ class benutzerberechtigung
|
||||
{
|
||||
$studiengang_kz=array();
|
||||
$timestamp=time();
|
||||
|
||||
|
||||
foreach ($this->berechtigungen as $b)
|
||||
if ($berechtigung==$b->berechtigung_kurzbz || $berechtigung==null)
|
||||
if($b->fachbereich_kurzbz==null)
|
||||
@@ -323,7 +355,7 @@ class benutzerberechtigung
|
||||
sort($studiengang_kz);
|
||||
return $studiengang_kz;
|
||||
}
|
||||
|
||||
|
||||
function getFbKz($berechtigung=null)
|
||||
{
|
||||
$fachbereichs_kz=array();
|
||||
|
||||
+15
-1
@@ -111,7 +111,21 @@ class datum
|
||||
$datum+=3600;
|
||||
return $datum;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Springt von einen UNIX Timestamp ($datum) $days nach vor bzw. hinten
|
||||
*/
|
||||
function jump_day($datum, $days)
|
||||
{
|
||||
$stunde_vor=date("G",$datum);
|
||||
// Ein Tag sind 86400 Sekunden
|
||||
$datum+=86400*$days;
|
||||
$stunde_nach=date("G",$datum);
|
||||
if ($stunde_nach!=$stunde_vor)
|
||||
$datum+=3600;
|
||||
return $datum;
|
||||
}
|
||||
|
||||
/**
|
||||
* Konvertiert das ISO Datumsformat (YYYY-MM-DD)
|
||||
* nach (DD.MM.YYYY)
|
||||
|
||||
Reference in New Issue
Block a user