#!/usr/bin/perl # index.cgi # Display a list of known filesystems, and indicate which are currently mounted require './mount-lib.pl'; &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0, &help_search_link("mount fstab vfstab", "man")); &ReadParse(); # List filesystems from fstab and mtab @mounted = &list_mounted(); $yes = $text{'yes'}; $no = "<font color=#ff0000>$text{'no'}</a>"; %can_edit = map { $_, 1 } &list_fstypes(); $i = 0; foreach $m (&list_mounts()) { $m->[0] = "swap" if ($m->[2] eq "swap"); $mounts{$m->[0],$m->[1]} = $i++; push(@all, $m); } $i = 0; foreach $m (&list_mounted()) { $m->[0] = "swap" if ($m->[2] eq "swap"); $mounted{$m->[0],$m->[1]} = $i++; push(@all, $m) if (!defined($mounts{$m->[0],$m->[1]})); } # Sort by chosen mode if ($config{'sort_mode'} == 2) { @all = sort { lc($a->[0]) cmp lc($b->[0]) } @all; } elsif ($config{'sort_mode'} == 1) { @all = sort { &fstype_name($a->[2]) cmp &fstype_name($b->[2]) } @all; } # Build visible filesystems list foreach $m (@all) { @minfo = @$m; $p = &simplify_mount_path($minfo[0], $minfo[2]); @mmodes = &mount_modes($minfo[2], $minfo[0], $minfo[1]); $canedit = $can_edit{$minfo[2]} && !$mmodes[4] && &can_edit_fs(@minfo); next if (!$canedit && $access{'hide'}); next if (!$canedit && !$in{'show'}); push(@visible, $m); } if (@visible) { # Show table of all visible filesystems if (!$access{'hide'}) { if ($in{'show'}) { $shower = &ui_link("index.cgi?show=0", $text{'index_show0'}); } else { $shower = &ui_link("index.cgi?show=1", $text{'index_show1'}); } } print &ui_links_row([ $shower ]) if ($shower); print &ui_columns_start([ $text{'index_dir'}, $text{'index_type'}, $text{'index_dev'}, $config{'show_used'} ? ( $text{'index_used'} ) : ( ), $text{'index_use'}, $text{'index_perm'} ], 100); foreach $m (@visible) { @minfo = @$m; $p = &simplify_mount_path($minfo[0], $minfo[2]); $midx = $mounts{$minfo[0],$minfo[1]}; $medidx = $mounted{$minfo[0],$minfo[1]}; @mmodes = &mount_modes($minfo[2], $minfo[0], $minfo[1]); $canedit = $can_edit{$minfo[2]} && !$mmodes[4] && &can_edit_fs(@minfo); local @cols; if ($canedit && !$access{'only'}) { if (defined($midx)) { push(@cols, &ui_link("edit_mount.cgi?index=$midx", $p)); } else { push(@cols, &ui_link("edit_mount.cgi?temp=1&index=$medidx", $p)); } } else { push(@cols, $p); } local $fsn = &fstype_name($minfo[2]); $fsn .= " ($minfo[2])" if (uc($fsn) ne uc($minfo[2])); push(@cols, $minfo[2] eq "*" ? $text{'index_auto'} : $fsn); push(@cols, &device_name($minfo[1])); if ($config{'show_used'}) { # Add disk space used column ($total, $free) = &disk_space($minfo[2],$minfo[0]); if ($total > 0 && $total >= $free) { $pc = int(100*($total-$free) / $total); push(@cols, $pc >= 99 ? "<font color=red>$pc %</font>" : $pc >= 95 ? "<font color=orange>$pc %</font>" : $pc."%"); } else { push(@cols, ""); } } if (&can_edit_fs(@minfo)) { push(@cols, defined($medidx) ? &ui_link("unmount.cgi?index=$medidx", $yes) : &ui_link("mount.cgi?index=$midx", $no) ); } else { push(@cols, defined($medidx) ? $yes : $no); } push(@cols, defined($midx) ? $yes : $no); print &ui_columns_row(\@cols); } print &ui_columns_end(); print &ui_links_row([ $shower ]) if ($shower); print "<p>\n"; } else { print "<b>$text{'index_none'}</b><p>\n"; } &show_button(); &ui_print_footer("/", $text{'index'}); sub simplify_mount_path { if ($_[1] eq "swap") { return "<i>$text{'index_swap'}</i>"; } elsif (length($_[0]) > 40) { return &html_escape("... ".substr($_[0], length($_[0])-40)); } elsif ($_[0] eq "/") { return "/ (<i>$text{'index_root'}</i>)"; } else { return &html_escape($_[0]); } } sub show_button { return if (!$access{'create'} || $access{'only'}); my %donefs; print &ui_form_start("edit_mount.cgi"); print &ui_submit($text{'index_add'})," ",$text{'index_addtype'},"\n"; my @opts; foreach my $fs (sort { &fstype_name($a) cmp &fstype_name($b) } &list_fstypes()) { my $nm = &fstype_name($fs); if (!$donefs{$nm}++ && &can_fstype($fs)) { push(@opts, [ $fs, "$nm ($fs)" ]); } } my $def = defined(&preferred_fstype) ? &preferred_fstype() : undef; print &ui_select("type", $def, \@opts); print &ui_form_end(); }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 1.73 KB | 0644 |
|
acl_security.pl | File | 1.59 KB | 0755 |
|
backup_config.pl | File | 686 B | 0755 |
|
cgi_args.pl | File | 325 B | 0755 |
|
config-cobalt-linux | File | 132 B | 0644 |
|
config-coherent-linux | File | 186 B | 0644 |
|
config-corel-linux | File | 160 B | 0644 |
|
config-debian-linux | File | 206 B | 0644 |
|
config-freebsd | File | 172 B | 0644 |
|
config-generic-linux | File | 133 B | 0644 |
|
config-gentoo-linux | File | 169 B | 0644 |
|
config-hpux | File | 172 B | 0644 |
|
config-lfs-linux | File | 154 B | 0644 |
|
config-macos | File | 150 B | 0644 |
|
config-mandrake-linux | File | 186 B | 0644 |
|
config-msc-linux | File | 186 B | 0644 |
|
config-netbsd | File | 172 B | 0644 |
|
config-open-linux | File | 158 B | 0644 |
|
config-open-linux-3.1e | File | 177 B | 0644 |
|
config-openSUSE-Linux-15.0-ALL | File | 162 B | 0644 |
|
config-openbsd | File | 172 B | 0644 |
|
config-openmamba-linux | File | 162 B | 0644 |
|
config-osf1 | File | 230 B | 0644 |
|
config-pardus-linux | File | 133 B | 0644 |
|
config-redhat-linux | File | 162 B | 0644 |
|
config-redhat-linux-5.0-6.0 | File | 191 B | 0644 |
|
config-redhat-linux-6.1-ALL | File | 186 B | 0644 |
|
config-slackware-linux | File | 133 B | 0644 |
|
config-sol-linux | File | 292 B | 0644 |
|
config-solaris | File | 205 B | 0644 |
|
config-suse-linux | File | 162 B | 0644 |
|
config-syno-linux | File | 133 B | 0644 |
|
config-trustix-linux | File | 186 B | 0644 |
|
config-turbo-linux | File | 191 B | 0644 |
|
config-turbo-linux-4.0 | File | 191 B | 0644 |
|
config-united-linux | File | 162 B | 0644 |
|
config.info | File | 800 B | 0644 |
|
config.info.ca | File | 1 KB | 0644 |
|
config.info.cs | File | 747 B | 0644 |
|
config.info.de | File | 959 B | 0644 |
|
config.info.es | File | 431 B | 0644 |
|
config.info.fa | File | 1010 B | 0644 |
|
config.info.fr | File | 400 B | 0644 |
|
config.info.ja | File | 760 B | 0644 |
|
config.info.ko | File | 565 B | 0644 |
|
config.info.nl | File | 654 B | 0644 |
|
config.info.no | File | 668 B | 0644 |
|
config.info.pl | File | 475 B | 0644 |
|
config.info.pt_BR | File | 701 B | 0644 |
|
config.info.ru | File | 736 B | 0644 |
|
config.info.sv | File | 369 B | 0644 |
|
config.info.tr | File | 579 B | 0644 |
|
config.info.uk | File | 741 B | 0644 |
|
config.info.zh | File | 347 B | 0644 |
|
config.info.zh_TW | File | 403 B | 0644 |
|
create_swap.cgi | File | 466 B | 0755 |
|
defaultacl | File | 60 B | 0644 |
|
edit_mount.cgi | File | 4.11 KB | 0755 |
|
freebsd-lib.pl | File | 33.48 KB | 0755 |
|
hpux-lib.pl | File | 35.81 KB | 0755 |
|
index.cgi | File | 4.31 KB | 0755 |
|
linux-lib.pl | File | 72.08 KB | 0755 |
|
log_parser.pl | File | 626 B | 0755 |
|
macos-lib.pl | File | 3.95 KB | 0755 |
|
module.info | File | 292 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 168 B | 0644 |
|
module.info.ar | File | 190 B | 0644 |
|
module.info.ar.auto | File | 28 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 286 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 281 B | 0644 |
|
module.info.ca | File | 161 B | 0644 |
|
module.info.ca.auto | File | 25 B | 0644 |
|
module.info.cs | File | 48 B | 0644 |
|
module.info.cs.auto | File | 142 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 162 B | 0644 |
|
module.info.de | File | 162 B | 0644 |
|
module.info.de.auto | File | 28 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 322 B | 0644 |
|
module.info.es | File | 43 B | 0644 |
|
module.info.es.auto | File | 151 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 169 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 203 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 191 B | 0644 |
|
module.info.fr | File | 37 B | 0644 |
|
module.info.fr.auto | File | 161 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 213 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 192 B | 0644 |
|
module.info.hu | File | 35 B | 0644 |
|
module.info.hu.auto | File | 139 B | 0644 |
|
module.info.it | File | 22 B | 0644 |
|
module.info.it.auto | File | 126 B | 0644 |
|
module.info.ja | File | 75 B | 0644 |
|
module.info.ja.auto | File | 202 B | 0644 |
|
module.info.ko | File | 51 B | 0644 |
|
module.info.ko.auto | File | 170 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 180 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 192 B | 0644 |
|
module.info.ms | File | 144 B | 0644 |
|
module.info.ms.auto | File | 24 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 177 B | 0644 |
|
module.info.nl | File | 41 B | 0644 |
|
module.info.nl.auto | File | 129 B | 0644 |
|
module.info.no | File | 39 B | 0644 |
|
module.info.no.auto | File | 120 B | 0644 |
|
module.info.pl | File | 44 B | 0644 |
|
module.info.pl.auto | File | 131 B | 0644 |
|
module.info.pt | File | 45 B | 0644 |
|
module.info.pt.auto | File | 143 B | 0644 |
|
module.info.pt_BR | File | 47 B | 0644 |
|
module.info.pt_BR.auto | File | 149 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 188 B | 0644 |
|
module.info.ru | File | 40 B | 0644 |
|
module.info.ru.auto | File | 211 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 207 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 192 B | 0644 |
|
module.info.sv | File | 43 B | 0644 |
|
module.info.sv.auto | File | 124 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 305 B | 0644 |
|
module.info.tr | File | 34 B | 0644 |
|
module.info.tr.auto | File | 146 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 291 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 249 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 208 B | 0644 |
|
module.info.zh | File | 36 B | 0644 |
|
module.info.zh.auto | File | 126 B | 0644 |
|
module.info.zh_TW | File | 39 B | 0644 |
|
module.info.zh_TW.auto | File | 132 B | 0644 |
|
mount-lib.pl | File | 10.79 KB | 0755 |
|
mount.cgi | File | 465 B | 0755 |
|
netbsd-lib.pl | File | 24.64 KB | 0755 |
|
netbsd-mounts-2.c | File | 1.04 KB | 0644 |
|
netbsd-mounts-3.c | File | 1.09 KB | 0644 |
|
netbsd-mounts.c | File | 1.08 KB | 0644 |
|
nfs_export.cgi | File | 1.13 KB | 0755 |
|
nfs_server.cgi | File | 1.79 KB | 0755 |
|
openbsd-lib.pl | File | 24.37 KB | 0755 |
|
osf1-lib.pl | File | 11.34 KB | 0755 |
|
prefs.info | File | 49 B | 0644 |
|
rbac-mapping | File | 135 B | 0644 |
|
save_mount.cgi | File | 13.23 KB | 0755 |
|
smb_server.cgi | File | 1.94 KB | 0755 |
|
smb_share.cgi | File | 1.29 KB | 0755 |
|
solaris-lib.pl | File | 56.62 KB | 0755 |
|
system_info.pl | File | 3.96 KB | 0644 |
|
unmount.cgi | File | 503 B | 0755 |
|