# HG changeset patch # User Heiko Schlittermann (JUMPER) # Date 1309809942 -7200 # Node ID 562be4ad4e6d8a005d5f8bea133a43a48fc0fe88 # Parent c89c297e5d532b086057f7c8222b7b7da5a50aca [snap] diff -r c89c297e5d53 -r 562be4ad4e6d conf.example/sender --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/conf.example/sender Mon Jul 04 22:05:42 2011 +0200 @@ -0,0 +1,2 @@ +# the envelope sender to use +noreply@localhost diff -r c89c297e5d53 -r 562be4ad4e6d conf.example/subject --- a/conf.example/subject Mon Jul 04 17:26:13 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -# subject line prefix. ASCII ONLY -[Retter packen] diff -r c89c297e5d53 -r 562be4ad4e6d index.cgi --- a/index.cgi Mon Jul 04 17:26:13 2011 +0200 +++ b/index.cgi Mon Jul 04 22:05:42 2011 +0200 @@ -25,10 +25,12 @@ $ENV{PATH} = "/usr/bin:/usr/sbin:/bin:/sbin"; my $DSN = "DBI:SQLite:var/db.sqlite3"; -my $SECRET = read_conf "conf/secret"; chomp($SECRET); -my $SELF = read_conf "conf/self"; chomp($SELF); -my $EXPIRATION = 60; # the link is valid for XX minutes only -my $SENDMAIL = "/usr/sbin/sendmail -t"; +my $EXPIRATION = 60; # expiration time of the first link +my $SECRET = read_conf "conf/secret"; +my $SELF = read_conf "conf/self"; +my $SENDER = read_conf "conf/sender"; +my $SENDMAIL = "/usr/sbin/sendmail -f $SENDER -t"; + my %FIELDS = ( MAN => [qw[givenname surname mail]], OPT => [qw[tel]] @@ -36,7 +38,6 @@ my %ttconfig = ( INCLUDE_PATH => "templates", - DEBUG => 1, ); my $DBH = DBI->connect($DSN, undef, undef, {RaiseError=>1}); @@ -79,12 +80,14 @@ to => scalar(param("mail")), url => "$SELF/$xxx.tmp"}, $sendmail) or die $tt->error(); - close($sendmail); + close($sendmail) + or die "problem sending mail to " + . param("mail"); $sent = param("mail"); } } - $tt->process("access.tpl", { + $tt->process("html.access.tpl", { sent => $sent, warn => %warn ? \%warn : undef, expires => $EXPIRATION, @@ -107,7 +110,7 @@ time() - $time < (60 * $EXPIRATION) or die "EXPIRED"; }; if ($@) { - $tt->process("denied.tpl", { + $tt->process("html.denied.tpl", { url => $SELF, }) or die $tt->error(); exit 0; @@ -127,7 +130,7 @@ or die $tt->error(); close($sendmail); - $tt->process("confirm.tpl", { + $tt->process("html.confirm.tpl", { confirmed => $confirmed, error => delete $data{error}, value => \%data}) or die $tt->error(); @@ -192,7 +195,7 @@ close($sendmail); - $tt->process("form.ack.tpl", { + $tt->process("html.form.ack.tpl", { value => \%value, timestamp => $r{timestamp}, uuid => $r{uuid}, @@ -203,7 +206,7 @@ ## Formular - $tt->process("form.tpl", { + $tt->process("html.form.tpl", { warn => %warn ? \%warn : undef, value => { givenname => scalar param("givenname"), @@ -272,8 +275,10 @@ } sub read_conf($) { - open(my $_, $_[0]) or die "Can't open $_[0]: $!\n"; local $/ = undef; + open(my $f, $_[0]) or die "Can't open $_[0]: $!\n"; + my $_ = <$f>; s/^#.*//mg; - return <$_>; + /^\s*(.*?)\s*$/s; + return $1; } diff -r c89c297e5d53 -r 562be4ad4e6d templates/access.tpl --- a/templates/access.tpl Mon Jul 04 17:26:13 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -[%INCLUDE "head"%] - -[%IF !sent%] - - Schön, daß Du Dich anmelden möchtest. Um Mißbrauch zu werden wir Dir - jetzt einen Link zusenden, den Du für die Anmeldung verwenden - kannst. - -

- Bitte gib dafür eine Mailadresse an, auf der Du - in den nächsten [%expires%] Minuten erreichbar bist. - Diese Adresse wird nirgendwo gespeichert. - -

