index 9ceefc964318b6a2d37c606be882ca94e8ab27cf..783b66822fe500558313f1ca8a27c726243f02a5 100644 (file)
$aclc[$attrs['dn']]= $ol;
}
+ /* Resolve roles here.
+ */
+ foreach($aclc as $dn => $data){
+ foreach($data as $prio => $aclc_value) {
+ if($aclc_value['type'] == "role"){
+
+ unset($aclc[$dn][$prio]);
+
+ $ldap->cat($aclc_value['acl'],array("gosaAclTemplate"));
+ $attrs = $ldap->fetch();
+
+ if(isset($attrs['gosaAclTemplate'])){
+ for($i= 0; $i<$attrs['gosaAclTemplate']['count']; $i++){
+ $tmp = @acl::explodeAcl($attrs['gosaAclTemplate'][$i]);
+
+ foreach($tmp as $new_acl){
+ $new_acl['members'] = $aclc_value['members'];
+ $aclc[$dn][] =$new_acl;
+ }
+ }
+ }
+ }
+ }
+ }
+
/* ACL's read, sort for tree depth */
asort($aclp);
}
}
+ /* Load departments here, if we are using php4 */
+ if(is_php4() && !count($this->config->departments)){
+ $this->config->get_departments();
+ }
+
/* For all gosaDepartments */
foreach ($this->config->departments as $dn){
$acl= array("r" => "", "w" => "", "c" => "", "d" => "", "m" => "", "a" => "");