Handle hostnames with upper-case letters
[webmin.git] / status / save_tmpl.cgi
1 #!/usr/local/bin/perl
2 # Create, update or delete a template
3
4 require './status-lib.pl';
5 $access{'edit'} || &error($text{'tmpls_ecannot'});
6 &ReadParse();
7 &error_setup($text{'tmpl_err'});
8
9 # Get the template
10 if (!$in{'new'}) {
11         $tmpl = &get_template($in{'id'});
12         }
13 else {
14         $tmpl = { };
15         }
16
17 if ($in{'delete'}) {
18         # Remove this template
19         &error_setup($text{'tmpl_err2'});
20         @users = grep { $_->{'tmpl'} eq $tmpl->{'id'} } &list_services();
21         @users && &error(&text('tmpl_eusers',
22                         join(", ", map { "<i>$_->{'desc'}</i>" } @users)));
23         &delete_template($tmpl);
24         &webmin_log("delete", "template", $tmpl->{'desc'});
25         }
26 else {
27         # Validate and store inputs
28         $in{'desc'} =~ /\S/ || &error($text{'tmpl_edesc'});
29         $tmpl->{'desc'} = $in{'desc'};
30         $in{'email'} =~ /\S/ || &error($text{'tmpl_eemail'});
31         $tmpl->{'email'} = $in{'email'};
32         if ($in{'sms_def'}) {
33                 delete($tmpl->{'sms'});
34                 }
35         else {
36                 $in{'sms'} =~ /\S/ || &error($text{'tmpl_esms'});
37                 $tmpl->{'sms'} = $in{'sms'};
38                 }
39         if ($in{'snmp_def'}) {
40                 delete($tmpl->{'snmp'});
41                 }
42         else {
43                 $in{'snmp'} =~ /\S/ || &error($text{'tmpl_esnmp'});
44                 $tmpl->{'snmp'} = $in{'snmp'};
45                 }
46
47         # Save or create
48         &save_template($tmpl);
49         &webmin_log($in{'new'} ? "create" : "modify", "template",
50                     $tmpl->{'desc'});
51         }
52 &redirect("list_tmpls.cgi");
53