X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=gosa-plugins%2Ffai%2Fadmin%2Ffai%2Fclass_faiPartitionTableEntry.inc;h=dc743d1725b331d7b56cf8f6433b83a5ce7ba079;hb=e1f1c9511c9f6690c01c14ead7a9b2c80cdb7a7a;hp=360e45fbdb20fac9b309fd705686bf9346af52b3;hpb=ed7abf6f202cac0b77cd81a2a08c974854015153;p=gosa.git diff --git a/gosa-plugins/fai/admin/fai/class_faiPartitionTableEntry.inc b/gosa-plugins/fai/admin/fai/class_faiPartitionTableEntry.inc index 360e45fbd..dc743d172 100644 --- a/gosa-plugins/fai/admin/fai/class_faiPartitionTableEntry.inc +++ b/gosa-plugins/fai/admin/fai/class_faiPartitionTableEntry.inc @@ -14,10 +14,7 @@ class faiPartitionTableEntry extends plugin var $UsedAttrs = array(); var $is_edit = false; var $old_cn = ""; - var $status = "new"; - var $deletePartitions = array(); var $parent = null; - var $FAIstate = ""; function faiPartitionTableEntry (&$config, $dn= NULL,&$parent,$disk=false) { @@ -27,49 +24,23 @@ class faiPartitionTableEntry extends plugin $this->parent = $parent; - /* Default status is new */ - $this->status = "new"; - /* We want to edit an entry */ if($disk){ - /* Set disk status */ - $this->status = $disk['status']; - /* Walk through partitions */ foreach($disk['partitions'] as $name => $values){ - /* If a partition is already marked as delete, attach it to deletePartitions only. */ - if($values['status'] == "delete"){ - unset($disk['partitions'][$name]); - $this->deletePartitions[]=$values; - }else{ + $disk['partitions'][$name]['old_cn']= $disk['partitions'][$name]['cn']; - /* Set status, to know which partition must be deleted from ldap - new : Neu partition entry // save - edited : Update partition entry in ldap - deleted: Remove partition from ldap - */ - - /* If status is not new, set to edit mode. - * New means that this partition currently wasn't saved to ldap. - */ - if($disk['partitions'][$name]['status']!="new"){ - $disk['partitions'][$name]['status']="edited"; - } - - $disk['partitions'][$name]['old_cn']= $disk['partitions'][$name]['cn']; - - /* Assign empty attributes, if attribute is missing */ - foreach($this->UsedAttrs as $attr){ - if(!isset($values[$attr])){ - $disk['partitions'][$name][$attr]=""; - } + /* Assign empty attributes, if attribute is missing */ + foreach($this->UsedAttrs as $attr){ + if(!isset($values[$attr])){ + $disk['partitions'][$name][$attr]=""; } + } - if (preg_match('/^_/', $disk['partitions'][$name]['FAIfsType'])){ - $disk['partitions'][$name]['FAIfsType']= preg_replace('/^_/', '', $disk['partitions'][$name]['FAIfsType']); - } + if (preg_match('/^_/', $disk['partitions'][$name]['FAIfsType'])){ + $disk['partitions'][$name]['FAIfsType']= preg_replace('/^_/', '', $disk['partitions'][$name]['FAIfsType']); } } @@ -112,7 +83,7 @@ class faiPartitionTableEntry extends plugin */ foreach($_POST as $name => $value){ if((preg_match("/Delete_.*/",$name)) && $this->acl_is_removeable() && !preg_match("/freeze/i",$this->FAIstate)){ - $tmp = split("_",$name); + $tmp = explode("_",$name); $s_action = "remove"; $s_entry = $tmp[1]; } @@ -123,13 +94,7 @@ class faiPartitionTableEntry extends plugin * with partitions order. */ if($s_action == "remove" && $this->acl_is_removeable() && !preg_match("/freeze/i",$this->FAIstate)){ - if($this->partitions[$s_entry]['status'] == "edited"){ - $this->deletePartitions[$s_entry]= $this->partitions[$s_entry]; - $this->deletePartitions[$s_entry]['FAIpartitionNr']=$s_entry; - unset($this->partitions[$s_entry]); - }else{ - unset($this->partitions[$s_entry]); - } + unset($this->partitions[$s_entry]); $tmp= array(); foreach($this->partitions as $part){ $tmp[count($tmp)+1]=$part; @@ -145,7 +110,6 @@ class faiPartitionTableEntry extends plugin $tmp[$attr] = ""; } $tmp["old_cn"] = ""; - $tmp['status']="new"; $this->partitions[count($this->partitions)+1]=$tmp; } @@ -199,7 +163,7 @@ class faiPartitionTableEntry extends plugin * To be able to check the posts later, we append a key to each single postfield. like cn_1 ... cn_2 */ foreach($this->partitions as $key => $part){ - + $dis = ""; if($part['FAIpartitionFlags'] == "preserve"){ $dis = " disabled "; @@ -210,91 +174,88 @@ class faiPartitionTableEntry extends plugin $disableALL = " disabled "; } - if($part['status']!="delete"){ - - /* Generate Partition select box - */ - $PartitionType = ""; - if($this->acl_is_writeable("FAIpartitionType")){ - $PartitionType = ""; - }elseif($this->acl_is_readable("FAIpartitionType")){ - $PartitionType = $part['FAIpartitionType']; - } + /* Generate Partition select box + */ + $PartitionType = ""; + if($this->acl_is_writeable("FAIpartitionType")){ + $PartitionType = ""; + }elseif($this->acl_is_readable("FAIpartitionType")){ + $PartitionType = $part['FAIpartitionType']; + } - /* Generate fsType select box - */ - $FAIfsType= ""; - if($this->acl_is_writeable("FAIfsType")){ - $FAIfsType= ""; - }elseif($this->acl_is_readable("FAIfsType")){ - $FAIfsType = $part['FAIfsType']; - } + /* Generate fsType select box + */ + $FAIfsType= ""; + if($this->acl_is_writeable("FAIfsType")){ + $FAIfsType= ""; + }elseif($this->acl_is_readable("FAIfsType")){ + $FAIfsType = $part['FAIfsType']; + } - foreach(array("FAImountPoint","FAIpartitionSize","FAImountOptions","FAIfsOptions") as $attr){ - $$attr = ""; - if($this->acl_is_writeable($attr)){ - $$attr = ""; + foreach(array("FAImountPoint","FAIpartitionSize","FAImountOptions","FAIfsOptions") as $attr){ + $$attr = ""; + if($this->acl_is_writeable($attr)){ + $$attr = ""; - }elseif($this->acl_is_readable($attr)){ - $$attr = $part[$attr]; - } + }elseif($this->acl_is_readable($attr)){ + $$attr = $part[$attr]; } + } - $str .= "\n"; - $str .= "\n".$PartitionType.""; - $str .= "\n".$FAIfsType.""; - $str .= "\n".$FAImountPoint.""; - $str .= "\n".$FAIpartitionSize.""; - $str .= "\n".$FAImountOptions.""; - $str .= "\n".$FAIfsOptions.""; + $str .= "\n"; + $str .= "\n".$PartitionType.""; + $str .= "\n".$FAIfsType.""; + $str .= "\n".$FAImountPoint.""; + $str .= "\n".$FAIpartitionSize.""; + $str .= "\n".$FAImountOptions.""; + $str .= "\n".$FAIfsOptions.""; - $changeState = "onClick=\"changeState('FAImountPoint_".$key."') ; ". - "changeState('FAIpartitionSize_".$key."') ; ". - "changeState('FAImountOptions_".$key."') ; ". - "changeState('FAIfsType_".$key."') ; ". - "changeState('FAIfsOptions_".$key."') ; \""; - - if($this->acl_is_writeable("FAIpartitionFlags")){ - if($part['FAIpartitionFlags']!=false){ - $str .= "\n"; - }else{ - $str .= "\n"; - } + $changeState = "onClick=\"changeState('FAImountPoint_".$key."') ; ". + "changeState('FAIpartitionSize_".$key."') ; ". + "changeState('FAImountOptions_".$key."') ; ". + "changeState('FAIfsType_".$key."') ; ". + "changeState('FAIfsOptions_".$key."') ; \""; + + if($this->acl_is_writeable("FAIpartitionFlags")){ + if($part['FAIpartitionFlags']!=false){ + $str .= "\n"; }else{ - if($part['FAIpartitionFlags']!=false){ - $str .= ""._("False").""; - }else{ - $str .= ""._("True").""; - } + $str .= "\n"; } - if($this->acl_is_removeable()){ - $str .= "\n"; + }else{ + if($part['FAIpartitionFlags']!=false){ + $str .= ""._("False").""; }else{ - $str .= "\n"; + $str .= ""._("True").""; } - $str .= "\n"; } + if($this->acl_is_removeable()){ + $str .= "\n"; + }else{ + $str .= "\n"; + } + $str .= "\n"; } - + if(!empty($str)){ $str = "".$str."
"; } @@ -313,21 +274,15 @@ class faiPartitionTableEntry extends plugin $this->partitions[$key]['cn']=$key; } - /* Attach deleted */ - foreach($this->deletePartitions as $key=>$val) { - $this->partitions[$key."-delete"]=$val; - $this->partitions[$key."-delete"]['status']="delete"; - } - $tmp['description'] = $this->DISKdescription; $tmp['partitions'] = $this->partitions; - $tmp['status'] = $this->status; /* If hdd name has changed, tell partitionTable to rename it */ if(($this->is_edit)&&($this->old_cn != $this->DISKcn)){ $tmp['rename']['from'] = $this->old_cn; $tmp['rename']['to'] = $this->DISKcn; } + $tmp['FAIdiskType'] = "old"; return($tmp); } @@ -340,7 +295,8 @@ class faiPartitionTableEntry extends plugin foreach($this->partitions as $key => $part){ foreach($this->UsedAttrs as $attrs){ - + if(in_array($attrs,array('cn','description'))) continue; + if($this->acl_is_writeable($attrs)){ if(isset($_POST[$attrs."_".$key])){ @@ -418,13 +374,14 @@ class faiPartitionTableEntry extends plugin $message[]=_("Please use 'swap' as mount point, if 'swap' is used as fs-type."); } - $tmp = split("-",$part['FAIpartitionSize']); + $tmp = explode("-",$part['FAIpartitionSize']); + switch (count($tmp)){ case 0: $message[]= msgPool::invalid(sprintf(_("partition %s size"),$key)); break; case 1: - if (!tests::is_id($tmp[0]) &&(!empty($tmp[1]))){ + if (!tests::is_id($tmp[0]) || empty($tmp[0])){ $message[]= msgPool::invalid(sprintf(_("partition %s size"),$key)); } break;