mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
renamed and improved method for getting benutzerfunktionen
This commit is contained in:
@@ -29,25 +29,48 @@ class Benutzerfunktion_model extends DB_Model
|
||||
* @param $funktion_kurzbz string with one benutzerfunktionname or array with one or more
|
||||
* @return array|null
|
||||
*/
|
||||
public function getByOeAndFunktion($oe_kurzbz, $funktion_kurzbz)
|
||||
public function getBenutzerFunktionen($funktion_kurzbz, $oe_kurzbz = null, $activeoeonly = false, $activebenonly = false)
|
||||
{
|
||||
$query = "SELECT * FROM public.tbl_benutzerfunktion
|
||||
WHERE oe_kurzbz = ?
|
||||
%s";
|
||||
$parametersArray = array();
|
||||
|
||||
$query = "SELECT * FROM public.tbl_benutzerfunktion";
|
||||
|
||||
if ($activeoeonly === true)
|
||||
$query .= " JOIN public.tbl_organisationseinheit USING(oe_kurzbz)";
|
||||
|
||||
if ($activebenonly === true)
|
||||
$query .= " JOIN public.tbl_benutzer USING(uid)";
|
||||
|
||||
$query .= "WHERE (datum_von <= NOW() OR datum_von IS NULL) AND (datum_bis >= NOW() OR datum_bis IS NULL)";
|
||||
|
||||
if (is_string($funktion_kurzbz))
|
||||
{
|
||||
$query = sprintf($query, " AND funktion_kurzbz = ".$funktion_kurzbz.")");
|
||||
$query .= " AND funktion_kurzbz = ".$funktion_kurzbz.")";
|
||||
}
|
||||
elseif (is_array($funktion_kurzbz) && count($funktion_kurzbz) > 0)
|
||||
{
|
||||
$funktionstr = "'".implode("', '", $funktion_kurzbz)."'";
|
||||
$query = sprintf($query, " AND funktion_kurzbz IN (".$funktionstr.")");
|
||||
$query .= " AND funktion_kurzbz IN (".$funktionstr.")";
|
||||
}
|
||||
|
||||
$query .= " AND (datum_von <= NOW() OR datum_von IS NULL) AND (datum_bis >= NOW() OR datum_bis IS NULL)";
|
||||
$query .= " ORDER BY funktion_kurzbz, uid";
|
||||
if (is_string($oe_kurzbz))
|
||||
{
|
||||
$query .= " AND tbl_benutzerfunktion.oe_kurzbz = ?";
|
||||
$parametersArray[] = $oe_kurzbz;
|
||||
}
|
||||
|
||||
return $this->execQuery($query, array($oe_kurzbz));
|
||||
if ($activebenonly === true)
|
||||
{
|
||||
$query .= " AND tbl_benutzer.aktiv";
|
||||
}
|
||||
|
||||
if ($activeoeonly === true)
|
||||
{
|
||||
$query .= " AND tbl_organisationseinheit.aktiv";
|
||||
}
|
||||
|
||||
$query .= " ORDER BY funktion_kurzbz, oe_kurzbz, uid";
|
||||
|
||||
return $this->execQuery($query, $parametersArray);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user