diff --git a/plugins/admin/systems/class_systemManagement.inc b/plugins/admin/systems/class_systemManagement.inc
index ad8910dd40bea4622894cc269d38c20cdf5267cf..5c37d6b904e6f4ef52e4e39bdd36e50b98fc1c74 100644 (file)
$s_entry = $_GET['id'];
}
- /* Save Termfilter .... */
- $this->reload();
-
/* Check for exeeded sizelimit */
if (($message= check_sizelimit()) != ""){
return($message);
/* Find out more about the object type */
$ldap= $this->config->get_ldap_link();
- $ldap->cat($this->dn);
+ $ldap->cat($this->dn, array('objectClass'));
$attrs= $ldap->fetch();
$type= $this->get_system_type($attrs['objectClass']);
/* Find out more about the object type */
$ldap= $this->config->get_ldap_link();
- $ldap->cat($this->dn);
+ $ldap->cat($this->dn, array('objectClass'));
$attrs= $ldap->fetch();
$type= $this->get_system_type($attrs['objectClass']);
$this->systab= NULL;
/* Terminal list has changed, reload it. */
- $this->reload ();
} else {
/* Normally this shouldn't be reached, send some extra
$ldap = $this->config->get_ldap_link();
}
$ldap->cd ($this->dn);
- $ldap->cat($this->dn);
+ $ldap->cat($this->dn, array('dn'));
if(count($ldap->fetch())){
$ldap->cd($this->dn);
$ldap->rmDir($this->dn);
del_lock ($this->dn);
}
- /* There's no page reload so we have to read new terminals at
- this point. */
- $this->reload ();
unset ($this->systab);
$this->systab= NULL;
unset($_SESSION['objectinfo']);
}
/* Display dialog with system list */
+ $this->DivListSystem->parent = $this;
$this->DivListSystem->execute();
+
+ /* Add departments if subsearch is disabled */
+ if(!$this->DivListSystem->SubSearch){
+ $this->DivListSystem->AddDepartments($this->DivListSystem->selectedBase);
+ }
+ $this->reload();
$this->DivListSystem->setEntries($this->terminals);
return($this->DivListSystem->Draw());
}
/* Walk through all possible search combinations, and search for some objects if the checkbox is enabled */
foreach($objs as $checkBox => $oc){
-
if($this->DivListSystem->$checkBox){
- /* User filter? */
- if($oc['CLASS'] != ""){
- $filter = "(|(&".$userregex."(objectClass=".$oc['CLASS'].")(cn=".$this->DivListSystem->Regex.")))";
- $res = array_merge($res,get_list($filter,$this->ui->subtreeACL, $oc['TREE'].$base,
- array("cn", "description", "macAddress", "objectClass", "sambaDomainName", "FAIstate"), GL_NONE));
+ if($this->DivListSystem->SubSearch){
+ if($oc['CLASS'] != ""){
+ $filter = "(|(&".$userregex."(objectClass=".$oc['CLASS'].")(cn=".$this->DivListSystem->Regex.")))";
+ $res = array_merge($res,get_list($filter,$this->ui->subtreeACL, $base,
+ array("cn", "description", "macAddress", "objectClass", "sambaDomainName", "FAIstate"), GL_NONE | GL_SUBSEARCH | GL_SIZELIMIT));
+ }
+ }else{
+ /* User filter? */
+ if($oc['CLASS'] != ""){
+ $filter = "(|(&".$userregex."(objectClass=".$oc['CLASS'].")(cn=".$this->DivListSystem->Regex.")))";
+ $res = array_merge($res,get_list($filter,$this->ui->subtreeACL, $oc['TREE'].$base,
+ array("cn", "description", "macAddress", "objectClass", "sambaDomainName", "FAIstate"), GL_NONE | GL_SIZELIMIT));
+ }
}
}
}
/* Search for incoming objects */
$filter = "(|(&".$userregex."(objectClass=goHard)(cn=".$this->DivListSystem->Regex.")))";
$res = array_merge($res,get_list($filter,$this->ui->subtreeACL, "ou=incoming,".$base,
- array("cn", "description", "macAddress", "objectClass", "sambaDomainName"), GL_NONE));
+ array("cn", "description", "macAddress", "objectClass", "sambaDomainName"), GL_NONE | GL_SIZELIMIT));
/* Get all gotoTerminal's */
foreach ($res as $value){
/* check if current object is a new one */
if (preg_match ("/,ou=incoming,/i", $tmp)){
- if (in_array('gotoTerminal', $value['objectClass'])){
+ if (in_array_ics('gotoTerminal', $value['objectClass'])){
$add= "- "._("New terminal");
- }elseif (in_array('gotoWorkstation', $value['objectClass'])){
+ }elseif (in_array_ics('gotoWorkstation', $value['objectClass'])){
$add= "- "._("New workstation");
- }elseif (in_array('GOhard', $value['objectClass'])){
+ }elseif (in_array_ics('GOhard', $value['objectClass'])){
$add= "- "._("New Device");
}
}
/* Detect type of object and create an entry for $this->terminals */
$terminal = array();
if ((in_array ($tmp, $responsible)) || ($add != "")){
- if (in_array('gotoTerminal', $value["objectClass"])){
+ if (in_array_ics('gotoTerminal', $value["objectClass"])){
if (isset($value["macAddress"][0]) && $value["macAddress"][0] != "-"){
$terminal = $value;
$terminal['type'] = "T";
$terminal['message'] = _("Terminal template for");
$terminal['location'] = array_search($tmp, $this->config->departments);
}
- } elseif (in_array('gotoWorkstation', $value["objectClass"])){
+ } elseif (in_array_ics('gotoWorkstation', $value["objectClass"])){
if (isset($value["macAddress"][0]) && $value["macAddress"][0] != "-"){
$terminal = $value;
$terminal['type'] = "L";
if (isset($value["FAIstate"][0])){
$terminal['type']= $this->getState($terminal['type'], $value["FAIstate"][0]);
}
- } elseif (in_array('gotoPrinter', $value["objectClass"])){
+ } elseif (in_array_ics('gotoPrinter', $value["objectClass"])){
$terminal = $value;
$terminal['type'] = "P";
- } elseif (in_array('goServer', $value["objectClass"])){
+ } elseif (in_array_ics('goServer', $value["objectClass"])){
$terminal = $value;
$terminal['type'] = "S";
if (isset($value["FAIstate"][0])){
$terminal['type']= $this->getState($terminal['type'], $value["FAIstate"][0]);
}
- } elseif (in_array('goFonHardware', $value["objectClass"])){
+ } elseif (in_array_ics('goFonHardware', $value["objectClass"])){
$terminal = $value;
$terminal['type'] = "F";
- }elseif (in_array("GOhard",$value['objectClass'])){
+ }elseif (in_array_ics("GOhard",$value['objectClass'])){
$terminal = $value;
$terminal['type'] = "Q";
$terminal['is_new'] = $add;
- } elseif (in_array('ieee802Device', $value["objectClass"])){
+ } elseif (in_array_ics('ieee802Device', $value["objectClass"])){
$terminal = $value;
$terminal['type'] = "C";
} else{
function get_system_type($classes)
{
$type= "";
- if (in_array('ieee802Device', $classes)){
+ if (in_array_ics('ieee802Device', $classes)){
$type= "component";
- }elseif (in_array('gotoTerminal', $classes)){
+ }elseif (in_array_ics('gotoTerminal', $classes)){
$type= "terminal";
- }elseif (in_array('gotoWorkstation', $classes)){
+ }elseif (in_array_ics('gotoWorkstation', $classes)){
$type= "workstation";
- }elseif (in_array('gotoPrinter', $classes)){
+ }elseif (in_array_ics('gotoPrinter', $classes)){
$type= "printer";
- }elseif (in_array('goFonHardware', $classes)){
+ }elseif (in_array_ics('goFonHardware', $classes)){
$type= "phone";
- }elseif (in_array('goServer', $classes)){
+ }elseif (in_array_ics('goServer', $classes)){
$type= "server";
- }elseif (in_array('GOhard', $classes)){
+ }elseif (in_array_ics('GOhard', $classes)){
$type= "NewDevice";
- }elseif (in_array('sambaAccount', $classes) ||
- in_array('sambaSamAccount', $classes)){
+ }elseif (in_array_ics('sambaAccount', $classes) ||
+ in_array_ics('sambaSamAccount', $classes)){
$type= "winstation";
}
return ($type);