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); } }