- - [%IF warn.mail%] -
- Die Mailadresse sieht nicht gut aus. -
- [%END%] - - - -
- -
- -[%ELSE%] - - Vielen Dank. Eine Mail mit einem Anmeldelink wurde an Deine - Mailadresse [%sent%] geschickt. Der Link ist [%expires%] - Minuten gültig. Diese Adresse wurde von uns nicht gespeichert. - -[%END%] - -[%INCLUDE "foot"%] diff -r c89c297e5d53 -r 562be4ad4e6d templates/confirm.tpl --- a/templates/confirm.tpl Mon Jul 04 17:26:13 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -[%INCLUDE "head"%] - -[%IF error%] - -
- Leider konnte die An- oder Abmeldung nicht bestätigt werden. Bitte überprüfe den - verwendeten Link. -
- -[%ELSIF confirmed%] - - Danke, Deine Anmeldung ist jetzt bestätigt. Folgende Daten haben wir von - Dir gespeichert: - - - - - - [%IF value.tel%] - - [%END%] -
Vorname:[%value.givenname%]
Name: [%value.surname%]
Mail: [%value.mail%]
Telefon:[%value.tel%]
- -[%ELSE%] - -Danke, Deine Daten wurden wieder gelöscht. - -[%END%] - -

-Solltest Du weitere Fragen haben, kontaktiere bitte -[%MAILTO%]. - -[%INCLUDE "foot"%] diff -r c89c297e5d53 -r 562be4ad4e6d templates/denied.tpl --- a/templates/denied.tpl Mon Jul 04 17:26:13 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -[%INCLUDE "head"%] - -

-Tut uns leid, die angegebene URL oder Session existiert nicht oder nicht -mehr. Bitte versuche es über -[%url%] noch einmal. - -

-Danke für Dein Verständnis. - -[%INCLUDE "foot"%] diff -r c89c297e5d53 -r 562be4ad4e6d templates/foot --- a/templates/foot Mon Jul 04 17:26:13 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ -


-
- Scripting - © 2011 - Heiko Schlittermann - - diff -r c89c297e5d53 -r 562be4ad4e6d templates/form.ack.tpl --- a/templates/form.ack.tpl Mon Jul 04 17:26:13 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -[%INCLUDE "head"%] -[%USE date%] - -[%IF timestamp %] - - Deine Daten stehen bereits in unserer Datenbank. Wir haben Dir den - Link zur Bestätigung noch einmal an die hinterlegte - Mailadresse ([%value.mail%]) geschickt. - - (Zeitstempel der Eintragung: [%date.format(timestamp, locale = "de_DE")%]) - -[%ELSE%] - -

- Vielen Dank für Deine Anmeldung. - Du erhälst jetzt per Mail an [%value.mail%] einen - Link, mit dem Du bitte die Anmeldung bestätigst. Bevor Du damit die - Anmeldung nicht bestätigst, wird sie nicht weiter bearbeitet. - -

- Folgende Daten haben wir jetzt gespeichert: - - - - - - [%IF value.tel %] - - [%END%] -
Vorname:[%value.givenname%]
Name: [%value.surname%]
Mail: [%value.mail%]
Telefon:[%value.tel%]
- -[%END%] - -[%INCLUDE "foot"%] diff -r c89c297e5d53 -r 562be4ad4e6d templates/form.tpl --- a/templates/form.tpl Mon Jul 04 17:26:13 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -[%INCLUDE "head"%] -

-Nach dem Ausfüllen des Formulars werden wir Dir noch per Mail an die im -Formular angegebene Adresse einen Link schicken, mit dem Du bitte die -Anmeldung vervollständigst. - - -[%IF warn%] -

- Bitte überprüfe die markierten Felder noch einmal. -
-[%END%] - -
- -

- Die folgenden Felder sind Pflicht. Ohne diese Angaben wird die Anmeldung nicht - bearbeitet. - -

- - - [%warn.givenname%] -
- - - - [%warn.surname%] -
- - - - [%warn.mail%] -
- -

- Die Telefonnummer benötigen wir, um Dich gegebenenfalls anrufen zu - können, sie ist nicht Pflicht, aber sehr hilfreich. - -

- - - [%warn.tel%] -
- -

- - - - -

-[%INCLUDE "foot"%] diff -r c89c297e5d53 -r 562be4ad4e6d templates/head --- a/templates/head Mon Jul 04 17:26:13 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ - - - - - - diff -r c89c297e5d53 -r 562be4ad4e6d templates/html.access.tpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/templates/html.access.tpl Mon Jul 04 22:05:42 2011 +0200 @@ -0,0 +1,41 @@ +[%INCLUDE "html.head"%] + +[%IF !sent%] + +[% set MAILFROM "hs" %] + + Schön, daß Du Dich anmelden möchtest. Um Mißbrauch zu erschweren, + werden wir Dir jetzt einen Link zusenden, den Du für die Anmeldung verwenden + kannst. + +

+ Bitte gib dafür eine Mailadresse an, auf der Du + in den nächsten [%expires%] Minuten erreichbar bist. + Diese Adresse wird nirgendwo gespeichert. + +

