/
usr
/
share
/
usermin
/
filter
/
/usr/share/usermin/filter
mkdir
upload
Name
Size
Mode
Actions
images/
-
0755
rm
lang/
-
0755
rm
aliases-lib.pl
8122
0755
edit
dl
rm
autoreply-file-lib.pl
2339
0755
edit
dl
rm
CHANGELOG
3033
0644
edit
dl
rm
config
218
0644
edit
dl
rm
config.info
489
0644
edit
dl
rm
config.info.ca
575
0644
edit
dl
rm
config.info.cs
370
0644
edit
dl
rm
config.info.de
594
0644
edit
dl
rm
config.info.el
404
0644
edit
dl
rm
config.info.hu
0
0644
edit
dl
rm
config.info.nl
584
0644
edit
dl
rm
config.info.no
519
0644
edit
dl
rm
config.info.pl
604
0644
edit
dl
rm
delete.cgi
431
0755
edit
dl
rm
down.cgi
261
0755
edit
dl
rm
edit.cgi
9263
0755
edit
dl
rm
edit_auto.cgi
3187
0755
edit
dl
rm
edit_forward.cgi
1210
0755
edit
dl
rm
filter-lib.pl
18136
0755
edit
dl
rm
index.cgi
4909
0755
edit
dl
rm
module.info
260
0644
edit
dl
rm
module.info.ar
0
0644
edit
dl
rm
module.info.ar.auto
175
0644
edit
dl
rm
module.info.bg
0
0644
edit
dl
rm
module.info.bg.auto
195
0644
edit
dl
rm
module.info.ca
109
0644
edit
dl
rm
module.info.cs
46
0644
edit
dl
rm
module.info.cs.auto
88
0644
edit
dl
rm
module.info.da
0
0644
edit
dl
rm
module.info.da.auto
110
0644
edit
dl
rm
module.info.de
114
0644
edit
dl
rm
module.info.el
0
0644
edit
dl
rm
module.info.el.auto
289
0644
edit
dl
rm
module.info.es
0
0644
edit
dl
rm
module.info.es.auto
114
0644
edit
dl
rm
module.info.eu
0
0644
edit
dl
rm
module.info.eu.auto
120
0644
edit
dl
rm
module.info.fa
0
0644
edit
dl
rm
module.info.fa.auto
144
0644
edit
dl
rm
module.info.fi
0
0644
edit
dl
rm
module.info.fi.auto
132
0644
edit
dl
rm
module.info.fr
0
0644
edit
dl
rm
module.info.fr.auto
124
0644
edit
dl
rm
module.info.hr
0
0644
edit
dl
rm
module.info.hr.auto
124
0644
edit
dl
rm
module.info.hu
92
0644
edit
dl
rm
module.info.it
0
0644
edit
dl
rm
module.info.it.auto
100
0644
edit
dl
rm
module.info.ja
0
0644
edit
dl
rm
module.info.ja.auto
151
0644
edit
dl
rm
module.info.ko
0
0644
edit
dl
rm
module.info.ko.auto
121
0644
edit
dl
rm
module.info.ms
103
0644
edit
dl
rm
module.info.nl
34
0644
edit
dl
rm
module.info.nl.auto
75
0644
edit
dl
rm
module.info.no
37
0644
edit
dl
rm
module.info.no.auto
74
0644
edit
dl
rm
module.info.pl
134
0644
edit
dl
rm
module.info.pt
0
0644
edit
dl
rm
module.info.pt.auto
104
0644
edit
dl
rm
module.info.pt_BR
0
0644
edit
dl
rm
module.info.pt_BR.auto
110
0644
edit
dl
rm
module.info.ru
0
0644
edit
dl
rm
module.info.ru.auto
200
0644
edit
dl
rm
module.info.sk
0
0644
edit
dl
rm
module.info.sk.auto
125
0644
edit
dl
rm
module.info.sv
0
0644
edit
dl
rm
module.info.sv.auto
124
0644
edit
dl
rm
module.info.tr
0
0644
edit
dl
rm
module.info.tr.auto
127
0644
edit
dl
rm
module.info.uk
0
0644
edit
dl
rm
module.info.uk.auto
194
0644
edit
dl
rm
module.info.zh
0
0644
edit
dl
rm
module.info.zh.auto
97
0644
edit
dl
rm
module.info.zh_TW
0
0644
edit
dl
rm
module.info.zh_TW.auto
103
0644
edit
dl
rm
move.cgi
1650
0755
edit
dl
rm
save.cgi
7815
0755
edit
dl
rm
save_auto.cgi
2798
0755
edit
dl
rm
save_forward.cgi
959
0755
edit
dl
rm
up.cgi
259
0755
edit
dl
rm
Edit:
/usr/share/usermin/filter/save_auto.cgi
(2798B)
#!/usr/bin/perl # Create, update or delete an autoreply filter require './filter-lib.pl'; &ReadParse(); &error_setup($text{'auto_err'}); use Time::Local; # Find existing autoreply filter object &lock_file($procmail::procmailrc); @filters = &list_filters(); ($old) = grep { $_->{'actionreply'} && $_->{'nocond'} } @filters; $filter = $old; if ($filter && !$in{'enabled'}) { # Just delete &delete_filter($filter); } elsif ($in{'enabled'}) { # Create or update if (!$filter) { $filter = { 'actionreply' => 1, 'body' => 0, 'continue' => 1 }; } $in{'reply'} =~ /\S/ || &error($text{'save_ereply'}); $in{'reply'} =~ s/\r//g; $filter->{'reply'}->{'autotext'} = $in{'reply'}; # From address (automatic) $filter->{'reply'}->{'from'} = &mailbox::get_preferred_from_address(); # File $idx = defined($filter->{'index'}) ? $filter->{'index'} : scalar(@filters); $filter->{'reply'}->{'autoreply'} ||= "$remote_user_info[7]/autoreply.$idx.txt"; # Reply period if ($config{'reply_force'}) { # Forced to minimum $min = $config{'reply_min'} || 60; $filter->{'reply'}->{'period'} = $min*60; $filter->{'reply'}->{'replies'} ||= "$user_module_config_directory/replies"; } elsif ($in{'period_def'}) { # No autoreply period delete($filter->{'reply'}->{'replies'}); delete($filter->{'reply'}->{'period'}); } else { # Set reply period and tracking file $in{'period'} =~ /^\d+$/ || &error($text{'save_eperiod'}); if ($config{'reply_min'} && $in{'period'} < $config{'reply_min'}) { &error(&text('save_eperiodmin', $config{'reply_min'})); } $filter->{'reply'}->{'period'} = $in{'period'}*60; $filter->{'reply'}->{'replies'} ||= "$user_module_config_directory/replies"; } # Save character set if ($in{'charset_def'} == 1) { delete($filter->{'reply'}->{'charset'}); } elsif ($in{'charset_def'} == 2) { $filter->{'reply'}->{'charset'} = &get_charset(); } else { $in{'charset'} =~ /^[a-z0-9\.\-\_]+$/i || error($text{'save_echarset'}); $filter->{'reply'}->{'charset'} = $in{'charset'}; } # Save subject if ($in{'subject_def'}) { delete($filter->{'reply'}->{'subject'}); } else { $filter->{'reply'}->{'subject'} = $in{'subject'}; } # Save autoreply start and end foreach $p ('start', 'end') { local ($s, $m, $h) = $p eq 'start' ? (0, 0, 0) : (59, 59, 23); if (!$in{$p.'_def'}) { eval { $tm = timelocal($s, $m, $h, $in{'d'.$p}, $in{'m'.$p}-1, $in{'y'.$p}-1900); }; $tm || &error($text{'save_e'.$p}); $filter->{'reply'}->{'autoreply_'.$p} = $tm; } else { delete($filter->{'reply'}->{'autoreply_'.$p}); } } if ($old) { &modify_filter($filter); } else { &insert_filter($filter); } } &unlock_file($procmail::procmailrc); &redirect("");
Save
cmd:
run