Server IP : 195.201.23.43 / Your IP : 18.221.182.97 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/filter/ |
Upload File : |
#!/usr/bin/perl # Show a table of simple actions require './filter-lib.pl'; &ui_print_header(undef, $text{'index_title'}, "", undef, 0, 1); if (&get_product_name() eq 'webmin') { &ui_print_endpage($text{'index_nowebmin'}); } # Warn if procmail is not installed if ($config{'warn_procmail'} && !&has_command("procmail")) { print "$text{'index_warn'}<p>\n"; } # Check for an override alias $alias = &get_override_alias(); if ($alias) { # Got one .. but does it deliver locally $noat = $remote_user; $noat =~ s/\@/-/g; @values = @{$alias->{'values'}}; ($tome) = grep { $_ eq "\\$remote_user" || $_ eq "\\$noat" } @values; if ($tome) { @values = grep { $_ ne $tome } @values; $msg = 'index_aliasme'; } else { $msg = 'index_alias'; } print "<b>$text{$msg}</b><br>\n"; print "<ul>\n"; foreach $dest (&describe_alias_dest(\@values)) { print "<li>$dest\n"; } print "</ul>\n"; } # Check if /etc/procmailrc forces local delivery my $alerted; if (&no_user_procmailrc()) { my $text_force = $text{'index_force'}; if (-d "/etc/webmin/virtual-server") { $text_force .= " $text{'index_force_desc'}"; } $alerted++; print &ui_alert_box($text_force, 'danger'); } @filters = &list_filters(); foreach my $filter (@filters) { $filter->{'action'} = &html_escape($filter->{'action'}) if ($filter->{'action'}); } @links = ( ); if (@filters) { push(@links, &select_all_link("d"), &select_invert_link("d")); } push(@links, &ui_link("edit.cgi?new=1",$text{'index_add'})); ($auto) = grep { $_->{'actionreply'} } @filters; if (&can_simple_autoreply() && !$auto) { push(@links, &ui_link("edit_auto.cgi",$text{'index_addauto'})); } ($fwd) = grep { $_->{'actiontype'} eq '!' } @filters; if (&can_simple_forward() && !$fwd) { push(@links, &ui_link("edit_forward.cgi",$text{'index_addfwd'})); } @folders = &mailbox::list_folders(); if (@filters || &get_global_spamassassin()) { # Show table of filters print &ui_form_start("delete.cgi", "post"); @tds = ( "width=5", "width=50%", "width=50%", "width=32" ); print &ui_links_row(\@links); print &ui_columns_start([ "", $text{'index_condition'}, $text{'index_action'}, @filters > 1 ? ( $text{'index_move'} ) : ( ), ], 100, 0, \@tds); # Add a magic non-editable row(s) for global spamassassin run if (&get_global_spamassassin()) { print &ui_columns_row( [ "", $text{'index_calways'}, $text{'index_aspam'}, @filters > 1 ? ( "" ) : ( ) ], \@tds); # Delete level $spamlevel = &get_global_spam_delete(); if ($spamlevel) { print &ui_columns_row( [ "", &text('index_clevel', $spamlevel), $text{'index_athrow'}, @filters > 1 ? ( "" ) : ( ) ], \@tds); } # Delivery path $spamfile = &get_global_spam_path(); if ($spamfile) { $folder = &file_to_folder($spamfile, \@folders, 0, 1); $id = &mailbox::folder_name($folder); if ($folder->{'fake'}) { $sflink = "<u>".&html_escape($folder->{'name'})."</u>"; } else { $sflink = &ui_link("../mailbox/index.cgi?id=$id", &html_escape($folder->{'name'})); } print &ui_columns_row( [ "", $text{'index_cspam'}, &text('index_afolder', $sflink), @filters > 1 ? ( "" ) : ( ) ], \@tds); } } # Show editable rows foreach $f (@filters) { # Work out nice condition and action descriptions local $cond; ($cond, $lastalways) = &describe_condition($f); $cond = &ui_link("edit.cgi?idx=$f->{'index'}", $cond); local $action = &describe_action($f, \@folders); # Create mover links local $mover; if ($f eq $filters[0]) { $mover .= "<img src=images/gap.gif alt=' '>"; } else { $mover .= "<a href='up.cgi?idx=$f->{'index'}'>". "<img src=images/up.gif border=0 alt='Up'></a>"; } if ($f eq $filters[$#filters]) { $mover .= "<img src=images/gap.gif alt=' '>"; } else { $mover .= "<a href='down.cgi?idx=$f->{'index'}'>". "<img src=images/down.gif border=0 alt='Down'></a>"; } # Show the row print &ui_checked_columns_row( [ $cond, $action, @filters > 1 ? ( $mover ) : ( ) ], \@tds, "d", $f->{'index'} ); } # Add a magic non-editable row for default delivery if (!$lastalways) { print &ui_columns_row( [ "", $text{'index_calways'}, $text{'index_adefault'}, @filters > 1 ? ( "" ) : ( ) ], \@tds); } print &ui_columns_end(); print &ui_links_row(\@links); print &ui_form_end([ [ "delete", $text{'index_delete'} ] ]); } else { # Tell the user there are none @pmrc = &procmail::get_procmailrc(); if (@pmrc) { if ($alerted) { print &ui_alert_box($text{'index_none2'}, 'info'); } else { print $text{'index_none2'} . "<p>"; } } else { if ($alerted) { print &ui_alert_box($text{'index_none'}, 'info'); } else { print $text{'index_none'} . "<p>"; } } print &ui_links_row(\@links); } &ui_print_footer("/", $text{'index'});Private