#!/usr/bin/perl # Display a form for editing the configuration of a module, one section at # a time. require "gray-theme/gray-theme-lib.pl"; require './config-lib.pl'; &ReadParse(); $m = $in{'module'} || $ARGV[0]; &foreign_available($m) || &error($text{'config_eaccess'}); %access = &get_module_acl(undef, $m); $access{'noconfig'} && &error($text{'config_ecannot'}); %module_info = &get_module_info($m); if (-r &help_file($m, "config_intro")) { $help = [ "config_intro", $m ]; } else { $help = undef; } &ui_print_header(&text('config_dir', $module_info{'desc'}), $text{'config_title'}, "", $help, 0, 1); $mdir = &module_root_directory($m); my $mdir_conf_file = "$mdir/config.info"; if ($current_lang && $default_lang && $current_lang ne $default_lang && -r "$mdir_conf_file.$current_lang") { $mdir_conf_file .= ".$current_lang"; } # Read the config.info file to find sections &read_file($mdir_conf_file, \%info, \@info_order); # Call any config preload function if (&foreign_require($m) && &foreign_defined($m, 'config_pre_load')) { &foreign_call($m, "config_pre_load", \%info, \@info_order); } foreach $i (@info_order) { @p = split(/,/, $info{$i}); if ($p[1] == 11) { push(@sections, [ $i, $p[0] ]); } } if (@sections > 1) { # Work out template section to edit $in{'section'} ||= $sections[0]->[0]; $idx = &indexof($in{'section'}, map { $_->[0] } @sections); if ($in{'nprev'}) { $idx--; $idx = @sections-1 if ($idx < 0); } elsif ($in{'nnext'}) { $idx++; $idx = 0 if ($idx >= @sections); } $in{'section'} = $sections[$idx]->[0]; # We have some sections .. show a menu to select print &ui_form_start("config.cgi"); print &ui_hidden("module", $m),"\n"; print $text{'config_section'},"\n"; print &ui_select("section", $in{'section'}, \@sections, 1, 0, 0, 0, "onChange='form.submit()'"); print &ui_submit($text{'config_change'}); print " \n"; print &ui_submit($text{'config_nprev'}, "nprev"); print &ui_submit($text{'config_nnext'}, "nnext"); print &ui_form_end(); ($s) = grep { $_->[0] eq $in{'section'} } @sections; $sname = $s->[1]; } print &ui_form_start("config_save.cgi", "post"); print &ui_hidden("module", $m),"\n"; print &ui_hidden("section", $in{'section'}),"\n"; if ($s) { # Find next section $idx = &indexof($s, @sections); if ($idx == @sections-1) { print &ui_hidden("section_next", $sections[0]->[0]); } else { print &ui_hidden("section_next", $sections[$idx+1]->[0]); } } print &ui_table_start($sname, "width=100%", 2); # Load module config defaults (fill missing) my $mdefconf = "$mdir/config"; $mdefconf = "$mdir/config-$gconfig{'os_type'}" if (-r "$mdir/config-$gconfig{'os_type'}"); &read_file($mdefconf, \%newconfig); # Load module config custom &read_file("$config_directory/$m/config", \%newconfig); # Load module config user custom &load_module_preferences($m, \%newconfig); if (-r "$mdir/config_info.pl") { # Module has a custom config editor &foreign_require($m, "config_info.pl"); local $fn = "${m}::config_form"; if (defined(&$fn)) { $func++; &foreign_call($m, "config_form", \%newconfig); } } if (!$func) { # Use config.info to create config inputs &generate_config(\%newconfig, $mdir_conf_file, $m, undef, undef, $in{'section'}); } print &ui_table_end(); print &ui_form_end([ [ "save", $text{'save'} ], $s ? ( [ "save_next", $text{'config_next'} ] ) : ( ) ]); if ($m eq "virtual-server") { &ui_print_footer("/right.cgi", $text{'config_return'}); } else { &ui_print_footer("/$m", $text{'index'}); }
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 |
|