X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-plugins%2Fgoto%2Fadmin%2Fsystems%2Fgoto%2Fclass_workstationStartup.inc;h=f902a92e0608c4a8a6f759164175b8cf81f13f1b;hb=84795129287efd59af4a0f0e4817d0e6655de076;hp=9d2fd89c521283708e559b3dd1faeaa303107751;hpb=d813b265cdb93bbb88119e0637062cc32e17a1d4;p=gosa.git diff --git a/gosa-plugins/goto/admin/systems/goto/class_workstationStartup.inc b/gosa-plugins/goto/admin/systems/goto/class_workstationStartup.inc index 9d2fd89c5..f902a92e0 100644 --- a/gosa-plugins/goto/admin/systems/goto/class_workstationStartup.inc +++ b/gosa-plugins/goto/admin/systems/goto/class_workstationStartup.inc @@ -251,6 +251,16 @@ class workstartup extends plugin $this->update_fai_cache(); } } + + + // Prepare lists + $this->ldapList = new sortableListing(array(),array(), TRUE); + $this->ldapList->setDeleteable(true); + $this->ldapList->setEditable(false); + $this->ldapList->setWidth("100%"); + $this->ldapList->setHeight("100px"); + $this->ldapList->setHeader(array(_("LDAP server"))); + $this->ldapList->setDefaultSortColumn(0); } @@ -453,10 +463,7 @@ class workstartup extends plugin $smarty->assign("gotoShareKeys",array_flip($this->printOutAssignedShares())); $smarty->assign("gotoBootKernels",$this->gotoBootKernels); - /* Create divSelectBox for ldap server selection - */ - $SelectBoxLdapServer = new divSelectBox("LdapServer"); - $SelectBoxLdapServer->SetHeight(100); + $this->ldapList->setAcl($this->getacl('gotoLdapServer')); /* Add new ldap server to the list */ if($this->acl_is_writeable("gotoLdapServer") && @@ -472,67 +479,38 @@ class workstartup extends plugin } /* Move ldap servers up and down */ - if(!$this->gotoLdap_inherit && $this->acl_is_writeable("gotoLdapServer")){ - foreach($_POST as $name => $value){ - if(preg_match("/sort_ldap_up_/",$name)){ - $id = preg_replace("/^sort_ldap_up_([0-9]*)$/","\\1",$name); - $from = $id; - $to = $id -1; - $tmp = $this->array_switch_item($this->gotoLdapServers,$from,$to); - if($tmp){ - $this->gotoLdapServers = $tmp; - } - break; - } - if(preg_match("/sort_ldap_down_/",$name)){ - $id = preg_replace("/^sort_ldap_down_([0-9]*)$/","\\1",$name); - $from = $id; - $to = $id +1; - $tmp = $this->array_switch_item($this->gotoLdapServers,$from,$to); - if($tmp){ - $this->gotoLdapServers = $tmp; - } - break; - } - if(preg_match("/gotoLdapRemove_/",$name)){ - $id = preg_replace("/^gotoLdapRemove_([0-9]*)$/","\\1",$name); - $value = $this->gotoLdapServers[$id]; - $this->gotoLdapServers = array_remove_entries(array($value),$this->gotoLdapServers); - break; - } - } + $this->ldapList->save_object(); + $action = $this->ldapList->getAction(); + if($action['action'] == 'reorder'){ + $this->gotoLdapServers = array_values($this->ldapList->getMaintainedData()); + } + if($action['action'] == 'delete'){ + $id = $this->ldapList->getKey($action['targets'][0]); + $value = $this->gotoLdapServers[$id]; + $this->gotoLdapServers = array_remove_entries(array($value),$this->gotoLdapServers); } - - /* Add Entries */ - if($this->acl_is_readable("gotoLdapServer")){ - foreach($this->gotoLdapServers as $key => $server){ + /* Add Entries */ + $data = $lData = array(); + foreach($this->gotoLdapServers as $key => $server){ + $data[$key]=$server; /* Announce missing entries */ if(!in_array($server,$this->gotoLdapServerList)){ - $server = $server." (missing)"; + $server = $server." (missing)"; } /* Convert old style entry */ if (!preg_match('%:ldaps?://%', $server)){ - $server= "ldap://".preg_replace('/^([^:]+):/', '\1/', $server); - - /* Beautify new style entries */ - } else { - $server= preg_replace("/^[^:]+:/", "", $server); - } - - $SelectBoxLdapServer->AddEntry( - array( - array( - "string" => $server), - array("string" => - image('images/lists/sort-up.png',"sort_ldap_up_".$key,'',"top"). - image('images/lists/sort-down.png',"sort_ldap_down_".$key,'',"bottom"). - image('images/lists/trash.png',"gotoLdapRemove_".$key), - "attach" => "style='text-align:right;width:60px;border-right:0px;'"))); - } - } + $server= "ldap://".preg_replace('/^([^:]+):/', '\1/', $server); + } else { + $server= preg_replace("/^[^:]+:/", "", $server); + $lData[$key] = array('data'=>array($server)); + } + } + $this->ldapList->setListData($data,$lData); + $this->ldapList->update(); + $smarty->assign("usePrototype", "true"); if($this->gotoLdap_inherit){ $smarty->assign("gotoLdapServerACL_inherit", preg_replace("/w/","",$this->getacl("gotoLdapServer")));; @@ -556,7 +534,7 @@ class workstartup extends plugin $list[$key] = $entry; } } - $smarty->assign("gotoLdapServers", $SelectBoxLdapServer->DrawList()); + $smarty->assign("gotoLdapServers", $this->ldapList->render()); $smarty->assign("gotoLdapServerList", $list); $smarty->assign("gotoLdap_inherit", $this->gotoLdap_inherit); $smarty->assign("JS", session::get('js')); @@ -1029,6 +1007,7 @@ class workstartup extends plugin "plProvidedAcls"=> array( "gotoLdapServer" => _("Ldap server"), "gotoBootKernel" => _("Boot kernel"), + "bootmode" => _("Boot mode"), "gotoKernelParameters" => _("Kernel parameter"), "gotoModules" => _("Kernel modules"),