mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 14:13:29 +00:00
39 lines
1018 B
Perl
Executable File
39 lines
1018 B
Perl
Executable File
#!/usr/local/bin/perl
|
|
# save_dialin.cgi
|
|
# Create, update or delete a caller ID number
|
|
|
|
require './pap-lib.pl';
|
|
$access{'dialin'} || &error($text{'dialin_ecannot'});
|
|
&ReadParse();
|
|
@dialin = &parse_dialin_config();
|
|
$dialin = $dialin[$in{'idx'}] if (!$in{'new'});
|
|
|
|
&lock_file($config{'dialin_config'});
|
|
if ($in{'delete'}) {
|
|
# Delete the number
|
|
&delete_dialin($dialin, \@dialin);
|
|
}
|
|
else {
|
|
# Validate inputs
|
|
&error_setup($text{'dialin_err'});
|
|
$in{'mode'} != 2 || $in{'number'} =~ /^\d+$/ ||
|
|
&error($text{'dialin_enumber'});
|
|
|
|
$dialin->{'number'} = $in{'mode'} == 0 ? 'all' :
|
|
$in{'mode'} == 1 ? 'none' : $in{'number'};
|
|
$dialin->{'not'} = !$in{'allow'};
|
|
if ($in{'new'}) {
|
|
# Add a new number
|
|
&create_dialin($dialin, \@dialin);
|
|
}
|
|
else {
|
|
# Update an existing number
|
|
&modify_dialin($dialin, \@dialin);
|
|
}
|
|
}
|
|
&unlock_file($config{'dialin_config'});
|
|
&webmin_log($in{'delete'} ? "delete" : $in{'new'} ? "create" : "modify",
|
|
"dialin", $dialin->{'number'}, $dialin);
|
|
&redirect("list_dialin.cgi");
|
|
|