|
Server : Apache/2.2.2 (Fedora) System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686 User : apache ( 48) PHP Version : 5.2.9 Disable Function : NONE Directory : /usr/libexec/webmin/net/ |
Upload File : |
#!/usr/bin/perl
# save_host.cgi
# Create, update or delete a host address
require './net-lib.pl';
$access{'hosts'} == 2 || &error($text{'hosts_ecannot'});
&ReadParse();
&lock_file($config{'hosts_file'});
@hosts = &list_hosts();
if ($in{'delete'}) {
# deleting a host
$host = $hosts[$in{'idx'}];
&delete_host($host);
}
else {
# saving or updating a host
$whatfailed = "Failed to save host";
&check_ipaddress_any($in{'address'}) ||
&error("'$in{'address'}' is not a valid IP address");
@h = split(/\s+/, $in{'hosts'});
foreach $h (@h) {
$h =~ /^[A-z0-9\-\.]+$/ ||
&error("'$h' is not a valid hostname");
}
@h>0 || &error("You must enter at least one hostname");
if ($in{'new'}) {
# saving a host
$host = { 'address' => $in{'address'},
'hosts' => \@h };
&create_host($host);
}
else {
# updating a host
$host = $hosts[$in{'idx'}];
$host->{'address'} = $in{'address'};
$host->{'hosts'} = \@h;
&modify_host($host);
}
}
&unlock_file($config{'hosts_file'});
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
'host', $host->{'address'}, $host);
&redirect("list_hosts.cgi");