X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=plugins%2Fadmin%2Ffai%2Fclass_faiPartitionTable.inc;h=f6adfeb34f8aae34c3072253f33598490213b228;hb=a3791b96142d4db65d975225b0f779bcf49ba0a8;hp=8d1649e3f7d03f220c56df22c871e578b9d1d172;hpb=ecc17ee85a50e952c18ecb1f5ef253700c847de2;p=gosa.git diff --git a/plugins/admin/fai/class_faiPartitionTable.inc b/plugins/admin/fai/class_faiPartitionTable.inc index 8d1649e3f..f6adfeb34 100644 --- a/plugins/admin/fai/class_faiPartitionTable.inc +++ b/plugins/admin/fai/class_faiPartitionTable.inc @@ -72,10 +72,14 @@ class faiPartitionTable extends plugin } } } + ksort($this->disks); } function execute() { + /* Call parent execute */ + plugin::execute(); + /* Fill templating stuff */ $smarty= get_smarty(); $display= ""; @@ -96,14 +100,23 @@ class faiPartitionTable extends plugin /* Edit disk. * Open dialog which allows us to edit the selected entry */ + + if($this->dn != "new"){ + $_SESSION['objectinfo']= $this->dn; + } + if((isset($_POST['EditDisk']))&&(isset($_POST['disks']))){ $usedDiskNames =array(); + + $Udisk = $_POST['disks'][0]; + foreach($this->disks as $key=>$disk){ - if($key != $_POST['disks']){ + if($key != $Udisk){ $usedDiskNames[]= $key; } } - $this->dialog = new faiPartitionTableEntry($this->config,$this->dn,$usedDiskNames,$this->disks[$_POST['disks']]); + $this->dialog = new faiPartitionTableEntry($this->config,$this->dn,$usedDiskNames,$this->disks[$Udisk]); + $_SESSION['objectinfo'] = $this->disks[$Udisk]['dn']; $this->is_dialog = true; } @@ -147,6 +160,7 @@ class faiPartitionTable extends plugin unset($this->dialog); $this->dialog = NULL; $this->is_dialog=false; + ksort($this->disks); } } @@ -154,21 +168,23 @@ class faiPartitionTable extends plugin * Assign delete status for all its partitions */ if((isset($_POST['DelDisk']))&&(!empty($_POST['disks']))){ - $disk = $_POST['disks']; - if($this->disks[$disk]['status']=="edited"){ - $this->disks[$disk."-delete"]=$this->disks[$disk]; - unset($this->disks[$disk]); - $disk = $disk."-delete"; - $this->disks[$disk]['status']="delete"; - foreach($this->disks[$disk]['partitions'] as $name => $value ){ - if($value['status']=="edited"){ - $this->disks[$disk]['partitions'][$name]['status']="delete"; - }else{ - unset($this->disks[$disk]['partitions'][$name]); + + foreach($_POST['disks'] as $disk) { + if($this->disks[$disk]['status']=="edited"){ + $this->disks[$disk."-delete"]=$this->disks[$disk]; + unset($this->disks[$disk]); + $disk = $disk."-delete"; + $this->disks[$disk]['status']="delete"; + foreach($this->disks[$disk]['partitions'] as $name => $value ){ + if($value['status']=="edited"){ + $this->disks[$disk]['partitions'][$name]['status']="delete"; + }else{ + unset($this->disks[$disk]['partitions'][$name]); + } } + }else{ + unset($this->disks[$disk]); } - }else{ - unset($this->disks[$disk]); } } @@ -211,9 +227,17 @@ class faiPartitionTable extends plugin } } if(!empty($disk['description'])){ - $a_return[$key]= $disk['cn']." [".$disk['description']."], ".sprintf(_("%s partition(s)"), $cnt); + if($cnt == 1){ + $a_return[$key]= $disk['cn']." [".$disk['description']."], ".sprintf(_("%s partition"), $cnt); + }else{ + $a_return[$key]= $disk['cn']." [".$disk['description']."], ".sprintf(_("%s partition(s)"), $cnt); + } }else{ - $a_return[$key]= $disk['cn'].", ".sprintf(_("%s partition(s)"), $cnt); + if($cnt == 1){ + $a_return[$key]= $disk['cn'].", ".sprintf(_("%s partition"), $cnt); + }else{ + $a_return[$key]= $disk['cn'].", ".sprintf(_("%s partition(s)"), $cnt); + } } } }