3 # Show a form for editing or creating a group of hosts or nets
5 require './itsecur-lib.pl';
6 &can_use_error("groups");
9 &header($text{'group_title1'}, "",
10 undef, undef, undef, undef, &apply_button());
13 &header($text{'group_title2'}, "",
14 undef, undef, undef, undef, &apply_button());
15 @groups = &list_groups();
16 if (defined($in{'idx'})) {
17 $group = $groups[$in{'idx'}];
20 ($group) = grep { $_->{'name'} eq $in{'name'} } @groups;
21 $in{'idx'} = $group->{'index'};
26 print "<form action=save_group.cgi>\n";
27 print "<input type=hidden name=new value='$in{'new'}'>\n";
28 print "<input type=hidden name=idx value='$in{'idx'}'>\n";
29 print "<input type=hidden name=from value='$in{'from'}'>\n";
30 print "<table border>\n";
31 print "<tr $tb> <td><b>$text{'group_header'}</b></td> </tr>\n";
32 print "<tr $cb> <td><table>\n";
34 print "<tr> <td><b>$text{'group_name'}</b></td>\n";
35 printf "<td><input name=name size=20 value='%s'></td> </tr>\n",
38 print "<tr> <td valign=top><b>$text{'group_members'}</b></td>\n";
39 print "<td><table>\n";
41 foreach $m (( grep { !/\!?\@/ } @{$group->{'members'}} ),
42 $blank, $blank, $blank, $blank, $blank, $blank) {
43 $neg = ($m =~ s/^\!//);
44 print "<input name=member_$i size=40 value='$m'>\n";
45 print "<input type=checkbox name=neg_$i value=! ",
46 $neg ? "checked" : "","> $text{'group_neg'}<br>\n";
50 print "<input type=checkbox name=resolv value=1> $text{'group_resolv'}\n";
51 print "</td> </tr>\n";
54 print "<tr> <td valign=top><b>$text{'group_members2'}</b></td>\n";
55 print "<td><table>\n";
57 foreach $m (( grep { /\!?\@/ } @{$group->{'members'}} ),
58 $blank, $blank, $blank, $blank, $blank, $blank) {
59 $neg = ($m =~ s/^\!//);
62 print &group_input("group_$i", $m, 1);
63 print "</td> </tr>\n";
66 print "</table></td> </tr>\n";
68 print "</table></td></tr></table>\n";
70 print "<input type=submit value='$text{'create'}'>\n";
73 print "<input type=submit value='$text{'save'}'>\n";
74 print "<input type=submit name=delete value='$text{'delete'}'>\n";
77 &can_edit_disable("groups");
80 $from = $in{'from'} || "groups";
81 &footer("list_${from}.cgi", $text{$from.'_return'});