Files
2024-10-17 15:34:00 +02:00

74 lines
1.4 KiB
PHP

<?php
class Benutzerrolle_model extends DB_Model
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct();
$this->dbTable = 'system.tbl_benutzerrolle';
$this->pk = 'benutzerberechtigung_id';
}
/**
* Checks if the given user is an admin
*/
public function isAdminByPersonId($person_id)
{
// Join with the table tbl_benutzer
$this->addJoin('public.tbl_benutzer', 'uid');
$result = $this->loadWhere(array('person_id' => $person_id, 'rolle_kurzbz' => 'admin'));
if (!isError($result))
{
if (hasData($result))
{
$result = success(true);
}
else if (!hasData($result))
{
$result = success(false);
}
}
return $result;
}
/**
* Get user who are authorized with berechtigung and, if given, authorized for the specific organisational unit.
* @param $berechtigung_kurzbz
* @param null $oe_kurzbz
* @return array
*/
public function getBenutzerByBerechtigung($berechtigung_kurzbz, $oe_kurzbz = null, $art = null)
{
$params = array();
$query = '
SELECT
*
FROM
system.vw_berechtigung_nichtrekursiv
WHERE
berechtigung_kurzbz = ?';
$params[] = $berechtigung_kurzbz;
if (!is_null($oe_kurzbz))
{
$query .= ' AND oe_kurzbz = ?';
$params[] = $oe_kurzbz;
}
if (!is_null($art))
{
$query .= ' AND art = ?';
$params[] = $art;
}
return $this->execQuery($query, $params);
}
}