From 84795129287efd59af4a0f0e4817d0e6655de076 Mon Sep 17 00:00:00 2001 From: hickert Date: Thu, 8 Apr 2010 14:26:05 +0000 Subject: [PATCH] Removed old style list git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@17559 594d385d-05f5-0310-b6e9-bd551577e9d8 --- .../systems/goto/class_workstationStartup.inc | 92 +++++++------------ 1 file changed, 35 insertions(+), 57 deletions(-) diff --git a/gosa-plugins/goto/admin/systems/goto/class_workstationStartup.inc b/gosa-plugins/goto/admin/systems/goto/class_workstationStartup.inc index 03c98ae48..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')); -- 2.30.2