X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_config.inc;h=64995adaccc80e487f2f38ca4820d03437a501b2;hb=ed2e61f01da6d459cbfc9bda3aaeaa61db00eac8;hp=daad80f35cdb78633093374f283f65346964460e;hpb=2a92ce40404e5c59b4b6f2973b471e4cfa12eb8c;p=gosa.git diff --git a/gosa-core/include/class_config.inc b/gosa-core/include/class_config.inc index daad80f35..64995adac 100644 --- a/gosa-core/include/class_config.inc +++ b/gosa-core/include/class_config.inc @@ -60,6 +60,7 @@ class config { var $idepartments= array(); var $adepartments= array(); var $tdepartments= array(); + var $department_info= array(); var $filename = ""; var $last_modified = 0; @@ -246,6 +247,10 @@ class config { } break; + case 'PATHMENU': + $this->data['PATHMENU']= array(); ; + break; + /* Inser plugins */ case 'PLUGIN': if ($this->tags[$this->level-3] == 'MENU' && @@ -253,6 +258,9 @@ class config { $this->data['MENU'][$this->section][$this->gpc++]= $attrs; } + if ($this->tags[$this->level-2] == 'PATHMENU'){ + $this->data['PATHMENU'][$this->gpc++]= $attrs; + } if ($this->tags[$this->level-2] == 'SERVICEMENU'){ $this->data['SERVICE'][$attrs['CLASS']]= $attrs; } @@ -390,8 +398,8 @@ class config { $bases= array(); $servers= array(); foreach ($this->current['REFERRAL'] as $ref){ - $server= preg_replace('%^(.*)/[^/]+$%', '\\1', $ref['URI']); - $base= preg_replace('%^.*/([^/]+)$%', '\\1', $ref['URI']); + $server= preg_replace('%^(.*://[^/]+)/.*$%', '\\1', $ref['URI']); + $base= preg_replace('%^.*://[^/]+/(.*)$%', '\\1', $ref['URI']); $bases[$base]= strlen($base); $servers[$base]= $server; } @@ -720,7 +728,7 @@ class config { $types = departmentManagement::get_support_departments(); /* Create a list of attributes to fetch */ - $ldap_values = array("objectClass","gosaUnitTag"); + $ldap_values = array("objectClass","gosaUnitTag", "description"); $filter = ""; foreach($types as $type){ $ldap_values[] = $type['ATTR']; @@ -739,16 +747,18 @@ class config { foreach($types as $t => $data){ if(in_array($data['OC'],$attrs['objectClass'])){ $type_data = $data; - break; + break; } } - /* Unknown department type -> skip - */ + /* Unknown department type -> skip */ if(!count($type_data)) continue; $dn= $ldap->getDN(); $this->tdepartments[$dn]= ""; + $this->department_info[$dn]= array("img" => $type_data['IMG'], + "description" => isset($attrs['description'][0])?$attrs['description'][0]:"", + "name" => $attrs[$type_data['ATTR']][0]); /* Save administrative departments */ if (in_array_ics("gosaAdministrativeUnit", $attrs['objectClass']) && @@ -765,7 +775,6 @@ class config { if ($dn == $ignore_dn){ continue; } - $c_dn = convert_department_dn($dn)." (".$type_data['ATTR'].")"; /* Only assign non-root departments */ @@ -805,7 +814,7 @@ class config { } /* Split dn into single department pieces */ - $elements = array_reverse(split(',',preg_replace("/$qbase$/",'',$val))); + $elements = array_reverse(explode(',',preg_replace("/$qbase$/",'',$val))); /* Add last ou element of current dn to our array */ $last = &$arr; @@ -903,7 +912,7 @@ class config { } if(isset($entry['goExportEntry'])){ foreach($entry['goExportEntry'] as $export){ - $shareAttrs = split("\|",$export); + $shareAttrs = explode("|",$export); if($listboxEntry) { $return[$shareAttrs[0]."|".$entry['cn'][0]] = $shareAttrs[0]." - ".$entry['cn'][0]; }else{ @@ -944,7 +953,7 @@ class config { unset($entry['goExportEntry']['count']); } foreach($entry['goExportEntry'] as $share){ - $a_share = split("\|",$share); + $a_share = explode("|",$share); $sharename = $a_share[0]; $data= array(); $data['NAME'] = $sharename;