php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay

| files >> /proc/self/root/usr/libexec/webmin/virtual-server-theme/ |
| files >> //proc/self/root/usr/libexec/webmin/virtual-server-theme/config.cgi |
#!/usr/bin/perl
# Display a form for editing the configuration of a module, one section at
# a time.
require "virtual-server-theme/virtual-server-theme-lib.pl";
require "virtual-server-theme/theme.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);
# Read the config.info file to find sections
&read_file("$mdir/config.info", \%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(&text('config_header', $module_info{'desc'}).$sname,
"width=100%", 2);
&read_file("$config_directory/$m/config", \%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/config.info", $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_page_cgi(), $text{'config_return'});
}
else {
&ui_print_footer("/$m", $text{'index'});
}
y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`