Moved permission check-functions to mitarbeiter.class.php

In order to avoid cross scripting problems:
MOVED functions
. check_isVorgesetzter
. check isVorgesetzter_indirekt
FROM functions.inc.php TO mitarbeiter.class.php
This commit is contained in:
Cris
2018-11-27 16:20:34 +01:00
parent 2a05b46dd2
commit 1671badf58
2 changed files with 49 additions and 48 deletions
+49
View File
@@ -1490,6 +1490,55 @@ class mitarbeiter extends benutzer
return false;
}
}
/** 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)
{
$this->getUntergebene($uid);
$untergebenen_arr = $this->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.
* :NOTE: as all children oes also include the direct oe, the return value is also true when
* uid is ONLY direct leader. To distinguish you might check in the calling script:
* isVorgesetzter_indirekt && isVorgesetzter --> direct leader
* isVorgesetzter_indirekt && !isVorgesetzter --> only super leader on higher level
*/
function check_isVorgesetzter_indirekt($uid, $employee_uid)
{
$this->getUntergebene($uid, true);
$untergebenen_ofChildOEs_arr = $this->untergebene;
if (!empty($untergebenen_ofChildOEs_arr) &&
in_array($employee_uid, $untergebenen_ofChildOEs_arr))
{
return true;
}
else
{
return false;
}
}
}
?>