mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
This commit is contained in:
+15
-14
@@ -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>.
|
||||
*/
|
||||
@@ -25,8 +25,9 @@ class datum
|
||||
var $conn; // resource DB-Handle
|
||||
var $errormsg; // string
|
||||
var $new; // boolean
|
||||
var $ts_day=86400; // Timestamp eines Tages
|
||||
var $result = array(); // studiensemester Objekt
|
||||
|
||||
|
||||
function datum()
|
||||
{
|
||||
}
|
||||
@@ -36,61 +37,61 @@ class datum
|
||||
* Format "31.12.2007 14:30"
|
||||
*/
|
||||
function mktime_datumundzeit($datumundzeit)
|
||||
{
|
||||
{
|
||||
if(ereg("([0-9]{2}).([0-9]{2}).([0-9]{4}) ([0-9]{2}):([0-9]{2})",$datumundzeit, $regs))
|
||||
return mktime($regs[4],$regs[5],0,$regs[2],$regs[1],$regs[3]);
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Falsches Datumsformat';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert einen UNIX Timestamp von einem String im
|
||||
* Format "31.12.2007"
|
||||
*/
|
||||
function mktime_datum($datum)
|
||||
{
|
||||
{
|
||||
if(ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})",$datum, $regs))
|
||||
{
|
||||
return mktime(0,0,0,$regs[2],$regs[1],$regs[3]);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Falsches Datumsformat';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert einen UNIX Timestamp von einem Datum im
|
||||
* Format "2007-01-31"
|
||||
*/
|
||||
function mktime_fromdate($datum)
|
||||
{
|
||||
{
|
||||
if(ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$datum, $regs))
|
||||
{
|
||||
return mktime(0,0,0,$regs[2],$regs[3],$regs[1]);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Falsches Datumsformat';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert einen UNIX Timestamp von einem String im
|
||||
* Format "2007-01-31 14:30:12"
|
||||
*/
|
||||
function mktime_fromtimestamp($timestamp)
|
||||
{
|
||||
{
|
||||
if(ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$timestamp, $regs))
|
||||
{
|
||||
{
|
||||
return mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[3],$regs[1]);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Falsches Datumsformat';
|
||||
return false;
|
||||
|
||||
@@ -65,7 +65,7 @@ class mitarbeiter extends benutzer
|
||||
{
|
||||
if(!benutzer::load($uid))
|
||||
return false;
|
||||
|
||||
|
||||
$qry = "SELECT * FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='$uid'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
@@ -82,19 +82,19 @@ class mitarbeiter extends benutzer
|
||||
$this->ext_id_mitarbeiter = $row->ext_id;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Kein Eintrag gefunden fuer $uid\n";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler beim Laden: $qry\n";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************
|
||||
// * ueberprueft die Variablen auf Gueltigkeit
|
||||
// * @return true wenn gueltig, false im Fehlerfall
|
||||
@@ -177,7 +177,7 @@ class mitarbeiter extends benutzer
|
||||
if($this->new)
|
||||
{
|
||||
|
||||
//Neuen Datensatz anlegen
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = "INSERT INTO public.tbl_mitarbeiter(mitarbeiter_uid, ausbildungcode, personalnummer, kurzbz, lektor, ort_kurzbz,
|
||||
fixangestellt, standort_kurzbz, telefonklappe, updateamum, updatevon, ext_id)
|
||||
|
||||
@@ -290,8 +290,8 @@ class mitarbeiter extends benutzer
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
function getMitarbeiterStg($lektor,$fixangestellt,$stge, $fkt_kurzbz)
|
||||
|
||||
function getMitarbeiterStg($lektor,$fixangestellt, $stge, $fkt_kurzbz)
|
||||
{
|
||||
$sql_query='SELECT DISTINCT campus.vw_mitarbeiter.*, tbl_benutzerfunktion.studiengang_kz FROM campus.vw_mitarbeiter
|
||||
JOIN public.tbl_benutzerfunktion USING (uid)
|
||||
@@ -325,7 +325,7 @@ class mitarbeiter extends benutzer
|
||||
if($in!='')
|
||||
$sql_query.=' AND studiengang_kz in (-1'.$in.')';
|
||||
}
|
||||
$sql_query.=' ORDER BY studiengang_kz, nachname, vornamen, kurzbz';
|
||||
$sql_query.=' ORDER BY studiengang_kz, nachname, vorname, kurzbz';
|
||||
//echo $sql_query;
|
||||
|
||||
if(!($erg=pg_query($this->conn, $sql_query)))
|
||||
|
||||
@@ -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>.
|
||||
*/
|
||||
@@ -25,8 +25,8 @@ class zeitsperre
|
||||
var $conn; // @var resource DB-Handle
|
||||
var $new; // @var boolean
|
||||
var $errormsg; // @var string
|
||||
var $result = array(); // @var news Objekt
|
||||
|
||||
var $result = array(); // @var news Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
var $zeitsperre_id; // serial
|
||||
var $zeitsperretyp_kurzbz; // varchar(8)
|
||||
@@ -42,8 +42,8 @@ class zeitsperre
|
||||
var $updatevon; // string
|
||||
var $insertamum; // timestamp
|
||||
var $insertvon; // string
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
@@ -55,25 +55,29 @@ class zeitsperre
|
||||
if($zeitsperre_id != null)
|
||||
$this->load($zeitsperre_id);
|
||||
}
|
||||
|
||||
|
||||
// **********************************
|
||||
// * Laedt alle Zeitsperren bei denen
|
||||
// * ende>=now() ist und uid=$uid
|
||||
// **********************************
|
||||
function getzeitsperren($uid)
|
||||
{
|
||||
$qry = "SELECT * FROM campus.tbl_zeitsperre WHERE mitarbeiter_uid='".addslashes($uid)."' AND bisdatum>=now() ORDER BY vondatum";
|
||||
|
||||
unset($this->result);
|
||||
$this->result=array();
|
||||
$qry = "SELECT * FROM campus.tbl_zeitsperre JOIN campus.tbl_zeitsperretyp USING (zeitsperretyp_kurzbz)
|
||||
WHERE mitarbeiter_uid='".addslashes($uid)."' AND bisdatum>=now() ORDER BY vondatum";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
|
||||
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
|
||||
|
||||
$obj = new zeitsperre($this->conn);
|
||||
|
||||
|
||||
$obj->zeitsperre_id = $row->zeitsperre_id;
|
||||
$obj->zeitsperretyp_kurzbz = $row->zeitsperretyp_kurzbz;
|
||||
$obj->zeitsperretyp_beschreibung = $row->beschreibung;
|
||||
$obj->zeitsperretyp_farbe = $row->farbe;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->vondatum = $row->vondatum;
|
||||
@@ -86,18 +90,19 @@ class zeitsperre
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
|
||||
|
||||
$this->result[] = $obj;
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim laden der Zeitsperren';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt eine Zeitsperre
|
||||
* @param $zeitsperre_id ID der zu laden ist
|
||||
@@ -105,21 +110,21 @@ class zeitsperre
|
||||
*/
|
||||
function load($zeitsperre_id)
|
||||
{
|
||||
|
||||
|
||||
if(!is_numeric($zeitsperre_id))
|
||||
{
|
||||
$this->errormsg = 'zeitsperre_id muß eine gültige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$qry = "SELECT * FROM campus.tbl_zeitsperre WHERE zeitsperre_id = '$zeitsperre_id';";
|
||||
|
||||
|
||||
if(!$res = pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($row=pg_fetch_object($res))
|
||||
{
|
||||
$this->zeitsperre_id = $row->zeitsperre_id;
|
||||
@@ -137,15 +142,15 @@ class zeitsperre
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param $zeitsperre_id id des Datensatzes der geloescht werden soll
|
||||
@@ -158,23 +163,23 @@ class zeitsperre
|
||||
$this->errormsg = 'Zeitsperre_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$qry = "DELETE FROM campus.tbl_zeitsperre WHERE zeitsperre_id='$zeitsperre_id'";
|
||||
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function addslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prueft die Gueltigkeit der Variablen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
@@ -201,27 +206,27 @@ class zeitsperre
|
||||
$this->errormsg = "Erreichbarkeit darf nicht laenger als 8 Zeichen sein";
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
//Gueltigkeit der Variablen pruefen
|
||||
if(!$this->checkvars())
|
||||
return false;
|
||||
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
|
||||
//Neuen Datensatz anlegen
|
||||
|
||||
$qry = 'INSERT INTO campus.tbl_zeitsperre (zeitsperretyp_kurzbz, mitarbeiter_uid, bezeichnung,'.
|
||||
' vondatum ,vonstunde, bisdatum, bisstunde, erreichbarkeit, vertretung_uid, insertamum,'.
|
||||
' vondatum ,vonstunde, bisdatum, bisstunde, erreichbarkeit, vertretung_uid, insertamum,'.
|
||||
' insertvon, updateamum, updatevon) VALUES ('.
|
||||
$this->addslashes($this->zeitsperretyp_kurzbz).', '.
|
||||
$this->addslashes($this->mitarbeiter_uid).', '.
|
||||
@@ -237,18 +242,18 @@ class zeitsperre
|
||||
$this->addslashes($this->updateamum).', '.
|
||||
$this->addslashes($this->updatevon).'); ';
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//bestehenden Datensatz akualisieren
|
||||
|
||||
|
||||
//Pruefen ob zeitsperre_id eine gueltige Zahl ist
|
||||
if(!is_numeric($this->zeitsperre_id) || $this->zeitsperre_id == '')
|
||||
{
|
||||
$this->errormsg = 'Zeitsperre_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE campus.tbl_zeitsperre SET '.
|
||||
|
||||
$qry = 'UPDATE campus.tbl_zeitsperre SET '.
|
||||
'zeitsperretyp_kurzbz='.$this->addslashes($this->zeitsperretyp_kurzbz).', '.
|
||||
'mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).', '.
|
||||
'bezeichnung='.$this->addslashes($this->bezeichnung).', '.
|
||||
@@ -264,7 +269,7 @@ class zeitsperre
|
||||
'updatevon='.$this->addslashes($this->updatevon).' '.
|
||||
'WHERE zeitsperre_id = '.$this->addslashes($this->zeitsperre_id).';';
|
||||
}
|
||||
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
return true;
|
||||
@@ -273,7 +278,26 @@ class zeitsperre
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert ZeitsperreTypen eines Tages
|
||||
* @return string wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function getTyp($datum)
|
||||
{
|
||||
$datum_obj=new datum();
|
||||
$typ='';
|
||||
foreach ($this->result as $zs)
|
||||
{
|
||||
$beginn=$datum_obj->mktime_fromdate($zs->vondatum);
|
||||
$ende=$datum_obj->mktime_fromdate($zs->bisdatum);
|
||||
if ($datum>$beginn && $datum<$ende)
|
||||
$typ.=$zs->zeitsperretyp_kurzbz;
|
||||
}
|
||||
return $typ;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user