From d28f79e855607e64691ff44afe3e3128d934103c Mon Sep 17 00:00:00 2001 From: Paminger Date: Mon, 14 Mar 2016 07:10:51 +0100 Subject: [PATCH] FHC ACL --- application/core/MY_Model.php | 4 +- .../libraries/{fhcauth.php => FHC_Auth.php} | 4 +- application/libraries/FHC_DB_ACL.php | 57 +++++++++++++++++++ application/models/person/Person_model.php | 9 ++- 4 files changed, 68 insertions(+), 6 deletions(-) rename application/libraries/{fhcauth.php => FHC_Auth.php} (95%) create mode 100644 application/libraries/FHC_DB_ACL.php diff --git a/application/core/MY_Model.php b/application/core/MY_Model.php index cc9b84f16..3e55dea60 100644 --- a/application/core/MY_Model.php +++ b/application/core/MY_Model.php @@ -11,10 +11,12 @@ class MY_Model extends CI_Model class DB_Model extends MY_Model { - function __construct() + function __construct($uid=null) { parent::__construct(); $this->load->database(); + // Loading Tools for Access Control (Benutzerberechtigungen) + $this->load->library('FHC_DB_ACL',array('uid' => $uid)); } } diff --git a/application/libraries/fhcauth.php b/application/libraries/FHC_Auth.php similarity index 95% rename from application/libraries/fhcauth.php rename to application/libraries/FHC_Auth.php index c7b905edc..f7fb333bb 100644 --- a/application/libraries/fhcauth.php +++ b/application/libraries/FHC_Auth.php @@ -25,7 +25,7 @@ require_once 'include/authentication.class.php'; // ------------------------------------------------------------------------ -class FHCAuth +class FHC_Auth { /** * Auth Username, Password over FH-Complete @@ -39,7 +39,7 @@ class FHCAuth $auth = new authentication(); if ($auth->checkpassword($username, $password)) { - echo 'Auth-Method-False'; + echo 'Auth-Method-True'; return true; } else diff --git a/application/libraries/FHC_DB_ACL.php b/application/libraries/FHC_DB_ACL.php new file mode 100644 index 000000000..cd79d438d --- /dev/null +++ b/application/libraries/FHC_DB_ACL.php @@ -0,0 +1,57 @@ +bb = new benutzerberechtigung(); + $this->uid = $uid; + } + + function isBerechtigt($berechtigung_kurzbz, $art=null, $oe_kurzbz=null, $kostenstelle_id=null) + { + $this->bb->getBerechtigungen($this->uid); + return $this->bb->isBerechtigt($berechtigung_kurzbz, $oe_kurzbz=null, $art=null, $kostenstelle_id=null); + } +} diff --git a/application/models/person/Person_model.php b/application/models/person/Person_model.php index 1bb4b77cc..77c0f1f3e 100644 --- a/application/models/person/Person_model.php +++ b/application/models/person/Person_model.php @@ -1,9 +1,9 @@ db->get_where('public.tbl_person', array('zugangscode' => $code)); + if ($this->fhc_db_acl->bb->isBerechtigt('person','s')) + { + $query = $this->db->get_where('public.tbl_person', array('zugangscode' => $code)); return $query->result_object(); + } } }