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=99ccc4ba640c8de212a84c235fa77b9fbf678539;hpb=fd16381bbcb916810fe1c4899ff0fdd52f5e8dd3;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 99ccc4ba6..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); } @@ -281,8 +291,7 @@ class workstartup extends plugin /* Do we represent a valid terminal? */ if (!$this->is_account && $this->parent === NULL){ - $display= "\"\" ". - msgPool::noValidExtension(_("workstation")).""; + $display= image("images/small-error.png")."".msgPool::noValidExtension(_("workstation")).""; return ($display); } @@ -342,7 +351,7 @@ class workstartup extends plugin } if(($sort_type)&&(!$sort)){ - $value = base64_decode(preg_replace("/_.*$/i","",preg_replace("/".$sort_type."/i","",$name))); + $value = postDecode(preg_replace("/_.*$/i","",preg_replace("/".$sort_type."/i","",$name))); $sort = true; $last = -1; @@ -389,7 +398,7 @@ class workstartup extends plugin } if(preg_match("/fai_remove/i",$name)){ - $value = base64_decode(preg_replace("/_.*$/i","",preg_replace("/fai_remove_/i","",$name))); + $value = postDecode(preg_replace("/fai_remove_/i","",$name)); unset($this->FAIclass[$value]); } } @@ -454,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(130); + $this->ldapList->setAcl($this->getacl('gotoLdapServer')); /* Add new ldap server to the list */ if($this->acl_is_writeable("gotoLdapServer") && @@ -473,65 +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]*)_(x|y)$/","\\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]*)_(x|y)$/","\\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]*)_(x|y)$/","\\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" => - " ". - " ". - "", - "attach" => "style='text-align:right;width:40px;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")));; @@ -555,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')); @@ -577,7 +556,7 @@ class workstartup extends plugin $smarty->assign("si_active",$this->si_active); $div = new divSelectBox("WSFAIscriptClasses"); - $div -> SetHeight("110"); + $div -> SetHeight("100"); if(!$this->si_fai_action_failed && $this->si_active && $this->fai_activated){ @@ -598,11 +577,11 @@ class workstartup extends plugin $smarty->assign("gotoBootKernels",$this->cache['KERNELS'][$release]); $smarty->assign("InheritedFAIrelease",$this->InheritedFAIrelease); - $str_empty = "  \"\""; + $str_empty = image('images/empty.png'); if($this->acl_is_writeable("FAIclass")){ - $str_up = "  "; - $str_down = "  "; - $str_remove = "  "; + $str_up = image('images/lists/sort-up.png','sort_up_%s'); + $str_down = image('images/lists/sort-down.png','sort_down_%s'); + $str_remove = image('images/lists/trash.png','fai_remove_%s'); }else{ $str_up=$str_down=$str_remove=$str_empty; } @@ -664,7 +643,7 @@ class workstartup extends plugin $desc =""; foreach($this->cache['CLASSES'][$this->FAIrelease][$class] as $types ){ if(isset($types['Abbr'])){ - $desc.= " "; + $desc.= image($objects[$types['Abbr']]['IMG']); if($types['Type'] == "FAIprofile"){ break; } @@ -678,7 +657,7 @@ class workstartup extends plugin $div->AddEntry(array( array("string"=>$class.$marker), array("string"=>$desc), - array("string"=>preg_replace("/\%s/",base64_encode($class),$str),"attach"=>"style='width:50px;border-right:none;'") + array("string"=>preg_replace("/\%s/",postEncode($class),$str),"attach"=>"style='width:60px;border-right:none;'") )); } }// END FAI output generation @@ -1028,6 +1007,7 @@ class workstartup extends plugin "plProvidedAcls"=> array( "gotoLdapServer" => _("Ldap server"), "gotoBootKernel" => _("Boot kernel"), + "bootmode" => _("Boot mode"), "gotoKernelParameters" => _("Kernel parameter"), "gotoModules" => _("Kernel modules"),