Release of upstream version 4.10.

Signed-off-by: Thomas Hochstein <thh@inter.net>
This commit is contained in:
Thomas Hochstein 2012-09-16 17:37:34 +02:00
parent b0edfe72dd
commit bb61da3743
19 changed files with 141 additions and 43 deletions

17
CHANGES
View file

@ -1,9 +1,7 @@
UseVoteGer Versionshistorie (aktuelle Version: 4.10, released ) UseVoteGer Versionshistorie (aktuelle Version: 4.10, released 17.09.2012)
========================================================================= =========================================================================
TODO: TODO:
- Fehler in Annullierungsbearbeitung (wird nur bei erstem oder letztem
Abstimmungspunkt ausgewertet)
- aussortieren von Bounces aus Stimmenliste - aussortieren von Bounces aus Stimmenliste
- Unterstuetzung von Maildir - Unterstuetzung von Maildir
- [Zugschlus] ich fänd es klasse, wenn man eine Kopie des Wahlscheines ins - [Zugschlus] ich fänd es klasse, wenn man eine Kopie des Wahlscheines ins
@ -12,16 +10,27 @@ oder wdiff zwischen Sollwahlschein und wirklich eingreichtem
Wahlschein macht. Auf diese Weise erwischt man auch kleine Änderungen Wahlschein macht. Auf diese Weise erwischt man auch kleine Änderungen
am Datenschutzhinweis (da bin ich eben in eine Falle von th-h getappt). am Datenschutzhinweis (da bin ich eben in eine Falle von th-h getappt).
Version 4.10: Version 4.10 (17.09.2012):
- Fehler in uvvote.pl, Zeile 126 behoben (Verarbeitung von temporaeren - Fehler in uvvote.pl, Zeile 126 behoben (Verarbeitung von temporaeren
Dateien - es wurde nicht korrekt auf vorhandene Temp-Dateien Dateien - es wurde nicht korrekt auf vorhandene Temp-Dateien
geprueft) geprueft)
- Typo in bdsgtext.cfg behoben - Typo in bdsgtext.cfg behoben
- doppelten Identifier "VOTE_NO_VOTES" in messages.cfg/uvvote.pl umbenannt
- templates/ack-mail: Votetaker (Unterschrift) linksbuendig statt - templates/ack-mail: Votetaker (Unterschrift) linksbuendig statt
wie vorher rechtsbuendig einfuegen; Anleitung fuer Annullierungen wie vorher rechtsbuendig einfuegen; Anleitung fuer Annullierungen
verbessert; Hinweis darauf, dass Stimmaenderungen an den verbessert; Hinweis darauf, dass Stimmaenderungen an den
Voteaccount geschickt werden muessen und nicht einfach als Antwort Voteaccount geschickt werden muessen und nicht einfach als Antwort
auf die Ack-Mail geschickt werden koennen) auf die Ack-Mail geschickt werden koennen)
- Fehler in Annullierungsbearbeitung behoben (wurde nur bei erstem
oder letztem Abstimmungspunkt ausgewertet)
- Abstimmungsname wird nun auf Korrektheit geprüft (Wahlschein gehört
zur richtigen Abstimmung)
- neue Konfigurations-Option "ballotintro" und neues Template
tpl_wrong_voting
- usenet@ und news@ werden nicht mehr als ungueltige Mailadressen
angesehen. Vor allem usenet@ wird von vielen Waehlern verwendet.
- Aenderung der Wahlregeln: statt 60 nur noch 50 JA-Stimmen benoetigt
- kleinere Template-Aenderungen (verbesserte Texte/Formatierungen)
Version 4.09 (14.09.2007): Version 4.09 (14.09.2007):
- "votefile"-Option in usevote.cfg an passendere Stelle verschoben und - "votefile"-Option in usevote.cfg an passendere Stelle verschoben und

7
README
View file

