mirror of
https://github.com/webmin/webmin.git
synced 2025-08-16 14:51:18 +00:00
82 lines
2.2 KiB
Perl
Executable File
82 lines
2.2 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
# edit_group.cgi
|
|
# Show a form for editing or creating a group of hosts or nets
|
|
|
|
require './itsecur-lib.pl';
|
|
&can_use_error("groups");
|
|
&ReadParse();
|
|
if ($in{'new'}) {
|
|
&header($text{'group_title1'}, "",
|
|
undef, undef, undef, undef, &apply_button());
|
|
}
|
|
else {
|
|
&header($text{'group_title2'}, "",
|
|
undef, undef, undef, undef, &apply_button());
|
|
@groups = &list_groups();
|
|
if (defined($in{'idx'})) {
|
|
$group = $groups[$in{'idx'}];
|
|
}
|
|
else {
|
|
($group) = grep { $_->{'name'} eq $in{'name'} } @groups;
|
|
$in{'idx'} = $group->{'index'};
|
|
}
|
|
}
|
|
print &ui_hr();
|
|
|
|
print &ui_form_start("save_group.cgi", "post");
|
|
print &ui_hidden("new", $in{'new'});
|
|
print &ui_hidden("idx", $in{'idx'});
|
|
print &ui_hidden("from", $in{'from'});
|
|
print &ui_table_start($text{'group_header'}, undef, 2);
|
|
|
|
print &ui_table_row($text{'group_name'},
|
|
&ui_textbox("name", $group->{'name'}, 20),
|
|
undef, ["valign=middle","valign=middle"] );
|
|
|
|
my $tx = "";
|
|
$tx .= &ui_columns_start(undef);
|
|
$i = 0;
|
|
foreach $m (( grep { !/\!?\@/ } @{$group->{'members'}} ),
|
|
$blank, $blank, $blank, $blank, $blank, $blank) {
|
|
$neg = ($m =~ s/^\!//);
|
|
my @cols;
|
|
push(@cols, &ui_textbox("member_".$i, $m, 40) );
|
|
push(@cols, &ui_checkbox("neg_".$i, "!", $text{'group_neg'}, ($neg ? 1 : 0 ) ) );
|
|
$tx .= &ui_columns_row(\@cols, ["valign=middle","valign=middle"]);
|
|
$i++;
|
|
}
|
|
$tx .= &ui_columns_row([ &ui_checkbox("resolv", 1, $text{'group_resolv'}) ], ["colspan=2"]);
|
|
$tx .= ui_columns_end();
|
|
|
|
print &ui_table_row($text{'group_members'}, $tx);
|
|
|
|
# Show member groups
|
|
$i = 0;
|
|
$tx = &ui_columns_start(undef);
|
|
foreach $m (( grep { /\!?\@/ } @{$group->{'members'}} ),
|
|
$blank, $blank, $blank, $blank, $blank, $blank) {
|
|
$neg = ($m =~ s/^\!//);
|
|
$m =~ s/^\@//;
|
|
$tx .= &ui_columns_row([&group_input("group_$i", $m, 1)]);
|
|
$i++;
|
|
}
|
|
$tx .= ui_columns_end();
|
|
print &ui_table_row($text{'group_members2'}, $tx);
|
|
|
|
print &ui_table_end();
|
|
print "<p>";
|
|
if ($in{'new'}) {
|
|
print &ui_submit($text{'create'});
|
|
}
|
|
else {
|
|
print &ui_submit($text{'save'});
|
|
print &ui_submit($text{'delete'}, "delete");
|
|
}
|
|
print &ui_form_end(undef,undef,1);
|
|
&can_edit_disable("groups");
|
|
|
|
print &ui_hr();
|
|
$from = $in{'from'} || "groups";
|
|
&footer("list_${from}.cgi", $text{$from.'_return'});
|
|
|