#!/usr/local/bin/perl # edit_receipe.cgi # Display a form for editing or creating a procmail receipe require './procmail-lib.pl'; &ReadParse(); if ($in{'new'}) { &ui_print_header(undef, $text{'edit_title1'}, ""); $block++ if ($in{'block'}); } else { &ui_print_header(undef, $text{'edit_title2'}, ""); @conf = &get_procmailrc(); $rec = $conf[$in{'idx'}]; $block++ if (defined($rec->{'block'})); } print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; # Show action section print "\n"; print "\n"; print "
$text{'edit_header1'}
\n"; if ($block) { # Start of a conditional block local @lines = split(/\n/, $rec->{'block'}); local $r = @lines > 5 ? 10 : 5; print "\n"; print "\n"; } else { # Simple action ($t, $a) = &parse_action($rec); print "\n"; print "\n", &html_escape($t == 6 ? $rec->{'action'} : $a); } print "\n"; $ldef = $rec->{'lockfile'} ? 0 : defined($rec->{'lockfile'}) ? 2 : 1; print "\n", &html_escape($rec->{'lockfile'}); print "
$text{'edit_block'}
$text{'edit_action'}\n"; printf "
\n"; $i = 0; foreach $f (@known_flags) { print "\n" if ($i%2 == 0); print "\n"; print "\n" if ($i%2 == 1); $i++; } print "
\n"; printf " %s\n", $f, &indexof($f, @{$rec->{'flags'}}) >= 0 ? "checked" : "", $text{"edit_flag_$f"}; print "
$text{'edit_lockfile'} \n"; printf " %s\n", $ldef == 1 ? "checked" : "", $text{'edit_none'}; printf " %s\n", $ldef == 2 ? "checked" : "", $text{'default'}; printf " %s\n", $ldef == 0 ? "checked" : "", $text{'edit_lock'}; printf "

\n"; # Show conditions section print "\n"; print "\n"; print "
$text{'edit_header2'}
\n"; print "$text{'edit_conddesc'}

\n"; $i = 0; foreach $c (@{$rec->{'conds'}}, [ '-' ], [ '-' ] ) { print "\n"; printf "
\n", &html_escape($c->[1]); $i++; } print "

\n"; # Show save buttons print "\n"; if ($in{'new'}) { print "\n"; } else { print "\n"; print "\n"; } print "
\n"; &ui_print_footer("", $text{'index_return'});