Handle hostnames with upper-case letters
[webmin.git] / dhcpd / confirm_delete.cgi
1 #!/usr/local/bin/perl
2 # save_shared.cgi
3 # Update, create or delete a shared network
4
5 require './dhcpd-lib.pl';
6 require './params-lib.pl';
7 &ReadParse();
8 $par = &get_parent_config();
9 foreach $i ($in{'sidx'}, $in{'uidx'}, $in{'idx'}) {
10         if ($i ne "") {
11                 $par = $par->{'members'}->[$i];
12                 }
13         }
14
15 # check acls
16 %access = &get_module_acl();
17 &error_setup($text{'eacl_aviol'});
18
19 @host = &find("host", $par->{'members'});
20 @group = &find("group", $par->{'members'});
21 @subn = &find("subnet", $par->{'members'});
22 if ($in{'type'} == 0) {
23         &error("$text{'eacl_np'} $text{'eacl_pdn'}")
24                 if !&can('rw', \%access, $par, 1);
25         }
26 elsif ($in{'type'} == 1) {
27         &error("$text{'eacl_np'} $text{'eacl_pds'}")
28                 if !&can('rw', \%access, $par, 1);
29         }
30 elsif ($in{'type'} == 2) {
31         &error("$text{'eacl_np'} $text{'eacl_pdg'}")
32                 if !&can('rw', \%access, $par, 1);
33         }
34 if ($in{'type'} == 0) {
35         foreach $s (@subn) {
36                 &error("$text{'eacl_np'} $text{'eacl_pds'}")
37                         if !&can('rw', \%access, $s, 1);
38                 }
39         }
40 if ($in{'type'} < 2) {
41         foreach $g (@group) {
42                 &error("$text{'eacl_np'} $text{'eacl_pdg'}")
43                         if !&can('rw', \%access, $g, 1);
44                 }
45         }
46 foreach $h (@host) {
47         &error("$text{'eacl_np'} $text{'eacl_pdh'}")
48                 if !&can('rw', \%access, $h, 1);
49         }
50
51 if ($in{'type'} == 0) {
52         $name = $par->{'values'}->[0];
53         }
54 elsif ($in{'type'} == 1) {
55         $name = $par->{'values'}->[0]."/".$par->{'values'}->[2];
56         }
57 elsif ($in{'type'} == 2) {
58         local $gm = @host;
59         $name = &group_name($gm, $par);
60         }
61 else {
62         &error($text{'cdel_eunknown'});
63         }
64
65 &ui_print_header(undef, $text{'cdel_header'}, "");
66 @types1 = ($text{'cdel_shared1'}, $text{'cdel_subnet1'}, $text{'cdel_group1'});
67 @types2 = ($text{'cdel_shared2'}, $text{'cdel_subnet2'}, $text{'cdel_group2'});
68 print &text('cdel_txt', $types1[$in{'type'}], $name), "<br><br>\n";
69
70 if (@host > 0) {
71         print ((@host > 1) ? $text{'cdel_hosts'} : $text{'cdel_host'});
72         print ": ";
73         $start = 1;
74         foreach $i (@host) {
75                 if ($start) { $start = 0; }
76                 else { print ", " }
77                 print $i->{'values'}->[0];
78                 }
79         print "<br>\n";
80         }
81 if (@group > 0) {
82         print ((@group > 1) ? $text{'cdel_groups'} : $text{'cdel_group'});
83         print ":";
84         $start = 1;
85         foreach $i (@group) {
86                 local (@ghosts, $gm);
87                 if ($start) { $start = 0; }
88                 else { print ", " }
89                 @ghosts = &find("host", $i->{'members'});
90                 $gm = @ghosts;
91                 print &group_name($gm, $i);
92                 }
93         print "<br>\n";
94         }
95 if (@subn > 0) {
96         print ((@subn > 1) ? $text{'cdel_subnets'} : $text{'cdel_subnet'});
97         print ": ";
98         $start = 1;
99         foreach $i (@subn) {
100                 if ($start) { $start = 0; }
101                 else { print ", " }
102                 print $i->{'values'}->[0], "/", $i->{'values'}->[2];
103                 }
104         print "<br>\n";
105         }
106
107 print "<form action=delete_all.cgi>\n";
108 print "<input name=idx value=\"$in{'idx'}\" type=hidden>\n";
109 print "<input name=uidx value=\"$in{'uidx'}\" type=hidden>\n";
110 print "<input name=sidx value=\"$in{'sidx'}\" type=hidden>\n";
111
112 print "<b>", text('cdel_confirm', $types2[$in{'type'}]), "</b>\&nbsp;\&nbsp;\&nbsp;";
113 print "<input type=submit name=delete value=\"$text{'yes'}\">\n";
114 print "<input type=submit name=cancel value=\"$text{'no'}\">\n";
115 print "</form>\n";
116
117 &ui_print_footer("", $text{'cdel_return'});
118