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=ae047a7e9b609968c22ce4d680606c5634669105;hpb=7440541a7c338da14ed07b1c657bcaf38268dad3;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 ae047a7e9..f902a92e0 100644
--- a/gosa-plugins/goto/admin/systems/goto/class_workstationStartup.inc
+++ b/gosa-plugins/goto/admin/systems/goto/class_workstationStartup.inc
@@ -128,7 +128,7 @@ class workstartup extends plugin
*/
$this->FAIclass =array();
if(isset($this->attrs['FAIclass'][0])){
- $tmp = split(" ",$this->attrs['FAIclass'][0]);
+ $tmp = explode(" ",$this->attrs['FAIclass'][0]);
$tmp2 =array();
foreach($tmp as $class){
@@ -160,7 +160,7 @@ class workstartup extends plugin
unset($this->attrs['gotoShare']['count']);
foreach($this->attrs['gotoShare'] as $share){
$tmp = $tmp2 = array();
- $tmp = split("\|",$share);
+ $tmp = explode("|",$share);
$tmp2['server'] =$tmp[0];
$tmp2['name'] =$tmp[1];
$tmp2['mountPoint'] =$tmp[2];
@@ -211,8 +211,8 @@ class workstartup extends plugin
break;
case 'FAIclass':
- $str = split(":",$attrs[$name][0]);
- $this->InheritedFAIclass = split("\ ",trim($str[0]));
+ $str = explode(":",$attrs[$name][0]);
+ $this->InheritedFAIclass = explode(" ",trim($str[0]));
$this->InheritedFAIrelease = trim($str[1]);
break;
@@ -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
@@ -777,7 +756,7 @@ class workstartup extends plugin
$ldap= $this->config->get_ldap_link();
/* Strip relevant part from dn, keep trailing ',' */
- $tmp= preg_replace("/^cn=[^,]+,".get_ou('terminalRDN')."/i", "", $this->dn);
+ $tmp= preg_replace("/^cn=[^,]+,".preg_quote(get_ou('terminalRDN'), '/')."/i", "", $this->dn);
$tmp= preg_replace("/".$this->config->current['BASE']."$/i", "", $tmp);
/* Walk from top to base and try to load default values for
@@ -876,7 +855,7 @@ class workstartup extends plugin
/* prepare share settings */
$tmp = array();
foreach($this->gotoShares as $name => $settings){
- $tmp2= split("\|",$name);
+ $tmp2= explode("|",$name);
$name = $tmp2[0];
$tmp[] = $settings['server']."|".$name."|".$settings['mountPoint'];
}
@@ -987,7 +966,8 @@ class workstartup extends plugin
plugin::PrepareForCopyPaste($source);
$source_o = new workstartup ($this->config, $source['dn']);
foreach(array("FAIclass","gotoModules", "gotoAutoFs", "gotoFilesystem",
- "gotoKernelParameters","gotoShares") as $attr){
+ "gotoKernelParameters","gotoShares","gotoLdapServers","gotoLdapServerList",
+ "gotoLdap_inherit") as $attr){
$this->$attr = $source_o->$attr;
}
}
@@ -1027,6 +1007,7 @@ class workstartup extends plugin
"plProvidedAcls"=> array(
"gotoLdapServer" => _("Ldap server"),
"gotoBootKernel" => _("Boot kernel"),
+ "bootmode" => _("Boot mode"),
"gotoKernelParameters" => _("Kernel parameter"),
"gotoModules" => _("Kernel modules"),
@@ -1138,19 +1119,19 @@ class workstartup extends plugin
*/
$lines= $this->GetHookElements();
foreach ($lines as $hline){
- $entries= split(";", $hline);
+ $entries= explode(";", $hline);
$server = $entries['0'];
$url = $entries['1'];
if (!empty($url)){
/* Split releases */
if (isset($entries[2])){
- $releases= split(",", $entries[2]);
+ $releases= explode(",", $entries[2]);
foreach ($releases as $release_data){
$release_c = preg_replace('/:.*$/', '', $release_data);
- $sections_c = split(':', preg_replace('/^[^:]+:([^|]+)|.*$/', '\1', $release_data));
- $classes_c = split('\|', preg_replace('/^[^|]+\|(.*)$/', '\1', $release_data));
+ $sections_c = explode(':', preg_replace('/^[^:]+:([^|]+)|.*$/', '\1', $release_data));
+ $classes_c = explode('|', preg_replace('/^[^|]+\|(.*)$/', '\1', $release_data));
if($release_c == $release){
$this->cache['SERVERS'][$url][$release_c]=$release_c;
@@ -1310,7 +1291,7 @@ class workstartup extends plugin
}elseif(empty($res2)){
msg_dialog::display(_("Configuration error"), _("'repositoryBranchHook' returned no result!"), ERROR_DIALOG);
}else{
- $tmp = split("\n",$res);
+ $tmp = preg_split("/\n/",$res);
foreach($tmp as $line){
if(empty($line)) continue;
$ret[]= $line;
@@ -1326,8 +1307,8 @@ class workstartup extends plugin
*/
function dn_to_release_name($dn)
{
- $relevant = preg_replace("/,".preg_quote(get_ou("faiBaseRDN"), '/').".*$/","",$dn);
- $parts = array_reverse(split("\,",$relevant));
+ $relevant = preg_replace("/,".preg_quote(get_ou("faiBaseRDN"), '/').".*$/i","",$dn);
+ $parts = array_reverse(explode(",",$relevant));
$str ="";
foreach($parts as $part){
$str .= preg_replace("/^ou=/","",$part)."/";