@ -1,4 +1,4 @@
UseVoteGer 4.09 (c) 2001-2007 Marc Langer UseVoteGer 4.10 (c) 2001-2012 Marc Langer
UseVoteGer is a voting software for usenet votes. UseVoteGer is a voting software for usenet votes.
@ -18,7 +18,7 @@ written in C). Not all functions of Usevote/UseVoteGer 3.x are implemented!
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
UseVoteGer 4.09 - Usenet-Abstimmungssoftware UseVoteGer 4.10 - Usenet-Abstimmungssoftware
=========================================== ===========================================
von Marc Langer <uv@marclanger.de> von Marc Langer <uv@marclanger.de>
@ -89,9 +89,6 @@ I. Einmalig bei der Usevote-Erstinstallation
sehr einfach mit "perl -MCPAN -e shell", ActivePerl fuer sehr einfach mit "perl -MCPAN -e shell", ActivePerl fuer
Windows hat einen eigenen Paketmanager) Windows hat einen eigenen Paketmanager)
Achtung: Bei meinem ActivePerl 5.6.1 war eine alte Libnet-Version
enthalten, die noch keine SMTP-Authentication unterstuetzte.
Bei Benutzung dieses Features muss evtl. erst upgedated werden.
II. Fuer jedes Voting II. Fuer jedes Voting
(1) usevote.cfg auf das durchzufuehrende Voting anpassen (1) usevote.cfg auf das durchzufuehrende Voting anpassen

View file

