index 0719927c152b6612030f4ea7fa4a3d14839fad84..5f68ac99989044c9f93fe27fa87b582c264b41d0 100644 (file)
}
}
-
}
/* Push cache answer? */
$ACL_CACHE = &session::get('ACL_CACHE');
- if (0 && isset($ACL_CACHE["$dn+$object+$attribute"])){
+ if (isset($ACL_CACHE["$dn+$object+$attribute"])){
/* Remove write if needed */
if ($skip_write){
continue;
}
-# /* With user filter */
-# $sdn = preg_replace("/^[^,]*+,/","",$dn);
-# if (isset($subacl['filter']) && !empty($subacl['filter'])){
-#
-# $ldap->cd($sdn);
-# $ldap->ls($subacl['filter'],$sdn);
-# if(!$ldap->count()){
-# continue;
-# }else{
-# $found = FALSE;
-# while($attrs = $ldap->fetch()){
-# echo $attrs['dn']."<br>";
-# if($attrs['dn'] == $dn){
-# $found = TRUE;
-# echo $acl."<br>";;
-# break;
-# }
-# }
-# if(!$found){
-# continue;
-# }
-# }
-# }
-
- /* Per attribute ACL? */
+ /* With user filter */
+ if (isset($subacl['filter']) && !empty($subacl['filter'])){
+ $sdn = preg_replace("/^[^,]*+,/","",$dn);
+ $ldap->cd($sdn);
+ $ldap->ls($subacl['filter'],$sdn);
+ if(!$ldap->count()){
+ continue;
+ }else{
+ $found = FALSE;
+ while($attrs = $ldap->fetch()){
+ if($attrs['dn'] == $dn){
+ $found = TRUE;
+ break;
+ }
+ }
+ if(!$found){
+ continue;
+ }
+ }
+ }
+
+ /* Per attribute ACL? */
if (isset($subacl['acl'][$object][$attribute])){
$acl= $this->mergeACL($acl, $subacl['type'], $subacl['acl'][$object][$attribute]);
continue;
/* Assemble string */
$ret= "";
foreach ($acl as $key => $value){
- if ($value != ""){
+ if ($value !== ""){
$ret.= $key;
}
}