Files
webmin/shorewall/edit.cgi
2026-08-03 14:37:19 -07:00

49 lines
1.3 KiB
Perl
Executable File

#!/usr/bin/perl
# edit.cgi
# Display a form for editing or creating a table entry
require './shorewall-lib.pl';
&ReadParse();
&get_clean_table_name(\%in);
&can_access($in{'table'}) || &error($text{'list_ecannot'});
if ($in{'new'}) {
&ui_print_header(undef, $text{$in{'tableclean'}."_create"}, "");
if ($in{'before'} ne '') {
$msg = &text('edit_before', $in{'before'}+1);
}
elsif ($in{'after'} ne '') {
$msg = &text('edit_after', $in{'after'}+1);
}
print "<center><font size=+1>$msg</font></center>\n" if ($msg);
}
else {
&ui_print_header(undef, $text{$in{'tableclean'}."_edit"}, "");
$pfunc = &get_parser_func(\%in);
@table = &read_table_file($in{'table'}, $pfunc);
$row = $table[$in{'idx'}];
}
print &ui_form_start("save.cgi", "post");
print &ui_hidden("table", $in{'table'});
print &ui_hidden("idx", $in{'idx'});
print &ui_hidden("new", $in{'new'});
print &ui_hidden("before", $in{'before'});
print &ui_hidden("after", $in{'after'});
print &ui_table_start($text{$in{'tableclean'}."_header"}, "width=100%", 4);
$ffunc = $in{'tableclean'}."_form";
&$ffunc(@$row);
print &ui_table_end();
if ($in{'new'}) {
print &ui_form_end([ [ undef, $text{'create'} ] ]);
}
else {
print &ui_form_end([ [ undef, $text{'save'} ],
[ 'delete', $text{'delete'} ] ]);
}
&ui_print_footer("list.cgi?table=$in{'table'}", $text{$in{'tableclean'}."_return"});