@ -18,7 +18,7 @@ require Exporter;
$VERSION = "0.18"; $VERSION = "0.18";
# Usevote version # Usevote version
$usevote_version = "UseVoteGer 4.09"; $usevote_version = "UseVoteGer 4.10";
sub read_config { sub read_config {

View file

@ -17,7 +17,8 @@ $VERSION = "0.4";
############################################################################## ##############################################################################
# Menu for interaction with the votetaker # # Menu for interaction with the votetaker #
# Parameters: votes list and header (references to arrays) # # Parameters: votes list and header (references to arrays) #
# Body, Mailadress, Name, Ballot ID (references to strings) # # Body, Mailadress, Name, Ballot ID, #
# Voting (references to strings) #
# List of newly set fields (reference to array) # # List of newly set fields (reference to array) #
# List of errors to correct (Array-Ref) # # List of errors to correct (Array-Ref) #
# Return Values: 'w': proceed # # Return Values: 'w': proceed #
@ -25,7 +26,7 @@ $VERSION = "0.4";
############################################################################## ##############################################################################
sub menu { sub menu {
my ($votes, $header, $body, $addr, $name, $ballot_id, $set, $errors) = @_; my ($votes, $header, $body, $addr, $name, $ballot_id, $voting, $set, $errors) = @_;
my $input = ""; my $input = "";
my $voter_addr = $$addr || ''; my $voter_addr = $$addr || '';
my $voter_name = $$name || ''; my $voter_name = $$name || '';
@ -79,6 +80,7 @@ sub menu {
print "(5) ", UVmessage::get("MENU_BALLOT_ID"), " [$$ballot_id]\n" print "(5) ", UVmessage::get("MENU_BALLOT_ID"), " [$$ballot_id]\n"
if ($config{personal}); if ($config{personal});
print "(6) ", UVmessage::get("MENU_BDSG"), "\n" if ($config{bdsg}); print "(6) ", UVmessage::get("MENU_BDSG"), "\n" if ($config{bdsg});
print "(7) ", UVmessage::get("MENU_VOTING"), " [", $$voting, "]\n";
} }
print "\n", print "\n",
@ -269,6 +271,38 @@ sub menu {
$errors{InvalidBDSG} = UVmessage::get("MENU_INVALIDBDSG"); $errors{InvalidBDSG} = UVmessage::get("MENU_INVALIDBDSG");
} }
} elsif ($input eq '7') {
my $sel;
do {
print "[a] ", UVmessage::get("MENU_VOTING_CORRECT"), "\n",
"[b] ", UVmessage::get("MENU_VOTING_WRONG"), "\n\n",
UVmessage::get("MENU_PROMPT");
$sel = <STDIN>;
} until ($sel =~ /^[ab]$/i);
if ($sel =~ /^a$/i) {
delete $errors{NoVoting};
delete $errors{WrongVoting};
} else {
$errors{WrongVoting} = UVmessage::get("MENU_WRONGVOTING");
}
} elsif ($input eq '7') {
my $sel;
do {
print "[a] ", UVmessage::get("MENU_VOTING_CORRECT"), "\n",
"[b] ", UVmessage::get("MENU_VOTING_WRONG"), "\n\n",
UVmessage::get("MENU_PROMPT");
$sel = <STDIN>;
} until ($sel =~ /^[ab]$/i);
if ($sel =~ /^a$/i) {
delete $errors{NoVoting};
delete $errors{WrongVoting};
} else {
$errors{WrongVoting} = UVmessage::get("MENU_WRONGVOTING");
}
} elsif ($input =~ /^i$/i) { } elsif ($input =~ /^i$/i) {
my $ignore = UVmessage::get("MENU_IGNORE_STRING"); my $ignore = UVmessage::get("MENU_IGNORE_STRING");
# Set columns for Text::Wrap # Set columns for Text::Wrap

View file

@ -25,7 +25,6 @@ hostmaster@
install@ install@
mailer.*@ mailer.*@
maint.*@ maint.*@
news@
newsmaster@ newsmaster@
nobody@ nobody@
operator@ operator@
@ -38,5 +37,4 @@ sysop@
system@ system@
test@ test@
tutor@ tutor@
usenet@
uucp@ uucp@

View file

@ -29,6 +29,8 @@ MENU_INVALIDBDSG = Datenschutzhinweis fehlerhaft oder nicht bestaetigt.
MENU_DUPLICATEVOTE = Doppelte Stimmabgabe gefunden. MENU_DUPLICATEVOTE = Doppelte Stimmabgabe gefunden.
MENU_NOVOTE = Keine Stimmabgabe gefunden. MENU_NOVOTE = Keine Stimmabgabe gefunden.
MENU_INVALIDVOTE = Ungueltige Stimmabgabe. MENU_INVALIDVOTE = Ungueltige Stimmabgabe.
MENU_NOVOTING = Bezeichnung der Abstimmung nicht gefunden.
MENU_WRONGVOTING = Wahlschein fuer andere Abstimmung.
MENU_NOBALLOTID = Keine Scheinkennung gefunden. MENU_NOBALLOTID = Keine Scheinkennung gefunden.
MENU_WRONGBALLOTID = Scheinkennung falsch. MENU_WRONGBALLOTID = Scheinkennung falsch.
MENU_ADDRESSNOTREGISTERED = Adresse nicht registriert. MENU_ADDRESSNOTREGISTERED = Adresse nicht registriert.
@ -67,6 +69,9 @@ MENU_BALLOT_ID = Scheinkennung
MENU_BDSG = Datenschutzklausel MENU_BDSG = Datenschutzklausel
MENU_BDSG_ACCEPTED = Datenschutzklausel wurde akzeptiert MENU_BDSG_ACCEPTED = Datenschutzklausel wurde akzeptiert
MENU_BDSG_DECLINED = Datenschutzklausel nicht akzeptiert bzw. Text veraendert MENU_BDSG_DECLINED = Datenschutzklausel nicht akzeptiert bzw. Text veraendert
MENU_VOTING = Abstimmung
MENU_VOTING_CORRECT = Korrekter Wahlschein fuer diese Abstimmung
MENU_VOTING_WRONG = Wahlschein fuer andere Abstimmung
MENU_IGNORE = Diese Stimme ignorieren (ohne Benachrichtigung verwerfen) MENU_IGNORE = Diese Stimme ignorieren (ohne Benachrichtigung verwerfen)
MENU_IGNORE_WARNING = Die Stimme wird nicht aufgezeichnet, und es wird keine Bestaetigung verschickt. ${MENU_IGNORE_STRING} eingeben, wenn Du sicher bist: MENU_IGNORE_WARNING = Die Stimme wird nicht aufgezeichnet, und es wird keine Bestaetigung verschickt. ${MENU_IGNORE_STRING} eingeben, wenn Du sicher bist:
MENU_IGNORE_STRING = JA MENU_IGNORE_STRING = JA
@ -162,7 +167,7 @@ COUNT_DELETED = ${NUM} Stimme(n) geloescht.
VOTE_RENAMING_MAILBOX = Benenne Stimmdatei um... VOTE_RENAMING_MAILBOX = Benenne Stimmdatei um...
VOTE_WRITE_RESULTS = Ergebnisdatei ${FILE} nicht schreibbar! VOTE_WRITE_RESULTS = Ergebnisdatei ${FILE} nicht schreibbar!
VOTE_CLOSE_RESULTS = Ergebnisdatei ${FILE} konnte nicht erfolgreich geschlossen werden! VOTE_CLOSE_RESULTS = Ergebnisdatei ${FILE} konnte nicht erfolgreich geschlossen werden!
VOTE_NO_VOTES = Keine Stimmen zu verarbeiten. VOTE_NO_VOTEMAILS = Keine Stimmen zu verarbeiten.
VOTE_NUM_VOTES = ${COUNT} Stimmen bearbeitet. VOTE_NUM_VOTES = ${COUNT} Stimmen bearbeitet.
VOTE_NOT_SAVED = ${COUNT} Stimmen bearbeitet, aber nicht gespeichert. VOTE_NOT_SAVED = ${COUNT} Stimmen bearbeitet, aber nicht gespeichert.
VOTE_FIRSTRUN = 'uvvote clean' aufrufen, um Ergebnisse zu speichern und Bestaetigungen zu verschicken. VOTE_FIRSTRUN = 'uvvote clean' aufrufen, um Ergebnisse zu speichern und Bestaetigungen zu verschicken.
@ -173,6 +178,7 @@ VOTE_UNREGISTERED_ADDRESS = Adresse nicht registriert
VOTE_INVALID_VOTE = Ungueltige Stimmabgabe VOTE_INVALID_VOTE = Ungueltige Stimmabgabe
VOTE_VIOLATED_RULE = Regel ${RULE} verletzt VOTE_VIOLATED_RULE = Regel ${RULE} verletzt
VOTE_NO_VOTES = Keine Stimmen abgegeben VOTE_NO_VOTES = Keine Stimmen abgegeben
VOTE_WRONG_VOTING = Wahlschein gehoert nicht zu dieser Abstimmung
VOTE_INVALID_ACCOUNT = Ungueltiger Account VOTE_INVALID_ACCOUNT = Ungueltiger Account
VOTE_INVALID_ADDRESS = Ungueltige Adresse VOTE_INVALID_ADDRESS = Ungueltige Adresse
VOTE_INVALID_REALNAME = Ungueltiger Realname VOTE_INVALID_REALNAME = Ungueltiger Realname

View file

@ -5,15 +5,22 @@ pos := value pos | fill-right 2
group-first := value group | first-words 50 group-first := value group | first-words 50
group-more := value group | drop-words 50 | create-lines 50 group-more := value group | drop-words 50 | create-lines 50
vote := value vote | fill-both 10 vote := value vote | fill-both 10
votetaker := value mailfrom | fill-left 65 votetaker := value mailfrom
voteaccount-line := value voteaccount | fill-both 70
== TEMPLATE ================================================================= == TEMPLATE =================================================================
Diese automatische Nachricht wurde dir nach Zaehlung deiner Stimme Diese automatische Nachricht wurde dir nach Zaehlung deiner Stimme
zugesandt. Wenn alles stimmt, gibt es keinen Anlass fuer eine Reaktion. zugesandt. Wenn alles stimmt, gibt es keinen Anlass fuer eine Reaktion.
Wenn deine Stimme falsch registriert wurde, stimme bitte erneut ab, Wenn deine Stimme falsch registriert wurde, stimme bitte erneut ab,
indem du diese Mail komplett zitierst und die falschen Wertungen indem du diese Mail komplett zitierst und die falschen Wertungen
korrigierst (zwischen die eckigen Klammern schreiben). Dabei darf korrigierst (zwischen die eckigen Klammern schreiben). Dabei darf
keinesfalls die laufende Nummer am Zeilenanfang entfernt werden. keinesfalls die laufende Nummer am Zeilenanfang entfernt werden.
Beachte bitte, dass Du Deine Stimme an die Abstimmadresse senden
musst! Es genuegt daher nicht, einfach auf diese E-Mail zu antworten,
vielmehr muss die Antwort an die Adresse
[$voteaccount-line]
gerichtet sein.
Diese Wahl ist oeffentlich, und die Adressen aller Waehlerinnen und Diese Wahl ist oeffentlich, und die Adressen aller Waehlerinnen und
Waehler werden am Ende bekanntgegeben. Wenn du deine Adresse & Stimme Waehler werden am Ende bekanntgegeben. Wenn du deine Adresse & Stimme
@ -29,8 +36,8 @@ Wahlscheinkennung gueltig!
[$name-line] [$name-line]
(Real-Namen sind fuer diese Abstimmung vorgeschrieben. Wenn hier (Real-Namen sind fuer diese Abstimmung vorgeschrieben. Wenn hier
nicht Dein wirklicher Name steht, dann korrigiere die Zeile nicht Dein wirklicher Name steht, dann korrigiere die Zeile
bitte und sende die Nachricht zurueck; sonst kann die Stimme bitte und sende die Nachricht erneut an die Abstimmadresse,
spaeter als ungueltig gewertet werden.) sonst kann die Stimme spaeter als ungueltig gewertet werden.)
Deine Stimmabgabe wurde wie folgt erkannt: Deine Stimmabgabe wurde wie folgt erkannt:
@ -39,8 +46,7 @@ Deine Stimmabgabe wurde wie folgt erkannt:
[@group-more| [$line]\n]|\n] [@group-more| [$line]\n]|\n]
Danke fuer deine Stimmabgabe. Eine Kopie des CfV kannst du von mir er- Danke fuer deine Stimmabgabe.
halten (bitte Namen der Abstimmung angeben, falls mehrere laufen).
[$votetaker] [$votetaker]
\[mit [$usevote_version]\] \[mit [$usevote_version]\]

