#!/usr/bin/perl # save_part.cgi # Save changes to an existing or new partition require './fdisk-lib.pl'; &error_setup($text{'save_err'}); &ReadParse(); @dlist = &list_disks_partitions(); $dinfo = $dlist[$in{'disk'}]; &can_edit_disk($dinfo->{'device'}) || &error($text{'save_ecannot'}); @plist = @{$dinfo->{'parts'}}; if ($in{'delete'} && $in{'confirm'}) { # deleting a partition $pinfo = $plist[$in{'part'}]; &delete_partition($dinfo->{'device'}, $pinfo->{'number'}); &webmin_log("delete", "part", $dinfo->{'device'}, \%in); &redirect("edit_disk.cgi?device=$dinfo->{'device'}"); } elsif ($in{'delete'}) { # Ask the user if he really wants to delete the partition &ui_print_header(undef, $text{'delete_title'}, ""); $pinfo = $plist[$in{'part'}]; $dname = &mount::device_name($pinfo->{'device'}); print "<center><form action=save_part.cgi>\n"; print "<input type=hidden name=disk value='$in{'disk'}'>\n"; print "<input type=hidden name=part value='$in{'part'}'>\n"; print "<input type=hidden name=delete value=1>\n"; print "<b>",&text('delete_rusure', $dname, "<tt>$pinfo->{'device'}</tt>"),"</b><p>\n"; print "<input type=submit name=confirm value='$text{'delete_ok'}'>\n"; print "</form></center>\n"; &ui_print_footer("edit_disk.cgi?device=$dinfo->{'device'}", $text{'disk_return'}); } elsif (!$in{'new'}) { # Changing existing partition type and label $pinfo = $plist[$in{'part'}]; if ($pinfo->{'edittype'}) { &change_type($dinfo->{'device'}, $pinfo->{'number'}, $in{'type'}); $pinfo->{'type'} = $in{'type'}; } if (defined($in{'label'}) && &supports_label($pinfo)) { &set_label($pinfo->{'device'}, $in{'label'}); } if (defined($in{'name'}) && &supports_name($dinfo)) { &set_name($dinfo, $pinfo, $in{'name'}); } &webmin_log("modify", "part", $dinfo->{'device'}, \%in); &redirect("edit_disk.cgi?device=$dinfo->{'device'}"); } else { # Adding new partition $in{start} =~ /^\d+$/ || &error(&text('save_estart', $in{'start'})); $in{end} =~ /^\d+$/ || &error(&text('save_eend', $in{'end'})); $in{start} >= $in{'min'} || &error(&text('save_emin', $in{'min'})); $in{end} <= $in{'max'} || &error(&text('save_emax', $in{'max'})); $in{start} < $in{end} || &error($text{'save_eminmax'}); # Check for partition overlap.. foreach $pinfo (@plist) { if (($in{'start'} >= $pinfo->{'start'} && $in{'start'} <= $pinfo->{'end'} || $in{'end'} >= $pinfo->{'start'} && $in{'end'} <= $pinfo->{'end'}) && !($in{'new'}==2 && $pinfo->{'extended'})) { &error(&text('save_eoverlap', $pinfo->{'number'}, $pinfo->{'start'}, $pinfo->{'end'})); } } if ($in{'new'} == 3) { &create_extended($dinfo->{'device'}, $in{'newpart'}, $in{'start'}, $in{'end'}); &webmin_log("create", "part", $dinfo->{'device'}, \%in); } else { &create_partition($dinfo->{'device'}, $in{'newpart'}, $in{'start'}, $in{'end'}, $in{'type'}); $pinfo = { 'type' => $in{'type'}, 'number' => $in{'newpart'} }; if ($in{'label'} && &supports_label($pinfo)) { local $dev = $dinfo->{'prefix'}.$in{'newpart'}; &set_label($dev, $in{'label'}); } if ($in{'name'} && &supports_name($dinfo)) { &set_name($dinfo, $pinfo, $in{'name'}); } &webmin_log("create", "part", $dinfo->{'device'}, \%in); } if (&need_reboot($dinfo)) { &ask_reboot($dinfo); } else { &redirect("edit_disk.cgi?device=$dinfo->{'device'}"); } } # ask_reboot(disk) # Display a form asking for a reboot sub ask_reboot { &ui_print_header(undef, $text{'reboot_title'}, ""); local $what = &text('select_device', uc($_[0]->{'type'}), uc(substr($_[0]->{'device'}, -1))); print "<b>",&text('reboot_why', $what),"</b> <p>\n"; print &ui_form_start("reboot.cgi"); print &ui_form_end([ [ undef, $text{'reboot_ok'} ] ]); &ui_print_footer("", $text{'index_return'}); }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 1.92 KB | 0644 |
|
acl_security.pl | File | 958 B | 0755 |
|
apply_hdparm.cgi | File | 1.17 KB | 0755 |
|
blink.cgi | File | 384 B | 0755 |
|
cgi_args.pl | File | 483 B | 0755 |
|
config | File | 13 B | 0644 |
|
config.info | File | 144 B | 0644 |
|
config.info.bg | File | 235 B | 0644 |
|
config.info.ca | File | 167 B | 0644 |
|
config.info.de | File | 148 B | 0644 |
|
config.info.fr | File | 167 B | 0644 |
|
config.info.nl | File | 138 B | 0644 |
|
config.info.no | File | 151 B | 0644 |
|
defaultacl | File | 26 B | 0644 |
|
edit_disk.cgi | File | 4.91 KB | 0755 |
|
edit_hdparm.cgi | File | 4.36 KB | 0755 |
|
edit_part.cgi | File | 8.26 KB | 0755 |
|
edit_relabel.cgi | File | 1.32 KB | 0755 |
|
fdisk-lib.pl | File | 48.16 KB | 0755 |
|
feedback_files.pl | File | 115 B | 0755 |
|
fsck.cgi | File | 604 B | 0755 |
|
fsck_form.cgi | File | 700 B | 0755 |
|
index.cgi | File | 2.41 KB | 0755 |
|
log_parser.pl | File | 1.53 KB | 0755 |
|
make_tags.pl | File | 210 B | 0755 |
|
mkfs.cgi | File | 820 B | 0755 |
|
mkfs_form.cgi | File | 832 B | 0755 |
|
module.info | File | 238 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 153 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 209 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 249 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 236 B | 0644 |
|
module.info.ca | File | 119 B | 0644 |
|
module.info.ca.auto | File | 29 B | 0644 |
|
module.info.cs | File | 40 B | 0644 |
|
module.info.cs.auto | File | 130 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 149 B | 0644 |
|
module.info.de | File | 131 B | 0644 |
|
module.info.de.auto | File | 26 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 299 B | 0644 |
|
module.info.es | File | 38 B | 0644 |
|
module.info.es.auto | File | 112 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 146 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 233 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 149 B | 0644 |
|
module.info.fr | File | 35 B | 0644 |
|
module.info.fr.auto | File | 133 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 188 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 160 B | 0644 |
|
module.info.hu | File | 79 B | 0644 |
|
module.info.hu.auto | File | 26 B | 0644 |
|
module.info.it | File | 0 B | 0644 |
|
module.info.it.auto | File | 152 B | 0644 |
|
module.info.ja | File | 58 B | 0644 |
|
module.info.ja.auto | File | 179 B | 0644 |
|
module.info.ko | File | 36 B | 0644 |
|
module.info.ko.auto | File | 137 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 163 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 167 B | 0644 |
|
module.info.ms | File | 120 B | 0644 |
|
module.info.ms.auto | File | 23 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 153 B | 0644 |
|
module.info.nl | File | 39 B | 0644 |
|
module.info.nl.auto | File | 111 B | 0644 |
|
module.info.no | File | 38 B | 0644 |
|
module.info.no.auto | File | 112 B | 0644 |
|
module.info.pl | File | 38 B | 0644 |
|
module.info.pl.auto | File | 120 B | 0644 |
|
module.info.pt | File | 37 B | 0644 |
|
module.info.pt.auto | File | 116 B | 0644 |
|
module.info.pt_BR | File | 0 B | 0644 |
|
module.info.pt_BR.auto | File | 162 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 157 B | 0644 |
|
module.info.ru | File | 60 B | 0644 |
|
module.info.ru.auto | File | 185 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 166 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 155 B | 0644 |
|
module.info.sv | File | 28 B | 0644 |
|
module.info.sv.auto | File | 116 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 303 B | 0644 |
|
module.info.tr | File | 34 B | 0644 |
|
module.info.tr.auto | File | 123 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 245 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 266 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 187 B | 0644 |
|
module.info.zh | File | 27 B | 0644 |
|
module.info.zh.auto | File | 104 B | 0644 |
|
module.info.zh_TW | File | 33 B | 0644 |
|
module.info.zh_TW.auto | File | 110 B | 0644 |
|
range.js | File | 4.7 KB | 0644 |
|
reboot.cgi | File | 261 B | 0755 |
|
relabel.cgi | File | 417 B | 0755 |
|
save_part.cgi | File | 3.75 KB | 0755 |
|
slider.js | File | 14.48 KB | 0644 |
|
timer.js | File | 2.86 KB | 0644 |
|
tunefs.cgi | File | 689 B | 0755 |
|
tunefs_form.cgi | File | 722 B | 0755 |
|
winclassic.css | File | 1.72 KB | 0644 |
|