mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-21 08:52:21 +00:00
This commit is contained in:
@@ -24,6 +24,9 @@ require_once('../../config.inc.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/zeitsperre.class.php');
|
||||
require_once('../../../include/person.class.php');
|
||||
require_once('../../../include/benutzer.class.php');
|
||||
require_once('../../../include/mitarbeiter.class.php');
|
||||
|
||||
if(!$conn = pg_pconnect(CONN_STRING))
|
||||
die('Fehler beim Connecten zur Datenbank');
|
||||
@@ -69,56 +72,18 @@ echo '<html>
|
||||
<br>
|
||||
';
|
||||
//Untergebene holen
|
||||
$qry = "SELECT * FROM public.tbl_benutzerfunktion WHERE (funktion_kurzbz='fbl' OR funktion_kurzbz='stgl') AND uid='".addslashes($user)."'";
|
||||
$mitarbeiter = new mitarbeiter($conn);
|
||||
$mitarbeiter->getUntergebene($user);
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
$institut='';
|
||||
$stge='';
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
if($row->funktion_kurzbz=='fbl')
|
||||
{
|
||||
if($institut!='')
|
||||
$institut.=',';
|
||||
|
||||
$institut.="'".addslashes($row->fachbereich_kurzbz)."'";
|
||||
}
|
||||
elseif($row->funktion_kurzbz=='stgl')
|
||||
{
|
||||
if($stge!='')
|
||||
$stge.=',';
|
||||
$stge.="'".$row->studiengang_kz."'";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$qry = "SELECT distinct uid FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='Institut' AND (false ";
|
||||
|
||||
if($institut!='')
|
||||
$qry.=" OR fachbereich_kurzbz in($institut)";
|
||||
if($stge!='')
|
||||
$qry.=" OR studiengang_kz in($stge)";
|
||||
|
||||
$qry.=")";
|
||||
|
||||
$untergebene='';
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
|
||||
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
if($untergebene!='')
|
||||
$untergebene.=',';
|
||||
$untergebene.="'".addslashes($row->uid)."'";
|
||||
}
|
||||
}
|
||||
|
||||
if($untergebene=='')
|
||||
if(count($mitarbeiter->untergebene)==0)
|
||||
die('Es sind Ihnen keine Mitarbeiter zugeteilt für die sie den Urlaub freigeben dürfen');
|
||||
|
||||
$untergebene = '';
|
||||
foreach ($mitarbeiter->untergebene as $row)
|
||||
{
|
||||
if($untergebene!='')
|
||||
$untergebene.=',';
|
||||
$untergebene .= "'".$row."'";
|
||||
}
|
||||
$qry = "SELECT * FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid in($untergebene)";
|
||||
|
||||
$mitarbeiter = array();
|
||||
|
||||
@@ -65,19 +65,6 @@ $t=getdate();
|
||||
$uid = get_uid();
|
||||
$taste=0;
|
||||
|
||||
function getVorgesetzten($uid)
|
||||
{
|
||||
global $conn;
|
||||
$qry = "SELECT CASE WHEN fachbereich_kurzbz is not null THEN (SELECT uid FROM public.tbl_benutzerfunktion WHERE fachbereich_kurzbz=a.fachbereich_kurzbz AND funktion_kurzbz='fbl' LIMIT 1)
|
||||
WHEN studiengang_kz is not null THEN (SELECT uid FROM public.tbl_benutzerfunktion WHERE studiengang_kz=a.studiengang_kz AND funktion_kurzbz='stgl' LIMIT 1)
|
||||
ELSE ''
|
||||
END as vorgesetzter
|
||||
FROM public.tbl_benutzerfunktion a WHERE funktion_kurzbz='Institut' AND uid='$uid'";
|
||||
$result = pg_query($conn, $qry);
|
||||
$row = pg_fetch_object($result);
|
||||
return (isset($row->vorgesetzter)?$row->vorgesetzter:'');
|
||||
}
|
||||
|
||||
$ma= new mitarbeiter($conn);
|
||||
for($i=0;$i<6;$i++)
|
||||
{
|
||||
@@ -240,7 +227,7 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
$to.=$vg.'@'.DOMAIN;
|
||||
}
|
||||
}
|
||||
//$to = 'ruhan@technikum-wien.at';
|
||||
//$to = 'oesi@technikum-wien.at';
|
||||
$benutzer = new benutzer($conn);
|
||||
$benutzer->load($uid);
|
||||
$message = "Dies ist eine automatische Mail! \n".
|
||||
|
||||
@@ -44,6 +44,7 @@ class mitarbeiter extends benutzer
|
||||
var $anmerkung;
|
||||
var $bismelden;
|
||||
var $vorgesetzte=array();
|
||||
var $untergebene=array();
|
||||
|
||||
// *************************************************************************
|
||||
// * Konstruktor - Uebergibt die Connection und laedt optional einen Mitarbeiter
|
||||
@@ -879,7 +880,6 @@ class mitarbeiter extends benutzer
|
||||
*/
|
||||
function getVorgesetzte($uid=null)
|
||||
{
|
||||
global $conn;
|
||||
$return=false;
|
||||
if (is_null($uid))
|
||||
$uid=$this->uid;
|
||||
@@ -889,7 +889,7 @@ class mitarbeiter extends benutzer
|
||||
ELSE ''
|
||||
END as vorgesetzter
|
||||
FROM public.tbl_benutzerfunktion a WHERE funktion_kurzbz='Institut' AND uid='$uid'";
|
||||
$result = pg_query($conn, $qry);
|
||||
$result = pg_query($this->conn, $qry);
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
if ($row->vorgesetzter!='')
|
||||
@@ -898,6 +898,9 @@ class mitarbeiter extends benutzer
|
||||
$return=true;
|
||||
}
|
||||
}
|
||||
|
||||
$this->vorgesetzte = array_unique($this->vorgesetzte);
|
||||
|
||||
if ($return)
|
||||
return $return;
|
||||
// Suche nach Assistenz
|
||||
@@ -906,7 +909,7 @@ class mitarbeiter extends benutzer
|
||||
ELSE ''
|
||||
END as vorgesetzter
|
||||
FROM public.tbl_benutzerfunktion a WHERE funktion_kurzbz='ass' AND uid='$uid'";
|
||||
$result = pg_query($conn, $qry);
|
||||
$result = pg_query($this->conn, $qry);
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
if ($row->vorgesetzter!='')
|
||||
@@ -915,7 +918,72 @@ class mitarbeiter extends benutzer
|
||||
$return=true;
|
||||
}
|
||||
}
|
||||
$this->vorgesetzte = array_unique($this->vorgesetzte);
|
||||
return $return;
|
||||
}
|
||||
|
||||
// ************************
|
||||
// * gibt die UIDs der Untergebenen zurück
|
||||
// ************************
|
||||
function getUntergebene($uid=null)
|
||||
{
|
||||
if (is_null($uid))
|
||||
$uid=$this->uid;
|
||||
|
||||
//Alle Studiengänge und Fachbereiche holen bei denen die Person die Leitung hat
|
||||
$qry = "SELECT * FROM public.tbl_benutzerfunktion
|
||||
WHERE (funktion_kurzbz='fbl' OR funktion_kurzbz='stgl') AND uid='".addslashes($uid)."'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
$institut='';
|
||||
$stge='';
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
if($row->funktion_kurzbz=='fbl')
|
||||
{
|
||||
if($institut!='')
|
||||
$institut.=',';
|
||||
|
||||
$institut.="'".addslashes($row->fachbereich_kurzbz)."'";
|
||||
}
|
||||
elseif($row->funktion_kurzbz=='stgl')
|
||||
{
|
||||
if($stge!='')
|
||||
$stge.=',';
|
||||
$stge.="'".$row->studiengang_kz."'";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//Alle Personen holen die diesen Studiengaengen/Fachbereichen untergeordnet sind
|
||||
$qry = "SELECT distinct uid FROM public.tbl_benutzerfunktion WHERE (funktion_kurzbz='Institut' AND (false ";
|
||||
|
||||
if($institut!='')
|
||||
$qry.=" OR fachbereich_kurzbz in($institut)";
|
||||
if($stge!='')
|
||||
$qry.=" OR studiengang_kz in($stge)";
|
||||
|
||||
$qry.=")) ";
|
||||
|
||||
if($stge!='')
|
||||
$qry.=" OR (funktion_kurzbz='ass' AND studiengang_kz in($stge))";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->untergebene[]=$row->uid;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln der Untergebenen';
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -23,6 +23,7 @@
|
||||
require_once('../config.inc.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
|
||||
if(!$conn=pg_pconnect(CONN_STRING))
|
||||
die("Konnte Verbindung zur Datenbank nicht herstellen");
|
||||
@@ -105,15 +106,17 @@ if (isset($_GET['insert']))
|
||||
}
|
||||
}
|
||||
|
||||
$where=" studiensemester_kurzbz='SS2008'";
|
||||
if ($semester>0)
|
||||
$stsem_obj = new studiensemester($conn);
|
||||
$studiensemester = $stsem_obj->getNearest();
|
||||
$where=" studiensemester_kurzbz='".$studiensemester."'";
|
||||
if (isset($semester) && $semester>0)
|
||||
$where.=" AND semester=$semester";
|
||||
if ($stg_kz>0)
|
||||
$where.=" AND studiengang_kz='$stg_kz'";
|
||||
|
||||
if(!is_numeric($stg_kz))
|
||||
$stg_kz=0;
|
||||
if(!is_numeric($semester))
|
||||
if(!isset($semester) || !is_numeric($semester))
|
||||
$semester=0;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user