View file

@ -14,7 +14,7 @@ bdsgtext-more := value bdsgtext | drop-words 50 | create-lines 50
=-=-=-=-=-=-=-=- Alles vor dieser Zeile bitte loeschen =-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=- Alles vor dieser Zeile bitte loeschen =-=-=-=-=-=-=-=-
WAHLSCHEIN fuer [$votename-first] [$ballotintro] [$votename-first]
[@votename-more| [$line]\n] [@votename-more| [$line]\n]

View file

@ -29,7 +29,7 @@ votetaker := value mailfrom | fill-left 65
=-=-=-=-=-=-=-=- Alles vor dieser Zeile bitte loeschen =-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=- Alles vor dieser Zeile bitte loeschen =-=-=-=-=-=-=-=-
WAHLSCHEIN fuer [$votename-first] [$ballotintro] [$votename-first]
[@votename-more| [$line]\n] [@votename-more| [$line]\n]

View file

@ -11,9 +11,10 @@ group-more := value group | drop-words 40 | create-lines 40
Ergebnisse [$votename-first] Ergebnisse [$votename-first]
[@votename-more| [$line]\n] [@votename-more| [$line]\n]
([$numvalid] gueltige Stimmen)
Ja Nein : 2/3? >=60? : ang.? : Gruppe Es wurden [$numvalid] gueltige Stimmen abgegeben.
Ja Nein : 2/3? >=50? : ang.? : Gruppe
---- ---- : ---- ----- : ----- : --------------------------------------- ---- ---- : ---- ----- : ----- : ---------------------------------------
[@count|[$yes] [$no] : [?cond1| Ja |Nein] [?cond2| Ja |Nein] : [?result| Ja |Nein] : [$group-first] [@count|[$yes] [$no] : [?cond1| Ja |Nein] [?cond2| Ja |Nein] : [?result| Ja |Nein] : [$group-first]
[@group-more| : : : [$line]\n]\n] [@group-more| : : : [$line]\n]\n]
@ -24,6 +25,7 @@ Gegen dieses Ergebnis kann innerhalb einer Woche nach seiner
Veroeffentlichung Einspruch erhoben werden. Der Einspruch ist per Veroeffentlichung Einspruch erhoben werden. Der Einspruch ist per
E-Mail bei der Moderation von de.admin.news.announce (Adressen E-Mail bei der Moderation von de.admin.news.announce (Adressen
siehe Signatur) einzulegen. siehe Signatur) einzulegen.
Wenn es keine ernsthaften Einsprueche gibt oder diese abgelehnt Wenn es keine ernsthaften Einsprueche gibt oder diese abgelehnt
werden, wird die Moderation von de.admin.news.announce das werden, wird die Moderation von de.admin.news.announce das
Ergebnis danach umsetzen. Ergebnis danach umsetzen.

