From 98343f2272a7c8ad7bdd2054b6028eb3b5a9252d Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Sun, 16 Feb 2014 13:35:34 +0100 Subject: [PATCH] Fix UVreadmail.pm Use filename from function call. Picked from upstream. Signed-off-by: Thomas Hochstein --- CHANGES | 3 +++ README | 4 ++++ UVreadmail.pm | 16 ++++++++++++++-- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 064e2aa..e1c4529 100644 --- a/CHANGES +++ b/CHANGES @@ -5,6 +5,9 @@ TODO: - aussortieren von Bounces aus Stimmenliste Version 4.12 (19.01.2014): +- uvbounce.pl und uvballot.pl benutzen jetzt wieder den uebergebenen + Dateinamen statt irrtuemlich das Mailboxfile aus usevote.cfg + (Bugfix in UVreadmail.pm) - neue Config-Optionen "diff" und "sampleballotfile" - im Fehlermenue bei der Wahlscheinverarbeitung ist es nun moeglich, mit der Option "0" einen Dateivergleich (diff) zwischen dem gemailten diff --git a/README b/README index aa26972..9f2be7e 100644 --- a/README +++ b/README @@ -691,6 +691,10 @@ uvbounce.pl eingeschaltet und die Option -f (siehe unten) nicht benutzt wurde, werden die uebergebenen Dateinamen ignoriert. + Die Mails werden aus den uebergebenen Mailboxdateien geloescht + und statt dessen in einer neuen Datei mit der Erweiterung ".processed" + gespeichert. + Die Vorlage fuer die ausgegebene Liste ist im templates- Unterverzeichnis konfigurierbar (Datei "bouncelist"). diff --git a/UVreadmail.pm b/UVreadmail.pm index 01d062f..ac1b843 100644 --- a/UVreadmail.pm +++ b/UVreadmail.pm @@ -124,18 +124,30 @@ sub process { # Mailbox / Maildir } else { + my $readfilename; + + if ($caller==0) { + # called from uvvote.pl: use configured mailbox file + $readfilename = $config{votefile}; + } else { + # else use filename provided in function call + $readfilename = $filename; + # and create backup archive filename + $filename .= '.processed'; + } + my $mgr = Mail::Box::Manager->new; my $folder; eval{ - $folder = $mgr->open( folder => $config{votefile}, + $folder = $mgr->open( folder => $readfilename, create => 0, access => 'rw', type => $config{mailboxtype}, expand => 'LAZY', ); }; - die UVmessage::get("READMAIL_NOMAILFILE", (FILE => $config{votefile})) . "\n\n" if $@; + die UVmessage::get("READMAIL_NOMAILFILE", (FILE => $readfilename)) . "\n\n" if $@; # Iterate over the messages. foreach (@$folder) {