index 9c66e8941f61c4069616ac7831979760365b93f6..fa068e7906351a3059c09d4fbdb991d572ec2a8b 100644 (file)
--- a/include/class_config.inc
+++ b/include/class_config.inc
foreach ($this->departments as $key => $val){
/* When using strict_units, filter non relevant parts */
- if (preg_match('/true/i', $config->current['STRICT_UNITS'])){
+ if (isset($config->current['STRICT_UNITS']) && preg_match('/true/i', $config->current['STRICT_UNITS'])){
if ($ui->gosaUnitTag != "" && isset($this->tdepartments[$val]) &&
$this->tdepartments[$val] != $ui->gosaUnitTag){
continue;
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()
{
- $ldap= $this->get_ldap_link();
- $a_res = $ldap->search("(&(objectClass=goShareServer)(goExportEntry=*))",array("goExportEntry","cn"));
- $return= array();
- while($entry = $ldap->fetch($a_res)){
- 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."]";
+ global $config;
+ $return = array();
+ $ui = get_userinfo();
+ $base = $config->current['BASE'];
+
+ $res= get_list("(&(objectClass=goShareServer)(goExportEntry=*))", "server", $base,array("goExportEntry","cn"),GL_SUBSEARCH);
+ foreach($res as $entry){
+ 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);