X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_config.inc;h=fa068e7906351a3059c09d4fbdb991d572ec2a8b;hb=d2a7f50083180fccb855c116a0f16cbca2636f62;hp=13c87c11db9f1f6fde76db4e29c476deaffc85d2;hpb=47f45f247c547999858874eac073796ce4d6e30b;p=gosa.git diff --git a/include/class_config.inc b/include/class_config.inc index 13c87c11d..fa068e790 100644 --- a/include/class_config.inc +++ b/include/class_config.inc @@ -637,29 +637,35 @@ class config { function getShareList($listboxEntry = false) { $ldap= $this->get_ldap_link(); - $a_res = $ldap->search("(objectClass=goShareServer)",array("goExportEntry","cn")); - $return= array(); - while($entry = $ldap->fetch($a_res)){ - if(isset($entry['goExportEntry']['count'])){ - unset($entry['goExportEntry']['count']); - } - if(isset($entry['goExportEntry'])){ - foreach($entry['goExportEntry'] as $export){ - $shareAttrs = split("\|",$export); - if($listboxEntry) { - $return[$shareAttrs[0]."|".$entry['cn'][0]] = $shareAttrs[0]." - ".$entry['cn'][0]; - }else{ - $return[$shareAttrs[0]."|".$entry['cn'][0]]['server'] = $entry['cn'][0]; - $return[$shareAttrs[0]."|".$entry['cn'][0]]['name'] = $shareAttrs[0]; - $return[$shareAttrs[0]."|".$entry['cn'][0]]['description'] = $shareAttrs[1]; - $return[$shareAttrs[0]."|".$entry['cn'][0]]['type'] = $shareAttrs[2]; - $return[$shareAttrs[0]."|".$entry['cn'][0]]['charset'] = $shareAttrs[3]; - $return[$shareAttrs[0]."|".$entry['cn'][0]]['path'] = $shareAttrs[4]; - $return[$shareAttrs[0]."|".$entry['cn'][0]]['option'] = $shareAttrs[5]; + $base = $this->current['BASE']; + $res= get_list("(&(objectClass=goShareServer)(goExportEntry=*))","server",$base,array("goExportEntry","cn"),GL_SUBSEARCH); + $return = array(); + + foreach($res as $entry){ + if(obj_is_readable($entry['dn'], "server/goShareServer","goExportEntry")){ + + if(isset($entry['goExportEntry']['count'])){ + unset($entry['goExportEntry']['count']); + } + if(isset($entry['goExportEntry'])){ + foreach($entry['goExportEntry'] as $export){ + $shareAttrs = split("\|",$export); + if($listboxEntry) { + $return[$shareAttrs[0]."|".$entry['cn'][0]] = $shareAttrs[0]." - ".$entry['cn'][0]; + }else{ + $return[$shareAttrs[0]."|".$entry['cn'][0]]['server'] = $entry['cn'][0]; + $return[$shareAttrs[0]."|".$entry['cn'][0]]['name'] = $shareAttrs[0]; + $return[$shareAttrs[0]."|".$entry['cn'][0]]['description'] = $shareAttrs[1]; + $return[$shareAttrs[0]."|".$entry['cn'][0]]['type'] = $shareAttrs[2]; + $return[$shareAttrs[0]."|".$entry['cn'][0]]['charset'] = $shareAttrs[3]; + $return[$shareAttrs[0]."|".$entry['cn'][0]]['path'] = $shareAttrs[4]; + $return[$shareAttrs[0]."|".$entry['cn'][0]]['option'] = $shareAttrs[5]; + } } } - } + } } + return($return); } @@ -670,18 +676,19 @@ class config { $return = array(); $ui = get_userinfo(); $base = $config->current['BASE']; -echo "Need to adapt share list loading
"; - $res= get_list("(&(objectClass=goShareServer)(goExportEntry=*))", "all", $base,array("goExportEntry","cn"),GL_SUBSEARCH); + + $res= get_list("(&(objectClass=goShareServer)(goExportEntry=*))", "server", $base,array("goExportEntry","cn"),GL_SUBSEARCH); foreach($res as $entry){ - if(isset($entry['goExportEntry']['count'])){ - unset($entry['goExportEntry']['count']); - } - foreach($entry['goExportEntry'] as $share){ - $a_share = split("\|",$share); - $sharename = $a_share[0]; - $return[$entry['cn'][0]."|".$sharename] = $entry['cn'][0]." [".$sharename."]"; + if(obj_is_readable($entry['dn'], "server/goShareServer","goExportEntry")){ + if(isset($entry['goExportEntry']['count'])){ + unset($entry['goExportEntry']['count']); + } + foreach($entry['goExportEntry'] as $share){ + $a_share = split("\|",$share); + $sharename = $a_share[0]; + $return[$entry['cn'][0]."|".$sharename] = $entry['cn'][0]." [".$sharename."]"; + } } - } return($return); }