X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fsystems%2Fclass_systemManagement.inc;h=7f7265767d0893e8d8217843fcebc8057dbb38d7;hb=3644520502707cc1a35a915bfa358105e86c4818;hp=8ce5e041d3fdf2b3a30c89e38e32cd8cd9050655;hpb=0b6384090c57456ce75d047c6b39cf0cfc30653a;p=gosa.git
diff --git a/plugins/admin/systems/class_systemManagement.inc b/plugins/admin/systems/class_systemManagement.inc
index 8ce5e041d..7f7265767 100644
--- a/plugins/admin/systems/class_systemManagement.inc
+++ b/plugins/admin/systems/class_systemManagement.inc
@@ -65,6 +65,9 @@ class systems extends plugin
function execute()
{
+ /* Call parent execute */
+ plugin::execute();
+
/* Save data */
$terminalfilter= get_global("terminalfilter");
foreach( array("depselect", "user", "regex") as $type){
@@ -199,6 +202,7 @@ class systems extends plugin
$this->systab->set_acl ($this->acl);
$this->systab->by_object['termgeneric']->cn= "default";
$this->systab->by_object['termservice']->cn= "default";
+ $this->systab->by_object['termgeneric']->base = $_SESSION['terminalfilter']['depselect'];
break;
case 'workstation':
@@ -206,35 +210,43 @@ class systems extends plugin
$this->config->data['TABS']['WORKTABS'], $this->dn);
$this->systab->set_acl ($this->acl);
$this->systab->by_object['workgeneric']->cn= "wdefault";
- $this->systab->by_object['termservice']->cn= "default";
+ $this->systab->by_object['workservice']->cn= "default";
+ $this->systab->by_object['workgeneric']->base = $_SESSION['terminalfilter']['depselect'];
break;
case 'server':
$this->systab= new servtabs($this->config,
$this->config->data['TABS']['SERVTABS'], $this->dn);
$this->systab->set_acl ($this->acl);
+ $this->systab->by_object['servgeneric']->base = $_SESSION['terminalfilter']['depselect'];
break;
case 'printer':
$this->systab= new printtabs($this->config,
$this->config->data['TABS']['PRINTTABS'], $this->dn);
$this->systab->set_acl ($this->acl);
+ $this->systab->by_object['printgeneric']->base = $_SESSION['terminalfilter']['depselect'];
break;
case 'phone':
$this->systab= new phonetabs($this->config,
$this->config->data['TABS']['PHONETABS'], $this->dn);
$this->systab->set_acl ($this->acl);
+ $this->systab->by_object['phonegeneric']->base = $_SESSION['terminalfilter']['depselect'];
break;
case 'component':
$this->systab= new componenttabs($this->config,
$this->config->data['TABS']['COMPONENTTABS'], $this->dn);
$this->systab->set_acl ($this->acl);
+ $this->systab->by_object['componentgeneric']->base = $_SESSION['terminalfilter']['depselect'];
break;
}
+
+ $this->systab->base = $_SESSION['terminalfilter']['depselect'];
}
+
/* User wants to edit data? */
if ($s_action == "edit"){
@@ -450,7 +462,8 @@ class systems extends plugin
$this->systab= new $tabtype($this->config,
$this->config->data['TABS']['TERMTABS'], $this->dn);
$this->systab->set_acl(array($this->acl));
- $this->systab->by_object['termgeneric']->remove_from_parent ();
+ $this->systab->delete();
+ #$this->systab->by_object['termgeneric']->remove_from_parent ();
}
unset ($this->systab);
gosa_log ("System object'".$this->dn."' has been removed");
@@ -524,9 +537,9 @@ class systems extends plugin
/* Don't show buttons if tab dialog requests this */
if (!$this->systab->by_object[$this->systab->current]->dialog){
$display.= "
\n";
- $display.= "\n";
+ $display.= "\n";
$display.= " \n";
- $display.= "\n";
+ $display.= "\n";
$display.= "
";
}
return ($display);
@@ -541,7 +554,7 @@ class systems extends plugin
$options= "";
foreach ($this->config->idepartments as $key => $value){
if ($terminalfilter['depselect'] == $key){
- $options.= "";
+ $options.= "";
} else {
$options.= "";
}
@@ -550,38 +563,32 @@ class systems extends plugin
/* NEW LIST MANAGMENT */
$listhead = "";
-
-
- $action= "";
- $action.= "";
-
+ $action= "";
+ $action.= "";
$divlist = new divlist("systemstab");
$divlist->SetHeader(array(
- array("string" => " "),
- array("string" => _("System")." / "._("Department")),
- array("string" => _("Actions"), "attach" => "style='border:none'" )));
-
+ array("string" => " ", "attach" => "style='text-align:center;width:20px;'"),
+ array("string" => _("System")." / "._("Department"), "attach" => "style=''"),
+ array("string" => _("Actions"), "attach" => "style='width:60px;border-right:0px;text-align:right;'" )));
$divlist->SetSummary(_("This table displays all systems, in the selected tree."));
- $divlist->SetEntriesPerPage(20);
+ $divlist->SetEntriesPerPage(0);
// Defining Links
$linkopen = "%s";
@@ -600,9 +607,9 @@ class systems extends plugin
}
}
- $field1 = array("string" => "
");
- $field2 = array("string" => sprintf($linkopen,base64_encode($key),$val));
- $field3 = array("string" => " ", "attach" => "style='border:none'");
+ $field1 = array("string" => "
", "attach" => "style='text-align:center;width:20px;'");
+ $field2 = array("string" => sprintf($linkopen,base64_encode($key),$val), "attach" => "style=''");
+ $field3 = array("string" => " ", "attach" => "style='width:60px;border-right:0px;text-align:right;'");
$divlist->AddEntry(array($field1,$field2,$field3));
}
@@ -613,16 +620,16 @@ class systems extends plugin
$editlink = "%s";
// Pictures for Extensions
- $img1 = "
";
- $img2 = "
";
- $img3 = "
";
- $img4 = "
";
- $img5 = "
";
- $img6 = "
";
- $img7 = "
";
- $img8 = "
";
- $img9 = "
";
- $img10 = "
";
+ $img1 = "
";
+ $img2 = "
";
+ $img3 = "
";
+ $img4 = "
";
+ $img5 = "
";
+ $img6 = "
";
+ $img7 = "
";
+ $img8 = "
";
+ $img9 = "
";
+ $img10 = "
";
// Test Every Entry and generate divlist Array
foreach($this->terminals as $key => $val){
@@ -632,7 +639,7 @@ class systems extends plugin
if(in_array("goSyslogServer" ,$val['objectClass'])) $syslog = $img3; else $syslog=$empty;
if(in_array("goImapServer" ,$val['objectClass'])) $imap = $img4; else $imap =$empty;
if(in_array("sambaSamAccount" ,$val['objectClass'])) $samba = $img5; else $samba =$empty;
- if(in_array("goNfsServer" ,$val['objectClass'])) $nfs = $img6; else $nfs =$empty;
+ if(in_array("goShareServer" ,$val['objectClass'])) $nfs = $img6; else $nfs =$empty;
if(in_array("goKrbServer" ,$val['objectClass'])) $krb = $img7; else $krb =$empty;
if(in_array("goFonServer" ,$val['objectClass'])) $fon = $img8; else $fon =$empty;
if(in_array("goFaxServer" ,$val['objectClass'])) $fax = $img9; else $fax =$empty;
@@ -640,6 +647,9 @@ class systems extends plugin
$pics = $cups.$logdb.$syslog.$imap.$samba.$nfs.$krb.$fon.$fax.$ldap;
$pics = "";
+
+ $val['cn'][0]= preg_replace('/\$$/', '', $val['cn'][0]);
+
// Generate Array to Add
if((isset($val['is_new']))&&(!empty($val['is_new']))){
$display= "".$val["cn"][0]." ".$val['is_new'];
@@ -647,33 +657,29 @@ class systems extends plugin
$display= "".$val["cn"][0]."";
}
- if(in_array("gotoTerminal",$val['objectClass'])){
- $action2 = "";
+ if((in_array("gotoTerminal",$val['objectClass']))||(in_array("gotoWorkstation",$val['objectClass']))){
+ $action2 = "";
}else{
$action2 = "";
}
-
if(isset($val['message'])){
$display.= " (".$val['message']." '".$this->config->idepartments[$terminalfilter['depselect']]."' )";
}
$img=$this->convert_list($val);
- $field1 = array("string" => sprintf($img['img'],$val['dn']),"attach"=>"style='width:20px;align:middle;'");
- $field2 = array("string" => sprintf($editlink,$key,$display),"attach"=>"title='".$val['dn']."'");
- $field3 = array("string" => preg_replace("/%KEY%/", "$key", $action2.$action),"attach" => "style='border:none; text-align:right;width:48px'");
+ $field1 = array("string" => sprintf($img['img'],$val['dn']), "attach" => "style='text-align:center;width:20px;'");
+ $field2 = array("string" => sprintf($editlink,$key,$display), "attach" => "style='' title='".$val['dn']."'");
+ $field3 = array("string" => preg_replace("/%KEY%/", "$key", $action2.$action), "attach" => "style='width:60px;border-right:0px;text-align:right;'");
$divlist->AddEntry( array($field1,$field2,$field3));
}
-
-
-
-
/* Show main page */
$smarty->assign("terminalshead", $listhead);
$smarty->assign("terminals", $divlist->DrawList());
$smarty->assign("search_image", get_template_path('images/search.png'));
+ $smarty->assign("searchu_image", get_template_path('images/search_user.png'));
$smarty->assign("tree_image", get_template_path('images/tree.png'));
$smarty->assign("infoimage", get_template_path('images/info.png'));
$smarty->assign("launchimage", get_template_path('images/launch.png'));
@@ -713,7 +719,7 @@ class systems extends plugin
}
foreach ($conv as $key => $value){
if($input['type']==$key){
- $tmp['img'] ="
";
+ $tmp['img'] ="
";
$tmp['class']=$key;
return $tmp;
}
@@ -831,14 +837,53 @@ class systems extends plugin
/* Get all gotoTerminal's */
$this->terminals= array();
- $res= get_list($this->ui->subtreeACL, "(|$termfilter$workfilter$winfilter$printfilter$phonefilter$serverfilter$netfilter)", TRUE, $base, array("cn", "description", "macAddress", "objectClass", "sambaDomainName"), TRUE);
+ $res= get_list($this->ui->subtreeACL, "(|$termfilter)", FALSE, "ou=terminals,ou=systems,".$base,
+ array("cn", "description", "macAddress", "objectClass", "sambaDomainName"), FALSE);
-
- /* NEW LIST MANAGMENT
+ $res= array_merge($res,get_list($this->ui->subtreeACL, "(|$termfilter)", FALSE, "ou=incoming,".$base,
+ array("cn", "description", "macAddress", "objectClass", "sambaDomainName"), FALSE));
+
+ $res= array_merge($res,
+ get_list($this->ui->subtreeACL, "(|$serverfilter)", FALSE, "ou=servers,ou=systems,".$base,
+ array("cn", "description", "macAddress", "objectClass", "sambaDomainName"), FALSE));
+
+ $res= array_merge($res,
+ get_list($this->ui->subtreeACL, "(|$phonefilter)", FALSE, "ou=phones,ou=systems,".$base,
+ array("cn", "description", "macAddress", "objectClass", "sambaDomainName"), FALSE));
+
+ $res= array_merge($res,
+ get_list($this->ui->subtreeACL, "(|$netfilter)", FALSE, "ou=netdevices,ou=systems,".$base,
+ array("cn", "description", "macAddress", "objectClass", "sambaDomainName"), FALSE));
+
+ $res= array_merge($res,
+ get_list($this->ui->subtreeACL, "(|$printfilter)", FALSE, "ou=printers,ou=systems,".$base,
+ array("cn", "description", "macAddress", "objectClass", "sambaDomainName"), FALSE));
+
+ $res= array_merge($res,
+ get_list($this->ui->subtreeACL, "(|$workfilter)", FALSE, "ou=workstations,ou=systems,".$base,
+ array("cn", "description", "macAddress", "objectClass", "sambaDomainName"), FALSE));
+
+ $res= array_merge($res,
+ get_list($this->ui->subtreeACL, "(|$workfilter)", FALSE, "ou=incoming,".$base,
+ array("cn", "description", "macAddress", "objectClass", "sambaDomainName"), FALSE));
+
+ $res= array_merge($res,
+ get_list($this->ui->subtreeACL, "(|$winfilter)", FALSE, "ou=winstations,ou=systems,".$base,
+ array("cn", "description", "macAddress", "objectClass", "sambaDomainName"), FALSE));
+
+/* NEW LIST MANAGMENT
* We also need to search for the departments
* So we are able to navigate like in konquerer
*/
- $base2 = preg_replace("/ou=people,/i","",$base);
+
+ $peopleOU = get_people_ou();
+
+ if(empty($peopleOU)){
+ $base2 = $base;
+ }else{
+ $base2 = preg_replace("/".$peopleOU."/i","",$base);
+ }
+
$res3 = get_list2($this->ui->subtreeACL, "(&(|(ou=$regex)(description=$regex))(objectClass=gosaDepartment))",
TRUE, $base2, array("ou", "description"), TRUE);
@@ -850,10 +895,10 @@ class systems extends plugin
}
ksort($tmp);
foreach($tmp as $value){
- if($value["description"][0]!=".."){
+ if(isset($value["description"][0])){
$this->departments[$value['dn']]=convert_department_dn2($value['dn'])." - [".$value["description"][0]."]";
}else{
- $this->departments[$value['dn']]=$value["description"][0];
+ $this->departments[$value['dn']]=convert_department_dn2($value['dn']);//$value["description"][0];
}
}
@@ -891,10 +936,10 @@ class systems extends plugin
}
if (preg_match ("/,ou=incoming,/i", $tmp)){
if (in_array('gotoTerminal', $value['objectClass'])){
- $add= "+ "._("New terminal");
+ $add= "- "._("New terminal");
}
if (in_array('gotoWorkstation', $value['objectClass'])){
- $add= "+ "._("New workstation");
+ $add= "- "._("New workstation");
}
} else {
$add= "";
@@ -918,6 +963,7 @@ class systems extends plugin
if (isset($value["macAddress"][0]) && $value["macAddress"][0] != "-"){
$terminal = $value;
$terminal['type'] = "L";
+ $terminal['is_new'] = $add;
} else {
$terminal = $value;
$terminal['type'] = "D";
@@ -943,17 +989,17 @@ class systems extends plugin
} else {
$domain= "";
}
- $terminal=$value;
- $terminal['type'] ="W";
- $terminal['domain'] = $name.$domain;
+ $terminal=$value;
+ $terminal['type'] ="W";
+ $terminal['domain'] = $name.$domain;
}
- $this->terminals[]=$terminal;
+ $this->terminals[]=$terminal;
}
}
$tmp=array();
foreach($this->terminals as $tkey => $val ){
- $tmp[strtolower($val['cn'][0]).$val['cn'][0]]=$val;
+ $tmp[strtolower($val['cn'][0]).$val['dn']]=$val;
}
ksort($tmp);
$this->terminals=array();