# Functions used by theme CGIs eval "use WebminCore;"; if ($@) { do '../web-lib.pl'; do '../ui-lib.pl'; } &init_config(); &load_theme_library(); %text = &load_language($current_theme); $right_frame_sections_file = "$config_directory/$current_theme/sections"; $default_domains_to_show = 10; # get_left_frame_width() # Returns the width of the left frame in pixels sub get_left_frame_width { local $sects = &get_right_frame_sections(); return $sects->{'fsize'} ? $sects->{'fsize'} : &get_product_name() eq 'usermin' ? 200 : &foreign_available("server-manager") && &foreign_available("virtual-server") ? 280 : 260; } # list_virtualmin_theme_overlays() # Returns a list of overlay themes suitable for this theme sub list_virtualmin_theme_overlays { &foreign_require("webmin", "webmin-lib.pl"); local @rv; foreach my $tinfo (&webmin::list_themes()) { if ($tinfo->{'overlay'} && (!$tinfo->{'overlays'} || &indexof($current_theme, split(/\s+/, $tinfo->{'overlays'})) >= 0)) { push(@rv, $tinfo); } } return @rv; } sub get_virtualmin_docs { local ($level) = @_; return $level == 0 ? "http://www.virtualmin.com/documentation" : $level == 1 ? "http://www.virtualmin.com/documentation/users/reseller" : $level == 2 ? "http://www.virtualmin.com/documentation/users/server-owner" : "http://www.virtualmin.com/documentation"; } sub get_vm2_docs { local ($level) = @_; return "http://www.virtualmin.com/documentation/cloudmin"; } # get_right_frame_sections() # Returns a hash containg details of visible right-frame sections sub get_right_frame_sections { local %sects; &read_file($right_frame_sections_file, \%sects); if ($sects{'global'}) { # Force use of global settings return \%sects; } else { # Can try personal settings, but fall back to global local %usersects; if (&read_file($right_frame_sections_file.".".$remote_user, \%usersects)) { return \%usersects; } else { return \%sects; } } } # save_right_frame_sections(§s) sub save_right_frame_sections { local ($sects) = @_; &make_dir("$config_directory/$current_theme", 0700); if ($sects->{'global'}) { # Update global settings, for all users &write_file($right_frame_sections_file, $sects); } else { # Save own, and turn off global flag (if this is the master admin) if (&foreign_check("virtual-server")) { &foreign_require("virtual-server", "virtual-server-lib.pl"); if (&virtual_server::master_admin()) { local %globalsect; &read_file($right_frame_sections_file, \%globalsect); $globalsect{'global'} = 0; &write_file($right_frame_sections_file, \%globalsect); } } &write_file($right_frame_sections_file.".".$remote_user, $sects); } } # list_right_frame_sections() # Returns a list of possible sections for the current user, as hash refs sub list_right_frame_sections { local ($hasvirt, $level, $hasvm2) = &get_virtualmin_user_level(); local @rv; if ($level == 0) { # Master admin if ($hasvirt) { push(@rv, 'updates', 'status', 'newfeatures', 'quotas', 'bw', 'ips', 'sysinfo'); } if ($hasvm2) { push(@rv, 'vm2servers'); } } elsif ($level == 2) { # Domain owner push(@rv, 'virtualmin'); } elsif ($level == 1) { # Reseller push(@rv, 'reseller', 'quotas', 'bw'); } elsif ($level == 4) { # Cloudmin system owner push(@rv, 'owner', 'vm2servers'); } else { # Usermin push(@rv, 'system'); } @rv = map { { 'name' => $_, 'title' => $virtual_server::text{'right_'.$_.'header'} } } @rv; # Add plugin-defined sections if (($level == 0 || $level == 1 || $level == 2) && $hasvirt && defined(&virtual_server::list_plugin_sections)) { push(@rv, &virtual_server::list_plugin_sections($level)); } if (($level == 0 || $level == 4) && $hasvm2 && defined(&server_manager::list_plugin_sections)) { push(@rv, &server_manager::list_plugin_sections($level)); } return @rv; } # get_virtualmin_user_level() # Returns three numbers - the first being a flag if virtualmin is installed, # the second a user type (3=usermin, 2=domain, 1=reseller, 0=master, 4=system # owner), the third a flag for Cloudmin sub get_virtualmin_user_level { local ($hasvirt, $hasvm2, $level); $hasvm2 = &foreign_available("server-manager"); $hasvirt = &foreign_available("virtual-server"); if ($hasvm2) { &foreign_require("server-manager", "server-manager-lib.pl"); } if ($hasvirt) { &foreign_require("virtual-server", "virtual-server-lib.pl"); } if ($hasvm2) { $level = $server_manager::access{'owner'} ? 4 : 0; } elsif ($hasvirt) { $level = &virtual_server::master_admin() ? 0 : &virtual_server::reseller_admin() ? 1 : 2; } elsif (&get_product_name() eq "usermin") { $level = 3; } else { $level = 0; } return ($hasvirt, $level, $hasvm2); } 1;
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
acl | Folder | 0755 |
|
|
adsl-client | Folder | 0755 |
|
|
apache | Folder | 0755 |
|
|
at | Folder | 0755 |
|
|
backup-config | Folder | 0755 |
|
|
bandwidth | Folder | 0755 |
|
|
bind8 | Folder | 0755 |
|
|
bsdfdisk | Folder | 0755 |
|
|
burner | Folder | 0755 |
|
|
cfengine | Folder | 0755 |
|
|
change-user | Folder | 0755 |
|
|
cluster-copy | Folder | 0755 |
|
|
cluster-cron | Folder | 0755 |
|
|
cluster-passwd | Folder | 0755 |
|
|
cluster-shell | Folder | 0755 |
|
|
cluster-software | Folder | 0755 |
|
|
cluster-useradmin | Folder | 0755 |
|
|
cluster-webmin | Folder | 0755 |
|
|
cpan | Folder | 0755 |
|
|
cron | Folder | 0755 |
|
|
custom | Folder | 0755 |
|
|
dhcpd | Folder | 0755 |
|
|
dhcpd-2.0 | Folder | 0755 |
|
|
dnsadmin | Folder | 0755 |
|
|
dovecot | Folder | 0755 |
|
|
download | Folder | 0755 |
|
|
escputil | Folder | 0755 |
|
|
exports | Folder | 0755 |
|
|
fdisk | Folder | 0755 |
|
|
fetchmail | Folder | 0755 |
|
|
file | Folder | 0755 |
|
|
firewall | Folder | 0755 |
|
|
frox | Folder | 0755 |
|
|
fsdump | Folder | 0755 |
|
|
generate-acls | Folder | 0755 |
|
|
gnupg | Folder | 0755 |
|
|
grub | Folder | 0755 |
|
|
heartbeat | Folder | 0755 |
|
|
help | Folder | 0755 |
|
|
htaccess-htpasswd | Folder | 0755 |
|
|
htpasswd-file | Folder | 0755 |
|
|
idmapd | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
inetd | Folder | 0755 |
|
|
init | Folder | 0755 |
|
|
inittab | Folder | 0755 |
|
|
ipchains | Folder | 0755 |
|
|
ipsec | Folder | 0755 |
|
|
iptables | Folder | 0755 |
|
|
iscsi-client | Folder | 0755 |
|
|
iscsi-server | Folder | 0755 |
|
|
iscsi-target | Folder | 0755 |
|
|
jabber | Folder | 0755 |
|
|
jsample | Folder | 0755 |
|
|
krb5 | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
ldap-useradmin | Folder | 0755 |
|
|
lilo | Folder | 0755 |
|
|
logrotate | Folder | 0755 |
|
|
lpadmin | Folder | 0755 |
|
|
lvm | Folder | 0755 |
|
|
lvs | Folder | 0755 |
|
|
mailbox | Folder | 0755 |
|
|
mailboxes | Folder | 0755 |
|
|
majordomo | Folder | 0755 |
|
|
man | Folder | 0755 |
|
|
mon | Folder | 0755 |
|
|
mount | Folder | 0755 |
|
|
mysql | Folder | 0755 |
|
|
net | Folder | 0755 |
|
|
nettools | Folder | 0755 |
|
|
nis | Folder | 0755 |
|
|
openslp | Folder | 0755 |
|
|
pam | Folder | 0755 |
|
|
pap | Folder | 0755 |
|
|
passwd | Folder | 0755 |
|
|
phpini | Folder | 0755 |
|
|
postfix | Folder | 0755 |
|
|
postgresql | Folder | 0755 |
|
|
ppp-client | Folder | 0755 |
|
|
pptp-client | Folder | 0755 |
|
|
pptp-server | Folder | 0755 |
|
|
proc | Folder | 0755 |
|
|
procmail | Folder | 0755 |
|
|
procyonguide | Folder | 0755 |
|
|
proftpd | Folder | 0755 |
|
|
pserver | Folder | 0755 |
|
|
qmailadmin | Folder | 0755 |
|
|
quota | Folder | 0755 |
|
|
raid | Folder | 0755 |
|
|
samba | Folder | 0755 |
|
|
sarg | Folder | 0755 |
|
|
sargreports | Folder | 0755 |
|
|
sendmail | Folder | 0755 |
|
|
sentry | Folder | 0755 |
|
|
servers | Folder | 0755 |
|
|
shell | Folder | 0755 |
|
|
shorewall | Folder | 0755 |
|
|
simple-firewall | Folder | 0755 |
|
|
smart-status | Folder | 0755 |
|
|
software | Folder | 0755 |
|
|
spam | Folder | 0755 |
|
|
squid | Folder | 0755 |
|
|
squidguard | Folder | 0755 |
|
|
squidinfo | Folder | 0755 |
|
|
squidreports | Folder | 0755 |
|
|
squidstat | Folder | 0755 |
|
|
ssh | Folder | 0755 |
|
|
sshd | Folder | 0755 |
|
|
status | Folder | 0755 |
|
|
stunnel | Folder | 0755 |
|
|
swell-wizard | Folder | 0755 |
|
|
sysgraph | Folder | 0755 |
|
|
sysinfo | Folder | 0755 |
|
|
syslog | Folder | 0755 |
|
|
sysstats | Folder | 0755 |
|
|
telnet | Folder | 0755 |
|
|
template | Folder | 0755 |
|
|
time | Folder | 0755 |
|
|
tsunamiguide | Folder | 0755 |
|
|
tunnel | Folder | 0755 |
|
|
unauthenticated | Folder | 0755 |
|
|
updown | Folder | 0755 |
|
|
useradmin | Folder | 0755 |
|
|
usermin | Folder | 0755 |
|
|
vgetty | Folder | 0755 |
|
|
webalizer | Folder | 0755 |
|
|
webfetch | Folder | 0755 |
|
|
webmin | Folder | 0755 |
|
|
webmin-iptables | Folder | 0755 |
|
|
webminguide | Folder | 0755 |
|
|
webminlog | Folder | 0755 |
|
|
wpad-wizard | Folder | 0755 |
|
|
wuftpd | Folder | 0755 |
|
|
xinetd | Folder | 0755 |
|
|
zones | Folder | 0755 |
|
|
config | File | 337 B | 0644 |
|
config.cgi | File | 3.48 KB | 0755 |
|
config_save.cgi | File | 1.46 KB | 0755 |
|
edit_overlay.cgi | File | 783 B | 0755 |
|
edit_right.cgi | File | 3.77 KB | 0755 |
|
favicon.ico | File | 1.12 KB | 0644 |
|
gray-theme-lib.pl | File | 4.63 KB | 0755 |
|
index.cgi | File | 4.19 KB | 0755 |
|
left.cgi | File | 10.06 KB | 0755 |
|
pngfix.html | File | 95 B | 0644 |
|
pngfix.js | File | 1.21 KB | 0644 |
|
recollect.cgi | File | 277 B | 0755 |
|
right.cgi | File | 54.67 KB | 0755 |
|
save_overlay.cgi | File | 902 B | 0755 |
|
save_right.cgi | File | 1.55 KB | 0755 |
|
theme.info | File | 151 B | 0644 |
|
theme.pl | File | 34.32 KB | 0755 |
|
top.cgi | File | 346 B | 0755 |
|
uconfig.cgi | File | 2.98 KB | 0755 |
|
uconfig_save.cgi | File | 1.39 KB | 0755 |
|