diff --git a/plugins/admin/systems/class_systemManagement.inc b/plugins/admin/systems/class_systemManagement.inc
index c6195ce8b123333e310d7cbe6ac63518c2b123f9..f757d339c0c8168d17a114b2995e1f4ebe5d99ad 100644 (file)
$terminalfilter['regex']= $s;
}
- $terminalfilter = get_global("terminalfilter"); // contains Filter Settings
$s_action = ""; // Contains the action to proceed
$s_entry = ""; // The value for s_action
$base_back = ""; // The Link for Backbutton
$s_entry = preg_replace("/user_setpwd_/i","",$key);
}elseif(preg_match("/dep_root.*/i",$key)){
$s_action="root";
+ }elseif(preg_match("/newsystem_.*/i",$key)){
+ $s_action="newsystem";
+ $s_entry = preg_replace("/newsystem_/i","",$key);
}
}
}
/* Create new default terminal */
- if (isset($_POST['create_system'])) {
+ if (isset($_POST['create_system'])||$s_action=="newsystem") {
$this->dn= "new";
$this->acl= array(":all");
- switch ($_POST['system']){
+ if(isset($_POST['system'])){
+ $sw = $_POST['system'];
+ }else{
+ $sw = $s_entry;
+ }
+
+ switch ($sw){
case 'terminal':
$this->systab= new termtabs($this->config,
$this->config->data['TABS']['TERMTABS'], $this->dn);
case "workstation":
$tabtype= "worktabs";
break;
+
+ case "phone":
+ $tabtype= "phonetabs";
+ break;
case "server":
$tabtype= "servtabs";
}
/* Delete request is permitted, perform LDAP action */
- $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 ();
+ if($tabtype=="phonetabs"){
+ $this->systab= new $tabtype($this->config,
+ $this->config->data['TABS']['PHONETABS'], $this->dn);
+ $this->systab->set_acl(array($this->acl));
+ $this->systab->by_object['phonegeneric']->remove_from_parent ();
+ }else{
+ $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 ();
+ }
unset ($this->systab);
gosa_log ("System object'".$this->dn."' has been removed");
$this->systab= NULL;
" <input type='image' src='images/list_root.png' align='middle' title='"._("Go to root department")."' name='dep_root' alt='"._("Root")."'> ".
" <input type='image' align='middle' src='images/list_home.png' title='"._("Go to users department")."' alt='"._("Home")."' name='dep_home'> ".
" <img src='images/list_seperator.png' align='middle' alt='' height='16' width='1'> ".
- " <input type='image' align='middle' src='images/list_new_user.png' title='"._("Create new system")."' alt='"._("New user")."' name='user_new'> ".
+ " <input type='image' align='middle' src='images/select_new_terminal.png' name='newsystem_terminal' alt='"._("New Terminal")."' title='"._("New Terminal")."'>".
+ " <input type='image' align='middle' src='images/select_new_workstation.png' name='newsystem_workstation' alt='"._("New Workstation")."' title='"._("New Workstation")."'>".
+ " <input type='image' align='middle' src='images/select_new_server.png' name='newsystem_server' alt='"._("New Server")."' title='"._("New Server")."'>".
+ " <input type='image' align='middle' src='images/select_new_printer.png' name='newsystem_printer' alt='"._("New Printer")."' title='"._("New Printer")."'>".
+ " <input type='image' align='middle' src='images/select_new_phone.png' name='newsystem_phone' alt='"._("New Phone")."' title='"._("New Phone")."'>".
+ " <input type='image' align='middle' src='images/select_new_component.png' name='newsystem_component' alt='"._("New Component")."' title='"._("New Component")."'>".
" <img src='images/list_seperator.png' align='middle' alt='' height='16' width='1'> ".
_("Current base")." <select name='depselect' onChange='mainform.submit()'>$options</select>".
" <input type='image' src='images/list_submit.png' align='middle' title='"._("Submit department")."' name='submit_department' alt='". _("Submit")."'> ".
$linkopen = "<a href='?plug=".$_GET['plug']."&act=dep_open&dep_id=%s'>%s</a>";
foreach($this->departments as $key=> $val){
- $field1 = array("string" => "<img src='images/folder.png' alt='department'>");
+
+ if(!isset($this->config->departments[trim($key)])){
+ $this->config->departments[trim($key)]="";
+ }
+
+ $non_empty="";
+ $keys= str_replace("/","\/",$key);
+ foreach($this->config->departments as $keyd=>$vald ){
+ if(preg_match("/".$keys."\/.*/",$keyd)){
+ $non_empty="full";
+ }
+ }
+
+ $field1 = array("string" => "<img src='images/".$non_empty."folder.png' alt='department'>");
$field2 = array("string" => sprintf($linkopen,base64_encode($key),$val));
$field3 = array("string" => " ", "attach" => "style='border:none'");
$divlist->AddEntry(array($field1,$field2,$field3));
$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'));
/* 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);
+
+ $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, "(|$winfilter)", FALSE, "ou=winstations,ou=systems,".$base,
+ array("cn", "description", "macAddress", "objectClass", "sambaDomainName"), FALSE));
-
- /* NEW LIST MANAGMENT
+/* NEW LIST MANAGMENT
* We also need to search for the departments
* So we are able to navigate like in konquerer
*/