X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_config.inc;h=fa068e7906351a3059c09d4fbdb991d572ec2a8b;hb=c71ce4ba7b5e4492c62bf2f1af27e202f28ed299;hp=169b576aad29384a51a7c8f67121e39b80b259d8;hpb=97bf29a1ff2af9cf74ab1fbeab6e692c8b8b8275;p=gosa.git diff --git a/include/class_config.inc b/include/class_config.inc index 169b576aa..fa068e790 100644 --- a/include/class_config.inc +++ b/include/class_config.inc @@ -637,55 +637,58 @@ 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); } /* This function returns all available ShareServer */ - function getShareServerList($categories = "") + function getShareServerList() { global $config; $return = array(); $ui = get_userinfo(); $base = $config->current['BASE']; - if(empty($categories)){ - echo "Need to adapt share list loading
"; - } - - $res= get_list("(&(objectClass=goShareServer)(goExportEntry=*))", $categories, $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); }