Moved permission check-functions to functions.inc.php

Moved some often used permission checks to function.inc.php
This commit is contained in:
Cris
2018-11-26 16:39:52 +01:00
parent 9673823807
commit 4adfed8d69
+49
View File
@@ -23,6 +23,8 @@ require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/authentication.class.php');
require_once(dirname(__FILE__).'/betriebsmittelperson.class.php');
require_once(dirname(__FILE__).'/personlog.class.php');
require_once(dirname(__FILE__).'/benutzerberechtigung.class.php');
require_once(dirname(__FILE__).'/mitarbeiter.class.php');
// Auth: Benutzer des Webportals
/**
@@ -1112,4 +1114,51 @@ function setLeadingZero($number, $length = 2)
}
}
/** Check if uid is a supervisor
*
* @param string $uid
* @param string $employee_uid
* @return boolean True if $uid is direct leader of $employee_uid.
*/
function check_isVorgesetzter($uid, $employee_uid)
{
$mitarbeiter = new Mitarbeiter();
$mitarbeiter->getUntergebene($uid);
$untergebenen_arr = $mitarbeiter->untergebene;
// Check, if uid is an employee of supervisor
if (!empty($untergebenen_arr) &&
in_array($employee_uid, $untergebenen_arr))
{
return true;
}
else
{
return false;
}
}
/** Check if uid is a supervisor on higher oe level
*
* @param string $uid
* @param string $employee_uid
* @return boolean True if $uid is indirect supervisor (leader on higher oe-level)
* of $employee_uid.
*/
function check_isVorgesetzter_indirekt($uid, $employee_uid)
{
$mitarbeiter = new Mitarbeiter();
$mitarbeiter->getUntergebene($uid, true);
$untergebenen_ofChildOEs_arr = $mitarbeiter->untergebene;
if (!empty($untergebenen_ofChildOEs_arr) &&
in_array($employee_uid, $untergebenen_ofChildOEs_arr))
{
return true;
}
else
{
return false;
}
}
?>