X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_userinfo.inc;h=2c46e9efcd63f72ca88a5fe53b5824f4845b36e5;hb=7c4b2a414b0cb8f1cfd04713969d7e9b8c78d2f0;hp=749d905f5b52a5f3ff409007539b08d64a2a4c8a;hpb=920fb5bd6dacd9fa59bfb31ca427f9c310d440be;p=gosa.git diff --git a/include/class_userinfo.inc b/include/class_userinfo.inc index 749d905f5..2c46e9efc 100644 --- a/include/class_userinfo.inc +++ b/include/class_userinfo.inc @@ -67,14 +67,22 @@ class userinfo /* Initialize ACL_CACHE */ $_SESSION['ACL_CACHE']= array(); + $this->reset_acl_cache(); } + public function reset_acl_cache() + { + /* Initialize ACL_CACHE */ + $_SESSION['ACL_CACHE']= array(); + } + function loadACL() { $this->ACL= array(); $this->groups= array(); $this->result_cache =array(); + $this->reset_acl_cache(); $ldap= $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); @@ -370,9 +378,10 @@ class userinfo function mergeACL($acl, $type, $newACL) { - if(preg_match("/w/",$newACL) && !preg_match("/r/",$newACL)){ + if (strpos($newACL, 'w') !== FALSE && strpos($newACL, 'r') === FALSE){ $newACL .= "r"; } + foreach(str_split($newACL) as $char){ /* Ignore invalid characters */