View file

@ -12,7 +12,8 @@ group-more := value group | drop-words 40 | create-lines 40
Ergebnisse [$votename-first] Ergebnisse [$votename-first]
[@votename-more| [$line]\n] [@votename-more| [$line]\n]
([$numvalid] gueltige Stimmen)
Es wurden [$numvalid] gueltige Stimmen abgegeben.
Ja Nein : J>=N? Ja/Nein : ang.? : Gruppe Ja Nein : J>=N? Ja/Nein : ang.? : Gruppe
---- ---- : ----- ------- : ----- : --------------------------------------- ---- ---- : ----- ------- : ----- : ---------------------------------------
@ -24,6 +25,7 @@ Gegen dieses Ergebnis kann innerhalb einer Woche nach seiner
Veroeffentlichung Einspruch erhoben werden. Der Einspruch ist per Veroeffentlichung Einspruch erhoben werden. Der Einspruch ist per
E-Mail bei der Moderation von de.admin.news.announce (Adressen E-Mail bei der Moderation von de.admin.news.announce (Adressen
siehe Signatur) einzulegen. siehe Signatur) einzulegen.
Wenn es keine ernsthaften Einsprueche gibt oder diese abgelehnt Wenn es keine ernsthaften Einsprueche gibt oder diese abgelehnt
werden, wird die Moderation von de.admin.news.announce das werden, wird die Moderation von de.admin.news.announce das
Ergebnis danach umsetzen. Ergebnis danach umsetzen.

View file

