index 85417cdb150254e873884e716683968338515409..c25cab419498e8b671e6b7b7c846b075b242af85 100644 (file)
function loadACL()
{
-
-#--------------------------------------------------------------------------OLD-BUT-ACTIVE-----------------------------
- $ldap= $this->config->get_ldap_link();
-
- /* Load ACL's from all groups we're in */
- $this->subtreeACL= array();
- $ldap->cd($this->config->current['BASE']);
- if ($this->gidNumber == -1){
- $ldap->search("(&(objectClass=posixGroup)(objectClass=gosaObject)".
- "(memberUid=$this->username))");
- } else {
- $ldap->search("(&(objectClass=posixGroup)(objectClass=gosaObject)".
- "(|(memberUid=$this->username)(gidNumber=$this->gidNumber)))");
- }
-
- while($attrs = $ldap->fetch()){
- $base= preg_replace('/^[^,]+,ou=[^,]+,/i', "",$ldap->getDN());
- $base= preg_replace("/[ ]*,[ ]*/", ",", $base);
-
- for ($i= 0; $i<$attrs["gosaSubtreeACL"]["count"]; $i++){
- $this->subtreeACL[$base][]= $attrs["gosaSubtreeACL"][$i];
- }
- }
-#echo "NEW ACL LOADING --------------------------------------------------------------------------------------------<br>";
-
$this->ACL= array();
$this->groups= array();
$this->result_cache =array();
}
}
-
}
function mergeACL($acl, $type, $newACL)
{
+ if(preg_match("/w/",$newACL) && !preg_match("/r/",$newACL)){
+ $newACL .= "r";
+ }
foreach(str_split($newACL) as $char){
/* Ignore invalid characters */