X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Ffai%2Fclass_faiPartitionTableEntry.inc;h=9b21944a9f51a8dcfaae49021cfd75a9158f4e72;hb=c5a8557a858db2d37c5fdb5489736482687477e8;hp=64c716be4dd88e6f3274609f8957e33a10e7b65e;hpb=b07cff3e121e8fcccfa7064d5e3b728838f55490;p=gosa.git diff --git a/plugins/admin/fai/class_faiPartitionTableEntry.inc b/plugins/admin/fai/class_faiPartitionTableEntry.inc index 64c716be4..9b21944a9 100644 --- a/plugins/admin/fai/class_faiPartitionTableEntry.inc +++ b/plugins/admin/fai/class_faiPartitionTableEntry.inc @@ -129,7 +129,6 @@ class faiPartitionTableEntry extends plugin $this->partitions = $tmp; } - /* To add a partitions we only append an empty * array to the already defined partitions. */ @@ -168,7 +167,7 @@ class faiPartitionTableEntry extends plugin { /* Define Arrays with allowed syntax */ $PartitionTypes = array("primary","logical"); - $FAIfsTypes = array("ext2","ext3","xfs","swap","reiserfs","dos fat 16","win fat 32"); + $FAIfsTypes = array("ext2","ext3","xfs","swap","reiserfs","dosfat16","winfat32"); /* Display Header */ $str = ""; @@ -191,10 +190,16 @@ 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 "; + } + if($part['status']!="delete"){ /* Generate Partition select box */ - $PartitionType = ""; foreach($PartitionTypes as $type){ if($part['FAIpartitionType'] == $type){ $PartitionType .=""; @@ -207,7 +212,7 @@ class faiPartitionTableEntry extends plugin /* Generate fsType select box */ - $FAIfsType= ""; foreach($FAIfsTypes as $type){ if($part['FAIfsType'] == $type){ $FAIfsType .=""; @@ -217,20 +222,29 @@ class faiPartitionTableEntry extends plugin } $FAIfsType.=""; - $str .= ""; - $str .= ""; - $str .= ""; - $str .= ""; - $str .= ""; - $str .= ""; - $str .= ""; + $str .= "\n"; + $str .= "\n"; + $str .= "\n"; + $str .= "\n"; + $str .= "\n"; + $str .= "\n"; + $str .= "\n"; + + $changeState = "onClick=\"changeState('FAImountPoint_".$key."') ; ". + "changeState('FAIpartitionSize_".$key."') ; ". + "changeState('FAImountOptions_".$key."') ; ". + "changeState('FAIpartitionType_".$key."') ; ". + "changeState('FAIfsType_".$key."') ; ". + "changeState('FAIfsOptions_".$key."') ; \""; + + if($part['FAIpartitionFlags']!=false){ - $str .= ""; + $str .= "\n"; }else{ - $str .= ""; + $str .= "\n"; } - $str .= ""; - $str .= ""; + $str .= "\n"; + $str .= "\n"; } } $str.="
".$PartitionType."".$FAIfsType."
".$PartitionType."".$FAIfsType."
"; @@ -299,12 +313,6 @@ class faiPartitionTableEntry extends plugin { $message= array(); - /* Check descriptions - */ - if(empty($this->DISK_description)){ - $message[] = _("Please enter a description for your disk."); - } - /* check every partition. * if there is an invalid value defined, append an errorstr to message */ @@ -316,20 +324,32 @@ class faiPartitionTableEntry extends plugin } foreach($this->partitions as $key => $part){ - - if(in_array($part['FAImountPoint'],$alreadyUsed['FAImountPoint'])){ + + /* Skip all checks, if preserve is set */ + if($part['FAIpartitionFlags'] == "preserve"){ + $this->partitions[$key]['FAIpartitionType'] = "preserve"; + $this->partitions[$key]['FAIfsType'] = "preserve"; + $this->partitions[$key]['FAIpartitionSize'] = "preserve"; + continue; + } + + if((in_array($part['FAImountPoint'],$alreadyUsed['FAImountPoint']))&&($part['FAIfsType']!="swap")){ $message[]=sprintf(_("please enter a unique mount point for partition %s"),($key)); } - if((empty($part['FAImountPoint']))||(!((preg_match("/^\/.*/",$part['FAImountPoint']))||(preg_match("/^swap$/",$part['FAImountPoint']))))){ - $message[]=sprintf(_("Please enter a valid mount point for partition %s." ),($key)); + if($part['FAIfsType']!="swap"){ + if((empty($part['FAImountPoint']))||(!((preg_match("/^\/.*/",$part['FAImountPoint']))||(preg_match("/^swap$/",$part['FAImountPoint']))))){ + $message[]=sprintf(_("Please enter a valid mount point for partition %s." ),($key)); + } } - if($part['FAIfsType'] == "swap"){ if(in_array($part['FAIfsType'],$alreadyUsed['FAIfsType'])){ $message[]=sprintf(_("File system type 'swap' is already used, change file system type for partition %s."),$key); } } + if(($part['FAIfsType'] == "swap")&&(!empty($part['FAImountPoint']))&&($part['FAImountPoint']!="swap")){ + $message[]=_("Please use 'swap' as mount point, if 'swap' is used as fs-type."); + } $tmp = split("-",$part['FAIpartitionSize']); switch (count($tmp)){