@ -8,19 +8,21 @@ votename-text-more := value votename | drop-words 30 | create-lines 72
Ergebnisse [$votename-first] Ergebnisse [$votename-first]
[@votename-more| [$line]\n] [@votename-more| [$line]\n]
([$numvalid] gueltige Stimmen)
Es wurden [$numvalid] gueltige Stimmen abgegeben.
Es gab [$yes] Ja-Stimmen und [$no] Nein-Stimmen[?numabstain| bei [$numabstain] Enthaltungen]. Es gab [$yes] Ja-Stimmen und [$no] Nein-Stimmen[?numabstain| bei [$numabstain] Enthaltungen].
[?numinvalid|[$numinvalid] Stimme(n) wurden als ungueltig gewertet.] [?numinvalid|[$numinvalid] Stimme(n) wurden als ungueltig gewertet.]
Es wurde [?cond1|die|keine] 2/3-Mehrheit erreicht und es gingen [?cond2|mehr|weniger] als Es wurde [?cond1|die|keine] 2/3-Mehrheit erreicht und es gingen [?cond2|mehr|weniger] als
60 Ja-Stimmen ein. Damit ist die [$votename-text-first] 50 Ja-Stimmen ein. Damit ist die [$votename-text-first]
[@votename-text-more|[$line] |\n][?cond1|[?cond2|angenommen|abgelehnt]|abgelehnt]. [@votename-text-more|[$line] |\n][?cond1|[?cond2|angenommen|abgelehnt]|abgelehnt].
Gegen dieses Ergebnis kann innerhalb einer Woche nach seiner Gegen dieses Ergebnis kann innerhalb einer Woche nach seiner
Veroeffentlichung Einspruch erhoben werden. Der Einspruch ist per Veroeffentlichung Einspruch erhoben werden. Der Einspruch ist per
E-Mail bei der Moderation von de.admin.news.announce (Adressen E-Mail bei der Moderation von de.admin.news.announce (Adressen
siehe Signatur) einzulegen. siehe Signatur) einzulegen.
Wenn es keine ernsthaften Einsprueche gibt oder diese abgelehnt Wenn es keine ernsthaften Einsprueche gibt oder diese abgelehnt
werden, wird die Moderation von de.admin.news.announce das werden, wird die Moderation von de.admin.news.announce das
Ergebnis danach umsetzen. Ergebnis danach umsetzen.

21
templates/wrong-voting Normal file
View file

@ -0,0 +1,21 @@
votetaker := value mailfrom | fill-left 65
body := value body | quote "> "
== TEMPLATE =================================================================
Offenbar hast du einen Wahlschein fuer eine andere Abstimmung eingesandt
oder der Name der Abstimmung geht aus dem Wahlschein nicht hervor. Wenn
das ein Irrtum war, pruefe bitte noch einmal die im CfV angegebene
Abstimmungsadresse und wiederhole Deine Stimmabgabe.
Dieser Fehler kann auftreten, wenn Du an mehreren Abstimmungen teilnimmst
und den Wahlschein von Hand einsendest (und dabei mehrere Abstimmungen
verwechselst), oder wenn Du die Bezeichnung der Abstimmung im Wahlschein
veraendert oder geloescht hast.
Hier die Mail, die ich erhalten habe:
[$body]
[$votetaker]
\[mit [$usevote_version]\]

View file

@ -75,7 +75,7 @@ multigroup = 1
# wird nur Bedingung 1 ausgewertet und kann z.B. auf "$yes>$no" gesetzt # wird nur Bedingung 1 ausgewertet und kann z.B. auf "$yes>$no" gesetzt
# werden. # werden.
condition1 = $yes>=2*$no condition1 = $yes>=2*$no
condition2 = $yes>=60 condition2 = $yes>=50
# Ergebnisdatei, in der alle Einzelergebniss zusammengeschrieben werden # Ergebnisdatei, in der alle Einzelergebniss zusammengeschrieben werden
# (wird bei jedem Programmlauf neu erstellt!) # (wird bei jedem Programmlauf neu erstellt!)
@ -227,6 +227,10 @@ mailstart = "^From "
begin_divider = Alles vor dieser Zeile bitte loeschen begin_divider = Alles vor dieser Zeile bitte loeschen
end_divider = Alles nach dieser Zeile bitte loeschen end_divider = Alles nach dieser Zeile bitte loeschen
# Ueberschrift fuer den Wahlschein
# Achtung, muss im Wahlschein genauso stehen!
ballotintro = WAHLSCHEIN fuer
# Text fuer die Namens-Angabe im Wahlschein. Achtung, muss im # Text fuer die Namens-Angabe im Wahlschein. Achtung, muss im
# Wahlschein genauso stehen! # Wahlschein genauso stehen!
nametext = Dein Realname, falls nicht im FROM-Header: nametext = Dein Realname, falls nicht im FROM-Header:
@ -290,4 +294,5 @@ tpl_invalid_name = "invalid-name" # used by uvvote.pl
tpl_multiple_votes = "multiple-votes" # used by uvvote.pl tpl_multiple_votes = "multiple-votes" # used by uvvote.pl
tpl_no_ballot = "no-ballot" # used by uvvote.pl tpl_no_ballot = "no-ballot" # used by uvvote.pl
tpl_no_votes = "no-votes" # used by uvvote.pl tpl_no_votes = "no-votes" # used by uvvote.pl
tpl_wrong_voting = "wrong-voting" # used by uvvote.pl
tpl_rule_violated = "rule-violated" # used by uvvote.pl (c.f. usevote.rul) tpl_rule_violated = "rule-violated" # used by uvvote.pl (c.f. usevote.rul)

