File: //usr/share/webmin/mon/save_global.cgi
#!/usr/bin/perl
# save_global.cgi
# Save global MON options
require './mon-lib.pl';
$conf = &get_mon_config();
&ReadParse();
&error_setup($text{'global_err'});
# Validate inputs
$in{'maxprocs'} =~ /^\d+$/ || &error($text{'global_emaxprocs'});
$in{'histlength'} =~ /^\d+$/ || &error($text{'global_ehistlength'});
-d $in{'alertdir'} || &error($text{'global_ealertdir'});
-d $in{'mondir'} || &error($text{'global_emondir'});
$in{'userfile_def'} || $in{'userfile'} =~ /^\S+$/ ||
&error($text{'global_euserfile'});
# Update config file
$maxprocs = &find("maxprocs", $conf);
&save_directive($conf, $maxprocs, { 'name' => 'maxprocs',
'global' => 1,
'values' => [ $in{'maxprocs'} ] } );
$histlength = &find("histlength", $conf);
&save_directive($conf, $histlength, { 'name' => 'histlength',
'global' => 1,
'values' => [ $in{'histlength'} ] } );
$alertdir = &find("alertdir", $conf);
&save_directive($conf, $alertdir, { 'name' => 'alertdir',
'global' => 1,
'values' => [ $in{'alertdir'} ] } );
$mondir = &find("mondir", $conf);
&save_directive($conf, $mondir, { 'name' => 'mondir',
'global' => 1,
'values' => [ $in{'mondir'} ] } );
$authtype = &find("authtype", $conf);
if ($in{'authtype'}) {
&save_directive($conf, $authtype, { 'name' => 'authtype',
'global' => 1,
'values' => [ $in{'authtype'} ] } );
}
else {
&save_directive($conf, $authtype) if ($authtype);
}
$userfile = &find("userfile", $conf);
if ($in{'userfile_def'}) {
&save_directive($conf, $userfile) if ($userfile);
}
else {
&save_directive($conf, $userfile, { 'name' => 'userfile',
'global' => 1,
'values' => [ $in{'userfile'} ] } );
}
&flush_file_lines();
&redirect("");