diff --git a/nftables/delete_chain.cgi b/nftables/delete_chain.cgi index 0a3156864..25b93990b 100644 --- a/nftables/delete_chain.cgi +++ b/nftables/delete_chain.cgi @@ -20,34 +20,13 @@ my @refs = grep { ($_->{'jump'} && $_->{'jump'} eq $in{'chain'}) || ($_->{'goto'} && $_->{'goto'} eq $in{'chain'}) } @{$table->{'rules'}}; +@refs && error(text('delete_chain_inuse', $in{'chain'}, scalar(@refs))); -if ($in{'confirm'}) { - @refs && error(text('delete_chain_inuse', $in{'chain'}, scalar(@refs))); +@{$table->{'rules'}} = grep { $_->{'chain'} ne $in{'chain'} } @{$table->{'rules'}}; +delete($table->{'chains'}->{$in{'chain'}}); - @{$table->{'rules'}} = grep { $_->{'chain'} ne $in{'chain'} } @{$table->{'rules'}}; - delete($table->{'chains'}->{$in{'chain'}}); - - my $err = save_table_configuration($table, @tables); - error(text('delete_chain_failed', $err)) if ($err); - webmin_log("delete", "chain", $in{'chain'}, - { 'table' => $table->{'name'}, 'family' => $table->{'family'} }); - redirect("index.cgi?table=$in{'table'}"); -} - -ui_print_header(undef, $text{'delete_chain_title'}, "", "intro", 1, 1); -print ui_form_start("delete_chain.cgi"); -print ui_hidden("table", $in{'table'}); -print ui_hidden("chain", $in{'chain'}); -print "
", - text('delete_chain_confirm', - "$in{'chain'}", - "$table->{'family'} $table->{'name'}"), - ""; -if (@refs) { - print "

", text('delete_chain_inuse', $in{'chain'}, scalar(@refs)); -} -print "

\n"; -print ui_submit($text{'delete'}, "confirm"); -print "

\n"; -print ui_form_end(); -ui_print_footer("index.cgi?table=$in{'table'}", $text{'index_return'}); +my $err = save_table_configuration($table, @tables); +error(text('delete_chain_failed', $err)) if ($err); +webmin_log("delete", "chain", $in{'chain'}, + { 'table' => $table->{'name'}, 'family' => $table->{'family'} }); +redirect("index.cgi?table=$in{'table'}"); diff --git a/nftables/delete_set.cgi b/nftables/delete_set.cgi index 24c97759f..63b522b53 100755 --- a/nftables/delete_set.cgi +++ b/nftables/delete_set.cgi @@ -17,32 +17,12 @@ my $set = $table->{'sets'}->{$in{'set'}}; $set || error($text{'set_noset'}); my $refs = count_set_references($table, $in{'set'}); +$refs && error(text('delete_set_inuse', $in{'set'}, $refs)); -if ($in{'confirm'}) { - $refs && error(text('delete_set_inuse', $in{'set'}, $refs)); +delete($table->{'sets'}->{$in{'set'}}); - delete($table->{'sets'}->{$in{'set'}}); - my $err = save_table_configuration($table, @tables); - error(text('delete_set_failed', $err)) if ($err); - webmin_log("delete", "set", $in{'set'}, - { 'table' => $table->{'name'}, 'family' => $table->{'family'} }); - redirect("index.cgi?table=$in{'table'}&view=sets"); -} - -ui_print_header(undef, $text{'delete_set_title'}, "", "intro", 1, 1); -print ui_form_start("delete_set.cgi"); -print ui_hidden("table", $in{'table'}); -print ui_hidden("set", $in{'set'}); -print "
", - text('delete_set_confirm', - "$in{'set'}", - "$table->{'family'} $table->{'name'}"), - ""; -if ($refs) { - print "

", text('delete_set_inuse', $in{'set'}, $refs); -} -print "

\n"; -print ui_submit($text{'delete'}, "confirm"); -print "

\n"; -print ui_form_end(); -ui_print_footer("index.cgi?table=$in{'table'}&view=sets", $text{'index_return'}); +my $err = save_table_configuration($table, @tables); +error(text('delete_set_failed', $err)) if ($err); +webmin_log("delete", "set", $in{'set'}, + { 'table' => $table->{'name'}, 'family' => $table->{'family'} }); +redirect("index.cgi?table=$in{'table'}&view=sets"); diff --git a/nftables/lang/en b/nftables/lang/en index 9fed1d4dc..92da50ba6 100644 --- a/nftables/lang/en +++ b/nftables/lang/en @@ -165,10 +165,8 @@ chain_edup=A chain with that name already exists chain_notable=No such table selected chain_nochain=No such chain selected chain_ebase=Base chains require type, hook, priority, and policy. -delete_chain_title=Delete chain delete_chain_err=Failed to delete chain delete_chain_failed=Failed to delete chain:
$1
-delete_chain_confirm=Are you sure you want to delete chain $1 from table $2? delete_chain_inuse=Chain $1 is referenced by $2 rule(s) via jump/goto. Remove those rules first. delete_chains_err=Failed to delete selected chains delete_chains_failed=Failed to delete selected chains:
$1
@@ -222,10 +220,8 @@ set_edup=A set with that name already exists set_etype=Set type is required set_notable=No such table selected set_noset=No such set selected -delete_set_title=Delete set delete_set_err=Failed to delete set delete_set_failed=Failed to delete set:
$1
-delete_set_confirm=Are you sure you want to delete set $1 from table $2? delete_set_inuse=Set $1 is referenced by $2 rule(s). Remove those rules first. delete_sets_err=Failed to delete selected sets delete_sets_failed=Failed to delete selected sets:
$1