View file

@ -1,8 +1,8 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
############################################################################### ###############################################################################
# UseVoteGer 4.09 Wahlscheingenerierung # UseVoteGer 4.10 Wahlscheingenerierung
# (c) 2001-2005 Marc Langer <uv@marclanger.de> # (c) 2001-2012 Marc Langer <uv@marclanger.de>
# #
# This script package is free software; you can redistribute it and/or # This script package is free software; you can redistribute it and/or
# modify it under the terms of the GNU Public License as published by the # modify it under the terms of the GNU Public License as published by the

View file

@ -1,8 +1,8 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
############################################################################### ###############################################################################
# UseVoteGer 4.09 Bounce-Verarbeitung # UseVoteGer 4.10 Bounce-Verarbeitung
# (c) 2001-2005 Marc Langer <uv@marclanger.de> # (c) 2001-2012 Marc Langer <uv@marclanger.de>
# #
# This script package is free software; you can redistribute it and/or # This script package is free software; you can redistribute it and/or
# modify it under the terms of the GNU Public License as published by the # modify it under the terms of the GNU Public License as published by the

View file

@ -1,8 +1,8 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
############################################################################### ###############################################################################
# UseVoteGer 4.09 Personalisierte Wahlscheine # UseVoteGer 4.10 Personalisierte Wahlscheine
# (c) 2001-2005 Marc Langer <uv@marclanger.de> # (c) 2001-2012 Marc Langer <uv@marclanger.de>
# #
# This script package is free software; you can redistribute it and/or # This script package is free software; you can redistribute it and/or
# modify it under the terms of the GNU Public License as published by the # modify it under the terms of the GNU Public License as published by the
@ -152,9 +152,9 @@ sub process_request {
# check for suspicious addresses # check for suspicious addresses
foreach my $element (@bad_addr) { foreach my $element (@bad_addr) {
if ($voter_addr =~ /^$element/) { if ($voter_addr =~ /^$element/) {
my (@votes, @set, $ballot_id); # irrelevant, but necessary for UVmenu::menu() my (@votes, @set, $ballot_id, $voting); # irrelevant, but necessary for UVmenu::menu()
my @errors = ('SuspiciousAccountBallot'); my @errors = ('SuspiciousAccountBallot');
my $res = UVmenu::menu(\@votes, \@header, $body, \$voter_addr, \$voter_name, \$ballot_id, \@set, \@errors); my $res = UVmenu::menu(\@votes, \@header, $body, \$voter_addr, \$voter_name, \$ballot_id, \$voting, \@set, \@errors);
# "Ignore": don't deliver a ballot # "Ignore": don't deliver a ballot
return 0 if ($res eq 'i'); return 0 if ($res eq 'i');

View file

@ -1,8 +1,8 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
############################################################################### ###############################################################################
# UseVoteGer 4.09 Stimmauswertung # UseVoteGer 4.10 Stimmauswertung
# (c) 2001-2005 Marc Langer <uv@marclanger.de> # (c) 2001-2012 Marc Langer <uv@marclanger.de>
# #
# This script package is free software; you can redistribute it and/or # This script package is free software; you can redistribute it and/or
# modify it under the terms of the GNU Public License as published by the # modify it under the terms of the GNU Public License as published by the

View file

@ -1,8 +1,8 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
############################################################################### ###############################################################################
# UseVoteGer 4.09 Wahldurchfuehrung # UseVoteGer 4.10 Wahldurchfuehrung
# (c) 2001-2005 Marc Langer <uv@marclanger.de> # (c) 2001-2012 Marc Langer <uv@marclanger.de>
# #
# This script package is free software; you can redistribute it and/or # This script package is free software; you can redistribute it and/or
# modify it under the terms of the GNU Public License as published by the # modify it under the terms of the GNU Public License as published by the
@ -158,7 +158,7 @@ if ($clean) {
# no mails: exit here # no mails: exit here
unless ($count) { unless ($count) {
print UVmessage::get("VOTE_NO_VOTES") . "\n\n"; print UVmessage::get("VOTE_NO_VOTEMAILS") . "\n\n";
exit 0; exit 0;
} }
@ -224,6 +224,7 @@ sub process_vote {
my $onevote = 0; # 0=no votes, 1=everything OK, 2=vote cancelled my $onevote = 0; # 0=no votes, 1=everything OK, 2=vote cancelled
my $voteerror = ""; # error message in case of invalid vote my $voteerror = ""; # error message in case of invalid vote
my $ballot_id = ""; # ballot id (German: Wahlscheinkennung) my $ballot_id = ""; # ballot id (German: Wahlscheinkennung)
my $voting = ""; # voting (should be votename)
# found address? # found address?
if ($voter_addr) { if ($voter_addr) {
@ -239,6 +240,15 @@ sub process_vote {
push (@errors, 'InvalidAddress'); push (@errors, 'InvalidAddress');
} }
# correct voting?
if ($$body =~ /\Q$config{ballotintro}\E\s+(.+?)\s*\n(.*?[\t ]+(\S+.+)\s*$)?/m) {
$voting = $1;
$voting .= " $3" if defined($3);
push (@errors, 'WrongVoting') if ($config{votename} !~ /^\s*\Q$voting\E\s*$/);
} else {
push (@errors, 'NoVoting');
}
# personalized ballots? # personalized ballots?
if ($config{personal}) { if ($config{personal}) {
if ($$body =~ /$config{ballotidtext}\s+([a-z0-9]+)/) { if ($$body =~ /$config{ballotidtext}\s+([a-z0-9]+)/) {
@ -273,7 +283,7 @@ sub process_vote {
# this matches on a single appearance: # this matches on a single appearance:
if ($$body =~ /#$votenum\W*?\[(.+)\]/) { if ($$body =~ /#$votenum\W*?\[(.+)\]/) {
# one or more vote strings were found # one or more vote strings were found
$onevote = 1; $onevote ||= 1; # set $onevote to 1 if it was 0
my $votestring = $1; my $votestring = $1;
if ($votestring =~ /^\W*$config{ja_stimme}\W*$/i) { if ($votestring =~ /^\W*$config{ja_stimme}\W*$/i) {
$vote = "J"; $vote = "J";
@ -343,7 +353,7 @@ sub process_vote {
# Errors encountered? # Errors encountered?
if (@errors) { if (@errors) {
my $res = UVmenu::menu(\@votes, \@header, $body, \$voter_addr, \$voter_name, my $res = UVmenu::menu(\@votes, \@header, $body, \$voter_addr, \$voter_name,
\$ballot_id, \@set, \@errors); \$ballot_id, \$voting, \@set, \@errors);
return 0 if ($res eq 'i'); # "Ignore": Ignore vote, don't save return 0 if ($res eq 'i'); # "Ignore": Ignore vote, don't save
my $tpl; my $tpl;
@ -402,6 +412,12 @@ sub process_vote {
my $msg = $template->processTemplate($config{tpl_bdsg_error}); my $msg = $template->processTemplate($config{tpl_bdsg_error});
UVsendmail::mail($voter_addr, "Fehler", $msg, $msgid) if ($config{voteack}); UVsendmail::mail($voter_addr, "Fehler", $msg, $msgid) if ($config{voteack});
return 0; return 0;
} elsif ($error{NoVoting} or $error{WrongVoting}) {
$voteerror = UVmessage::get("VOTE_WRONG_VOTING");
my $template = UVtemplate->new();
$template->setKey('body' => $$body);
my $msg = $template->processTemplate($config{tpl_wrong_voting});
UVsendmail::mail($voter_addr, "Fehler", $msg, $msgid) if ($config{voteack});
} elsif ($error{NoVote}) { } elsif ($error{NoVote}) {
$voteerror = UVmessage::get("VOTE_NO_VOTES"); $voteerror = UVmessage::get("VOTE_NO_VOTES");
my $template = UVtemplate->new(); my $template = UVtemplate->new();