2 # Create, update or delete a rules section separator
4 require './itsecur-lib.pl';
5 &can_edit_error("rules");
7 @rules = &list_rules();
9 $rule = $rules[$in{'idx'}];
11 &lock_itsecur_files();
15 splice(@rules, $in{'idx'}, 1);
18 # Validate and store inputs
19 &error_setup($text{'sep_err'});
20 $in{'desc'} || &error($text{'sep_edesc'});
21 $rule->{'desc'} = $in{'desc'};
25 # Add to list at chosen position
26 if ($in{'pos'} == -1) {
30 splice(@rules, $in{'pos'}, 0, $rule);
34 # Maybe change position
35 foreach $r (grep { $_ ne $rule } @rules) {
36 if ($r->{'index'} == $in{'pos'}) {
37 push(@newrules, $rule);
41 push(@newrules, $rule) if ($in{'pos'} == -1);
48 &unlock_itsecur_files();
49 &remote_webmin_log($in{'delete'} ? "delete" : $in{'new'} ? "create" : "update",
50 "sep", $rule->{'index'}+1, $rule);
51 &redirect("list_rules.cgi");