+ + [%IF warn.mail%] +
+ Die Mailadresse sieht nicht gut aus. +
+ [%END%] + + + +
+ +
+ +[%ELSE%] + + Vielen Dank. Eine Mail mit einem Anmeldelink wurde an Deine + Mailadresse [%sent%] geschickt. Absender der Mail ist + hs+retter@schlittermann.de. + Der Link ist [%expires%] Minuten gültig. Diese Adresse wurde + von uns nicht gespeichert. + +[%END%] + +[%INCLUDE "html.foot"%] diff -r c89c297e5d53 -r 562be4ad4e6d templates/html.confirm.tpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/templates/html.confirm.tpl Mon Jul 04 22:05:42 2011 +0200 @@ -0,0 +1,34 @@ +[%INCLUDE "html.head"%] + +[%IF error%] + +
+ Leider konnte die An- oder Abmeldung nicht bestätigt werden. Bitte überprüfe den + verwendeten Link. +
+ +[%ELSIF confirmed%] + + Danke, Deine Anmeldung ist jetzt bestätigt. Folgende Daten haben wir von + Dir gespeichert: + + + + + + [%IF value.tel%] + + [%END%] +
Vorname:[%value.givenname%]
Name: [%value.surname%]
Mail: [%value.mail%]
Telefon:[%value.tel%]
+ +[%ELSE%] + +Danke, Deine Daten wurden wieder gelöscht. + +[%END%] + +

+Solltest Du weitere Fragen haben, kontaktiere bitte +[%MAILTO%]. + +[%INCLUDE "html.foot"%] diff -r c89c297e5d53 -r 562be4ad4e6d templates/html.denied.tpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/templates/html.denied.tpl Mon Jul 04 22:05:42 2011 +0200 @@ -0,0 +1,11 @@ +[%INCLUDE "html.head"%] + +

+Tut uns leid, die angegebene URL oder Session existiert nicht oder nicht +mehr. Bitte versuche es über +[%url%] noch einmal. + +

+Danke für Dein Verständnis. + +[%INCLUDE "html.foot"%] diff -r c89c297e5d53 -r 562be4ad4e6d templates/html.foot --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/templates/html.foot Mon Jul 04 22:05:42 2011 +0200 @@ -0,0 +1,7 @@ +


+
+ Scripting + © 2011 + Heiko Schlittermann + + diff -r c89c297e5d53 -r 562be4ad4e6d templates/html.form.ack.tpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/templates/html.form.ack.tpl Mon Jul 04 22:05:42 2011 +0200 @@ -0,0 +1,34 @@ +[%INCLUDE "html.head"%] +[%USE date%] + +[%IF timestamp %] + + Deine Daten stehen bereits in unserer Datenbank. Wir haben Dir den + Link zur Bestätigung noch einmal an die hinterlegte + Mailadresse ([%value.mail%]) geschickt. + + (Zeitstempel der Eintragung: [%date.format(timestamp, locale = "de_DE")%]) + +[%ELSE%] + +

+ Vielen Dank für Deine Anmeldung. + Du erhälst jetzt per Mail an [%value.mail%] einen + Link, mit dem Du bitte die Anmeldung bestätigst. Bevor Du damit die + Anmeldung nicht bestätigst, wird sie nicht weiter bearbeitet. + +

+ Folgende Daten haben wir jetzt gespeichert: + + + + + + [%IF value.tel %] + + [%END%] +
Vorname:[%value.givenname%]
Name: [%value.surname%]
Mail: [%value.mail%]
Telefon:[%value.tel%]
+ +[%END%] + +[%INCLUDE "html.foot"%] diff -r c89c297e5d53 -r 562be4ad4e6d templates/html.form.tpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/templates/html.form.tpl Mon Jul 04 22:05:42 2011 +0200 @@ -0,0 +1,56 @@ +[%INCLUDE "html.head"%] +

+Nach dem Ausfüllen des Formulars werden wir Dir noch per Mail an die im +Formular angegebene Adresse einen Link schicken, mit dem Du bitte die +Anmeldung vervollständigst. + + +[%IF warn%] +

+ Bitte überprüfe die markierten Felder noch einmal. +
+[%END%] + +
+ +

+ Die folgenden Felder sind Pflicht. Ohne diese Angaben wird die Anmeldung nicht + bearbeitet. + +

+ + + [%warn.givenname%] +
+ + + + [%warn.surname%] +
+ + + + [%warn.mail%] +
+ +

+ Die Telefonnummer benötigen wir, um Dich gegebenenfalls anrufen zu + können, sie ist nicht Pflicht, aber sehr hilfreich. + +

+ + + [%warn.tel%] +
+ +

+ + + + +

+[%INCLUDE "html.foot"%] diff -r c89c297e5d53 -r 562be4ad4e6d templates/html.head --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/templates/html.head Mon Jul 04 22:05:42 2011 +0200 @@ -0,0 +1,11 @@ + + + + + + diff -r c89c297e5d53 -r 562be4ad4e6d templates/mail.confirmed.tpl --- a/templates/mail.confirmed.tpl Mon Jul 04 17:26:13 2011 +0200 +++ b/templates/mail.confirmed.tpl Mon Jul 04 22:05:42 2011 +0200 @@ -9,7 +9,7 @@ unter 0172 7909055. Bitte vergiß nicht, den Betrag von 50€ zu überweisen. -[%ELSE%] +[%ELSE-%] Du bist *nicht* zum Retterpackkurs angemeldet. Alle Deine uns bekannten Daten wurden wieder gelöscht. [%END%]