mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-28 17:39:28 +00:00
- MitarbeiterModul FASo
- Jahresplan aktualisiert
This commit is contained in:
@@ -1,4 +1,25 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
function db_query($conn, $sql_query)
|
||||
{
|
||||
if (!$result=pg_query($conn, $sql_query))
|
||||
@@ -109,7 +130,7 @@ function jump_week($datum, $wochen)
|
||||
}
|
||||
|
||||
function jahreskalenderjump($link)
|
||||
{
|
||||
{
|
||||
$crlf=crlf();
|
||||
$datum=mktime();
|
||||
$woche=kalenderwoche($datum);
|
||||
@@ -201,4 +222,19 @@ function getStudiensemesterFromDatum($conn, $datum, $naechstes=true)
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
// ***************************************************************
|
||||
// * Diese Funktion liefert sowohl bei UTF-8 als auch
|
||||
// * bei Latin9 die richtige Anzahl der Zeichen
|
||||
// * (das normale strlen liefert bei UTF-8 Zeichen falsche Werte.)
|
||||
// ***************************************************************
|
||||
function utf8_strlen($str)
|
||||
{
|
||||
$count = 0;
|
||||
for ($i = 0; $i < strlen($str); ++$i)
|
||||
if ((ord($str[$i]) & 0xC0) != 0x80)
|
||||
++$count;
|
||||
|
||||
return $count;
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -19,7 +19,11 @@
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Benoetigt: person.class.php
|
||||
* benutzer.class.php
|
||||
* functions.inc.php
|
||||
*/
|
||||
class mitarbeiter extends benutzer
|
||||
{
|
||||
var $new;
|
||||
@@ -36,6 +40,8 @@ class mitarbeiter extends benutzer
|
||||
var $telefonklappe; //varchar(25)
|
||||
var $ort_kurzbz; //varchar(8)
|
||||
var $ext_id_mitarbeiter; //bigint
|
||||
var $stundensatz;
|
||||
var $anmerkung;
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional einen Mitarbeiter
|
||||
@@ -80,11 +86,13 @@ class mitarbeiter extends benutzer
|
||||
$this->ausbildungcode = $row->ausbildungcode;
|
||||
$this->personalnummer = $row->personalnummer;
|
||||
$this->kurzbz = $row->kurzbz;
|
||||
$this->lektor = $row->lektor;
|
||||
$this->fixangestellt = $row->fixangestellt;
|
||||
$this->lektor = ($row->lektor=='t'?true:false);
|
||||
$this->fixangestellt = ($row->fixangestellt=='t'?true:false);
|
||||
$this->standort_kurzbz = $row->standort_kurzbz;
|
||||
$this->telefonklappe = $row->telefonklappe;
|
||||
$this->ort_kurzbz = $row->ort_kurzbz;
|
||||
$this->stundensatz = $row->stundensatz;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->ext_id_mitarbeiter = $row->ext_id;
|
||||
return true;
|
||||
}
|
||||
@@ -107,7 +115,7 @@ class mitarbeiter extends benutzer
|
||||
// ************************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->uid)>16)
|
||||
if(utf8_strlen($this->uid)>16)
|
||||
{
|
||||
$this->errormsg = "ID darf nicht laenger als 16 Zeichen sein\n";
|
||||
return false;
|
||||
@@ -127,12 +135,12 @@ class mitarbeiter extends benutzer
|
||||
$this->errormsg = "Personalnummer muss eine gueltige Zahl sein\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->kurzbz)>8)
|
||||
if(utf8_strlen($this->kurzbz)>8)
|
||||
{
|
||||
$this->errormsg = "kurzbz darf nicht laenger als 8 Zeichen sein\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->ort_kurzbz)>8)
|
||||
if(utf8_strlen($this->ort_kurzbz)>8)
|
||||
{
|
||||
$this->errormsg = "Ort_kurzbz darf nicht laenger als 8 Zeichen sein\n";
|
||||
return false;
|
||||
@@ -147,12 +155,12 @@ class mitarbeiter extends benutzer
|
||||
$this->errormsg = "fixangestellt muss boolean sein\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->telefonklappe)>25)
|
||||
if(utf8_strlen($this->telefonklappe)>25)
|
||||
{
|
||||
$this->errormsg = "telefonklappe darf nicht laenger als 25 Zeichen sein\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->updatevon)>32)
|
||||
if(utf8_strlen($this->updatevon)>32)
|
||||
{
|
||||
$this->errormsg = "updatevon darf nicht laenger als 32 Zeichen sein\n";
|
||||
return false;
|
||||
@@ -185,7 +193,7 @@ class mitarbeiter extends benutzer
|
||||
|
||||
//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)
|
||||
fixangestellt, standort_kurzbz, telefonklappe, anmerkung, stundensatz updateamum, updatevon, ext_id)
|
||||
|
||||
VALUES('".addslashes($this->uid)."',".
|
||||
$this->addslashes($this->ausbildungcode).",".
|
||||
@@ -196,6 +204,8 @@ class mitarbeiter extends benutzer
|
||||
($this->fixangestellt?'true':'false').','.
|
||||
$this->addslashes($this->standort_kurzbz).','.
|
||||
$this->addslashes($this->telefonklappe).','.
|
||||
$this->addslashes($this->anmerkung).','.
|
||||
$this->addslashes($this->stundensatz).','.
|
||||
$this->addslashes($this->updateamum).','.
|
||||
$this->addslashes($this->updatevon).', '.
|
||||
$this->addslashes($this->ext_id_mitarbeiter).');';
|
||||
@@ -212,6 +222,8 @@ class mitarbeiter extends benutzer
|
||||
' standort_kurzbz='.$this->addslashes($this->standort_kurzbz).','.
|
||||
' telefonklappe='.$this->addslashes($this->telefonklappe).','.
|
||||
' ort_kurzbz='.$this->addslashes($this->ort_kurzbz).','.
|
||||
' anmerkung='.$this->addslashes($this->anmerkung).','.
|
||||
' stundensatz='.$this->addslashes($this->stundensatz).','.
|
||||
' updateamum='.$this->addslashes($this->updateamum).','.
|
||||
' updatevon='.$this->addslashes($this->updatevon).','.
|
||||
' ext_id='.$this->addslashes($this->ext_id_mitarbeiter).
|
||||
@@ -510,5 +522,78 @@ class mitarbeiter extends benutzer
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $ausgeschieden, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = "SELECT *, tbl_benutzer.aktiv as aktiv FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)) JOIN public.tbl_person USING(person_id)) LEFT JOIN public.tbl_benutzerfunktion USING(uid) WHERE true";
|
||||
|
||||
if($fix)
|
||||
$qry .= " AND fixangestellt=true";
|
||||
if($stgl)
|
||||
$qry .= " AND funktion_kurzbz='stgl'";
|
||||
if($fbl)
|
||||
$qry .= " AND funktion_kurzbz='fbl'";
|
||||
if($aktiv=='true')
|
||||
$qry .= " AND tbl_benutzer.aktiv=true";
|
||||
if($aktiv=='false')
|
||||
$qry .= " AND tbl_benutzer.aktiv=false";
|
||||
if($karenziert)
|
||||
$qry .= " AND uid IN (SELECT mitarbeiter_uid FROM bis.tbl_bisverwendung WHERE beginn<(SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='$studiensemester_kurzbz') AND ende<(SELECT ende FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='$studiensemester_kurzbz'))";
|
||||
if($ausgeschieden)
|
||||
{
|
||||
//ToDo:
|
||||
}
|
||||
//echo $qry;
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$obj = new mitarbeiter($this->conn, null, null);
|
||||
|
||||
$obj->person_id = $row->person_id;
|
||||
$obj->staatsbuergerschaft = $row->staatsbuergerschaft;
|
||||
$obj->geburtsnation = $row->geburtsnation;
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->anrede = $row->anrede;
|
||||
$obj->titelpost = $row->titelpost;
|
||||
$obj->titelpre = $row->titelpre;
|
||||
$obj->nachname = $row->nachname;
|
||||
$obj->vorname = $row->vorname;
|
||||
$obj->vornamen = $row->vornamen;
|
||||
$obj->gebdatum = $row->gebdatum;
|
||||
$obj->gebort = $row->gebort;
|
||||
$obj->gebzeit = $row->gebzeit;
|
||||
$obj->anmerkungen = $row->anmerkungen;
|
||||
$obj->homepage = $row->anmerkungen;
|
||||
$obj->svnr = $row->svnr;
|
||||
$obj->ersatzkennzeichen = $row->ersatzkennzeichen;
|
||||
$obj->familienstand = $row->familienstand;
|
||||
$obj->geschlecht = $row->geschlecht;
|
||||
$obj->anzahlkinder = $row->anzahlkinder;
|
||||
$obj->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$obj->uid = $row->uid;
|
||||
$obj->personalnummer = $row->personalnummer;
|
||||
$obj->telefonklappe = $row->telefonklappe;
|
||||
$obj->kurzbz = $row->kurzbz;
|
||||
$obj->lektor = ($row->lektor=='t'?true:false);
|
||||
$obj->fixangestellt = ($row->fixangestellt=='t'?true:false);
|
||||
$obj->stundensatz = $row->stundensatz;
|
||||
$obj->ausbildungcode = $row->ausbildungcode;
|
||||
$obj->ort_kurzbz = $row->ort_kurzbz;
|
||||
$obj->standort_kurzbz = $row->standort_kurzbz;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->alias = $row->alias;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
+29
-8
@@ -41,16 +41,33 @@ class ort
|
||||
var $lageplan; // @var oid
|
||||
var $dislozierung; // @var smallint
|
||||
var $kosten; // @var numeric(8,2)
|
||||
var $reservieren;
|
||||
var $ausstattung;
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $conn Connection zur DB
|
||||
* $fachb_id ID des zu ladenden Ortes
|
||||
* $ort_kurzbz Kurzbz des zu ladenden Ortes
|
||||
*/
|
||||
function ort($conn, $ort_kurzbz=null)
|
||||
function ort($conn, $ort_kurzbz=null, $unicode=false)
|
||||
{
|
||||
$this->conn = $conn;
|
||||
|
||||
if($unicode!=null)
|
||||
{
|
||||
if($unicode)
|
||||
$qry = "SET CLIENT_ENCODING TO 'UNICODE'";
|
||||
else
|
||||
$qry = "SET CLIENT_ENCODING TO 'LATIN9'";
|
||||
|
||||
if(!pg_query($this->conn, $qry))
|
||||
{
|
||||
$this->errormsg ='Fehler beim Setzen des Encodings';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if($ort_kurzbz != null)
|
||||
$this->load($ort_kurzbz);
|
||||
}
|
||||
@@ -77,11 +94,13 @@ class ort
|
||||
$ort_obj->bezeichnung = $row->bezeichnung;
|
||||
$ort_obj->planbezeichnung = $row->planbezeichnung;
|
||||
$ort_obj->max_person = $row->max_person;
|
||||
$ort_obj->aktiv = $row->aktiv;
|
||||
$ort_obj->lehre = $row->lehre;
|
||||
$ort_obj->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$ort_obj->lehre = ($row->lehre=='t'?true:false);
|
||||
$ort_obj->lageplan = $row->lageplan;
|
||||
$ort_obj->dislozierung = $row->dislozierung;
|
||||
$ort_obj->kosten = $row->kosten;
|
||||
$ort_obj->reservieren = ($row->reservieren=='t'?true:false);
|
||||
$ort_obj->ausstattung = $row->ausstattung;
|
||||
|
||||
$this->result[] = $ort_obj;
|
||||
}
|
||||
@@ -115,11 +134,13 @@ class ort
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->planbezeichnung = $row->planbezeichnung;
|
||||
$this->max_person = $row->max_person;
|
||||
$this->aktiv = $row->aktiv;
|
||||
$ort_obj->lehre = $row->lehre;
|
||||
$this->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$ort_obj->lehre = ($row->lehre=='t'?true:false);
|
||||
$this->lageplan = $row->lageplan;
|
||||
$this->dislozierung = $row->dislozierung;
|
||||
$this->kosten = $row->kosten;
|
||||
$this->dislozierung = $row->dislozierung;
|
||||
$this->kosten = $row->kosten;
|
||||
$this->reservieren = ($row->reservieren=='t'?true:false);
|
||||
$this->ausstattung = $row->ausstattung;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+20
-17
@@ -19,6 +19,9 @@
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/*
|
||||
* Benoetigt functions.inc.php
|
||||
*/
|
||||
|
||||
class person
|
||||
{
|
||||
@@ -156,27 +159,27 @@ class person
|
||||
// *******************************************
|
||||
function validate()
|
||||
{
|
||||
if(strlen($this->sprache)>16)
|
||||
if(utf8_strlen($this->sprache)>16)
|
||||
{
|
||||
$this->errormsg = "*****\nSprache darf nicht laenger als 16 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->anrede)>16)
|
||||
if(utf8_strlen($this->anrede)>16)
|
||||
{
|
||||
$this->errormsg = "*****\nAnrede darf nicht laenger als 16 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->titelpost)>32)
|
||||
if(utf8_strlen($this->titelpost)>32)
|
||||
{
|
||||
$this->errormsg = "*****\nTitelpost darf nicht laenger als 32 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->titelpre)>64)
|
||||
if(utf8_strlen($this->titelpre)>64)
|
||||
{
|
||||
$this->errormsg = "*****\nTitelpre darf nicht laenger als 64 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->nachname)>64)
|
||||
if(utf8_strlen($this->nachname)>64)
|
||||
{
|
||||
$this->errormsg = "*****\nNachname darf nicht laenger als 64 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
@@ -187,12 +190,12 @@ class person
|
||||
return false;
|
||||
}
|
||||
|
||||
if(strlen($this->vorname)>32)
|
||||
if(utf8_strlen($this->vorname)>32)
|
||||
{
|
||||
$this->errormsg = "*****\nVorname darf nicht laenger als 32 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->vornamen)>128)
|
||||
if(utf8_strlen($this->vornamen)>128)
|
||||
{
|
||||
$this->errormsg = "*****\nVornamen darf nicht laenger als 128 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
@@ -203,28 +206,28 @@ class person
|
||||
$this->errormsg = "Geburtsdatum muss eingegeben werden\n";
|
||||
return false;
|
||||
}*/
|
||||
if(strlen($this->gebort)>128)
|
||||
if(utf8_strlen($this->gebort)>128)
|
||||
{
|
||||
$this->errormsg = "*****\nGeburtsort darf nicht laenger als 128 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
if(strlen($this->homepage)>256)
|
||||
if(utf8_strlen($this->homepage)>256)
|
||||
{
|
||||
$this->errormsg = "*****\nHomepage darf nicht laenger als 256 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->svnr)>10)
|
||||
if(utf8_strlen($this->svnr)>10)
|
||||
{
|
||||
$this->errormsg = "*****\nSVNR darf nicht laenger als 10 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->ersatzkennzeichen)>10)
|
||||
if(utf8_strlen($this->ersatzkennzeichen)>10)
|
||||
{
|
||||
$this->errormsg = "*****\nErsatzkennzeichen darf nicht laenger als 10 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->familienstand)>1)
|
||||
if(utf8_strlen($this->familienstand)>1)
|
||||
{
|
||||
$this->errormsg = "*****\nFamilienstand ist ungueltig: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
@@ -239,12 +242,12 @@ class person
|
||||
$this->errormsg = "*****\nAktiv ist ungueltig: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->insertvon)>16)
|
||||
if(utf8_strlen($this->insertvon)>16)
|
||||
{
|
||||
$this->errormsg = "*****\nInsertvon darf nicht laenger als 16 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->updatevon)>16)
|
||||
if(utf8_strlen($this->updatevon)>16)
|
||||
{
|
||||
$this->errormsg = "*****\nUpdatevon darf nicht laenger als 16 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
@@ -254,17 +257,17 @@ class person
|
||||
$this->errormsg = "*****\nExt_ID ist keine gueltige Zahl: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->geschlecht)>1)
|
||||
if(utf8_strlen($this->geschlecht)>1)
|
||||
{
|
||||
$this->errormsg = "*****\ngeschlecht darf nicht laenger als 1 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->geburtsnation)>3)
|
||||
if(utf8_strlen($this->geburtsnation)>3)
|
||||
{
|
||||
$this->errormsg = "*****\nGeburtsnation darf nicht laenger als 3 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
}
|
||||
if(strlen($this->staatsbuergerschaft)>3)
|
||||
if(utf8_strlen($this->staatsbuergerschaft)>3)
|
||||
{
|
||||
$this->errormsg = "*****\nStaatsbuergerschaft darf nicht laenger als 3 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
|
||||
return false;
|
||||
|
||||
@@ -466,7 +466,7 @@ class prestudent extends person
|
||||
if($semester!=null)
|
||||
$qry.=" AND tbl_prestudentrolle.ausbildungssemester='$semester'";
|
||||
|
||||
//echo $qry;
|
||||
echo $qry;
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
|
||||
Reference in New Issue
Block a user