Release of upstream version 4.10.
Signed-off-by: Thomas Hochstein <thh@inter.net>
This commit is contained in:
		
							parent
							
								
									b0edfe72dd
								
							
						
					
					
						commit
						bb61da3743
					
				
					 19 changed files with 141 additions and 43 deletions
				
			
		
							
								
								
									
										17
									
								
								CHANGES
									
										
									
									
									
								
							
							
						
						
									
										17
									
								
								CHANGES
									
										
									
									
									
								
							| 
						 | 
					@ -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
									
										
									
									
									
								
							
							
						
						
									
										7
									
								
								README
									
										
									
									
									
								
							| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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 {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										38
									
								
								UVmenu.pm
									
										
									
									
									
								
							
							
						
						
									
										38
									
								
								UVmenu.pm
									
										
									
									
									
								
							| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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@ 
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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]\]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
									
								
							
							
						
						
									
										21
									
								
								templates/wrong-voting
									
										
									
									
									
										Normal 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]\]
 | 
				
			||||||
| 
						 | 
					@ -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)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										8
									
								
								uvcfv.pl
									
										
									
									
									
								
							
							
						
						
									
										8
									
								
								uvcfv.pl
									
										
									
									
									
								
							| 
						 | 
					@ -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');
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										26
									
								
								uvvote.pl
									
										
									
									
									
								
							
							
						
						
									
										26
									
								
								uvvote.pl
									
										
									
									
									
								
							| 
						 | 
					@ -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();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue