index 40d3981977bfa489e07a77fb858bc4159c235664..3963f42cf1e210e2d496c437ad7a755ba7cf27f2 100644 (file)
$this->Result = array();
$_SESSION['faiSummaryTab']['UniqueID'] = 0;
$tmp = $this->getBranches();
-
+
+
/* Get classes & release name
There are 2 different tabs which use the summary tab
faiProfile / Workstations */
/* Get Classes and release */
$this->Classes = $this->parent->by_object['faiProfile']->FAIclasses;
$str = preg_replace("/^.*ou=profiles,/","",$this->dn);
+
if(isset($tmp[$str])){
$this->Release = $tmp[$str];
}
}elseif(isset($this->parent->by_name['workstartup'])){
$this->Classes = $this->parent->by_object['workstartup']->FAIclass;
$this->Release = $this->parent->by_object['workstartup']->FAIrelease;
+
+ /* Append workstation class && LAST */
+ if(isset($this->parent->by_object['workgeneric']->cn)){
+ $this->Classes[] = $this->parent->by_object['workgeneric']->cn;
+ }
+
$tmp = array_flip($tmp);
if(!isset($tmp[$this->Release])) {
$this->Release = "";
}
}
+ $this->Classes[] = "LAST";
+
/* Set all available releases */
$this->Releases = array_flip($this->getBranches());
$this->usedClasses = array();
}
- /* returns an array with all possibly release types */
- function getBranches($base = false,$prefix = "")
+ function getBranches()
{
- $ret = array("main"=>"/");
+ $dn = $this->config->current['BASE'];
$ldap = $this->config->get_ldap_link();
- $ldap->cd($this->config->current['BASE']);
- if(!$base){
- $base= "ou=fai,ou=configs,ou=systems,".$_SESSION['CurrentMainBase'];
- }
- $ldap->cd($base);
- $ldap->ls("(objectClass=FAIbranch)",$base);
+ $ldap->cd($dn);
+ $ldap->search("(&(objectClass=organizationalUnit)(objectClass=FAIbranch))",array("ou","cn","dn"));
+ $ret = array("main"=>"/");
while($attrs = $ldap->fetch()){
- if((isset($attrs['ou']))&&($attrs['dn']!=$base)){
- $ret[$attrs['dn']]= $prefix.$attrs['ou'][0];
- $ret = array_merge($ret,$this->getBranches($attrs['dn'],"".$prefix.$attrs['ou'][0]."/"));
+ if(preg_match("/ou=fai,/",$attrs['dn'])){
+ $name = convert_department_dn(preg_replace("/,ou=fai,.*$/","",$attrs['dn']));
+ $ret[$attrs['dn']] = $name;
}
}
return($ret);