Benutzerberechtigung.class neue Funktionen

- getBenutzerFromBerechtigung: Laedt die Benutzer zu einer Berechtigung.
- getBenutzerFromRolle: Laedt die Benutzer zu einer Rolle.
This commit is contained in:
kindlm
2017-04-06 15:58:16 +02:00
parent 511abeb362
commit 6e44dd67c8
+119
View File
@@ -1037,5 +1037,124 @@ class benutzerberechtigung extends basis_db
}
}
}
/**
* Laedt die Benutzer zu einer Berechtigung. Wenn $inklusiveRollen true ist (default), wird ein UNION mit der tbl_rolleberechtigung ausgefuehrt
*
* @param string $berechtigung_kurzbz Kurzbezeichnung der Berechtigung, deren Rollen geladen werden sollen
* @param boolean $inklusiveRollen Default TRUE. Wenn true, wird ein UNION SELECT mit der tbl_rolleberechtigung ausgefuehrt
* @return boolean true wenn ok, false im Fehlerfall
*/
public function getBenutzerFromBerechtigung($berechtigung_kurzbz, $inklusiveRollen = true)
{
$qry = "SELECT
benutzerberechtigung_id,
rolle_kurzbz,
funktion_kurzbz,
uid,
art,
berechtigung_kurzbz,
start,
ende
FROM
system.tbl_benutzerrolle
WHERE
berechtigung_kurzbz = ".$this->db_add_param($berechtigung_kurzbz);
if ($inklusiveRollen == true)
{
$qry .= " UNION SELECT
NULL,
rolle_kurzbz,
NULL,
NULL,
art,
berechtigung_kurzbz,
NULL,
NULL
FROM
system.tbl_rolleberechtigung
WHERE
berechtigung_kurzbz = ".$this->db_add_param($berechtigung_kurzbz);
}
$qry.= " ORDER BY rolle_kurzbz NULLS LAST, funktion_kurzbz NULLS LAST, uid";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new benutzerberechtigung();
$obj->benutzerberechtigung_id = $row->benutzerberechtigung_id;
$obj->rolle_kurzbz = $row->rolle_kurzbz;
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
$obj->uid = $row->uid;
$obj->funktion_kurzbz = $row->funktion_kurzbz;
$obj->art = $row->art;
$obj->start = $row->start;
$obj->ende = $row->ende;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der FreigabeBenutzer';
return false;
}
}
/**
* Laedt die Benutzer zu einer Rolle.
*
* @param string $rolle_kurzbz Kurzbezeichnung der Rolle, deren Benutzer geladen werden sollen
* @return boolean true wenn ok, false im Fehlerfall
*/
public function getBenutzerFromRolle($rolle_kurzbz)
{
$qry = "SELECT
*
FROM
system.tbl_benutzerrolle
WHERE
rolle_kurzbz = ".$this->db_add_param($rolle_kurzbz);
$qry.= " ORDER BY rolle_kurzbz NULLS LAST, funktion_kurzbz NULLS LAST, uid";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new benutzerberechtigung();
$obj->benutzerberechtigung_id = $row->benutzerberechtigung_id;
$obj->rolle_kurzbz = $row->rolle_kurzbz;
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
$obj->uid = $row->uid;
$obj->funktion_kurzbz = $row->funktion_kurzbz;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->art = $row->art;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->start = $row->start;
$obj->ende = $row->ende;
$obj->negativ = $this->db_parse_bool($row->negativ);
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->kostenstelle_id = $row->kostenstelle_id;
$obj->anmerkung = $row->anmerkung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der FreigabeBenutzer';
return false;
}
}
}
?>