source: t29-www/de/anmeldung.php @ 779

Last change on this file since 779 was 477, checked in by sven, 10 years ago

Anmeldeformular: Captchas wegen Spambefall aktiviert.

(mailer: Kein die, wenn Recaptcha-Key nicht bekannt ist)

File size: 6.7 KB
Line 
1<?php
2        $seiten_id = 'anmeldung';
3        $version = '$Id: index.php 387 2013-05-08 09:58:11Z heribert $';
4        $titel = 'Anmeldung zu Terminen für Führungen';
5        $dynamischer_inhalt = true;
6
7        require "../lib/technikum29.php";
8        require "../lib/mail/mailer.php";
9
10        // Captcha-Sicherung gegen Spam hier an- oder ausschalten
11        $spamschutz_aktiv = true;
12       
13        // Bestätigungsmail hier ein- oder ausschalten
14        $bestaetigungsmail_senden = false;
15       
16        if(empty($_POST)) { // Wenn noch keine Formulardaten vorhanden sind, eigentliches Formular anzeigen
17        ?>
18
19        <h2>Termine und Führungen - Anmeldung</h2>
20       
21        <p>Siehe <a href="/de/#termine">Termine auf Startseite</a> für verfügbare Termine.</p>
22       
23        <?php
24                $veranstaltung = isset($_GET['veranstaltung']) ? $_GET['veranstaltung'] : '';
25        ?>
26       
27        <div class="anmelde-maske">
28            <form id="anmeldung" action="<?=$host->rewrite_link('/de/anmeldung.php'); ?>" method="POST">
29                        <dl>
30                                <dt>Veranstaltung</dt>
31                                <dd><?php if($veranstaltung) {
32                                        echo $veranstaltung;
33                                        echo '<input type="hidden" name="veranstaltung" name="'.$veranstaltung.'">';
34                                } else { ?>
35                                        <input type="text" name="veranstaltung" required>
36                               
37                                <?php } /* if */ ?>
38                                </dd>
39                               
40                                <dt>Termin</dt>
41                                <!--<dd><%=termin%>
42                                <input type="hidden" name="termin" value="<%=termin%>">-->
43                                <dd class="termin"><input type="text" name="termin" required>
44                                </dd>
45
46                                <dt>Name</dt>
47                                <dd><input type="text" name="anmelder_name" required></dd>
48
49                                <dt>Anzahl der Personen</dt>
50                                <dd><input type="number" min="0" name="personenanzahl"></dd>
51                               
52                                <dt>E-Mail-Adresse</dt>
53                                <dd><input type="email" name="email_adresse" required></dd>
54                               
55                                <!--
56                                <dt>Telefonnummer</dt>
57                                <dd><input type="tel" name="text_telefon_nummer"></dd>
58                                -->
59                               
60                                <dt>Ggf. Anmerkungen</dt>
61                                <dd><textarea name="weitere_anmerkungen"></textarea></dd>
62                               
63                                <?php if($spamschutz_aktiv) { ?>
64                                <dt>Captcha</dt>
65                                <dd>Bitte bestätigen Sie, dass Sie menschlich sind:
66                                <?php
67                                        if($ajax) {
68                                                $pubkey = t29Mailer::recaptcha_get_publickey();
69                                                echo "<span class='t29-recaptcha' data-publickey='$pubkey'></span>";
70                                        } else
71                                                echo t29Mailer::recaptcha_get_html();
72                                ?>
73                                <p>Vielen Dank für Ihre Mithilfe gegen Spam.
74                                </dd>
75                                <?php } /* $spamschutz_aktiv */ ?>
76                               
77                                <dd><input type="submit" value="Abschicken" class="submit">
78
79                                <!-- Heribert will das Abbrechen-Button nicht -->
80                                <!-- ist aber noch mit jquery-Funktion besehen -->
81                                <!--<input type="reset" value="Abbrechen">-->
82                                </dd>
83                        </dl>
84            </form>
85           </div>
86<?php
87        } // ende der Ausgaben, wenn keine Formulardaten vorhanden sind
88        else {
89                // Formular auswerten, d.h. Formmailer verwenden
90               
91                $mailer = new t29Mailer($_POST);
92               
93                // fill up form data
94                $mailer->to = "team"; // team@t29 geht an Mailingliste (und damit Heribert, Sven)
95                $mailer->subject = "Webanmeldung für Führung \"{veranstaltung}\"";
96                $from = 'dev'; // Spamschutz (webSVN)
97                $mailer->header = array(
98                        'From' =>"'technikum29 Computer Museum Anmeldesystem <$from@technikum29.de>",
99                );
100               
101                $mailer_ack_text = $bestaetigungsmail_senden ? 'Die Person hat eine Bestätigungsmail ihrer Daten erhalten.'
102                        : 'Die Person hat auf deinen Wunsch noch *keine* Bestätigungsmail erhalten.';
103                $mailer->body = <<<MAIL_BODY
104Hallo,
105
106auf der Anmeldungsseite der Homepage www.technikum29.de ging eine neue Anmeldung ein:
107
108Veranstaltung: {veranstaltung}
109Termin: {termin}
110(Vgl. Termine auf Startseite: http://www.technikum29.de/de/#termine
111
112Name: {anmelder_name}
113Anzahl der Personen: {personenanzahl}
114E-Mail-Adresse: {email_adresse}
115
116Ggf. weitere Anmerkungen, die angegeben wurden:
117{weitere_anmerkungen}
118
119$mailer_ack_text
120
121Viele Grüße,
122deine Website
123
124PS: Wenn im Rahmen dieser Mail auch Spam ankommt, wird das System missbraucht. Dann bitte
125bescheid sagen.
126
127MAIL_BODY;
128
129                // Captcha-Check aktivieren
130                $mailer->enable_captcha_check = $spamschutz_aktiv;
131
132                // Bestätigungsmail aufsetzen
133                $mailer->ack = $bestaetigungsmail_senden;
134                $mailer->ack_to = '{email_adresse}';
135                $mailer->ack_subject = "Bestätigung ihrer Webanmeldung zur technikum29-Führung \"{veranstaltung}\"";
136                $mailer->ack_body = <<<ACK_MAIL_BODY
137Hallo {anmelder_name},
138
139vielen Dank für Ihre Web-Anmeldung zu einer Führung im technikum29 Computer Museum (http://www.technikum29.de/).
140
141Sie haben sich mit {personenanzahl} zu der Führung "{veranstaltung}" am {termin} angemeldet.
142
143Diese Mail bestätigt den Eingang ihrer Anmeldung. Bitte setzen Sie sich bei weiteren Fragen mit der Museumsführung in Kontakt, schreiben Sie dazu eien Mail an post@technikum29.de, siehe auch Kontaktdaten auf http://www.technikum29.de/de/impressum .
144
145-- Diese E-Mail wurde automatisch generiert. Bitte antworten Sie nicht darauf --
146ACK_MAIL_BODY;
147
148                $mailer->output_error_page = function($mailer, $text) {
149                        ?><h2>Bei der Anmeldung traten Fehler auf</h2>
150                        <p>Sie wurden dazu aufgefordert, ihre Menschlichkeit zu beweisen. Da wir keine Massenspam-Mails
151                        erwünschen, füllen Sie bitte dieses Captcha <i>richtig</i> aus:</p>
152                       
153                        <form method="POST">
154                                <?php $mailer->print_serialized_hidden_form(); ?>
155                                <?php echo $text; ?>
156                                <input type="submit" value="Anmeldung abschicken">
157                        </form>
158                        <?php
159                };
160
161                $mailer->output_success_page = function($mailer) {
162                        ?><h2>Ihre Anmeldung wurde eingereicht</h2>
163                       
164                        <p>Vielen Dank für ihre Anmeldung zur Veranstaltung <strong><?=$mailer->veranstaltung; ?></strong> am
165                        <strong><?=$mailer->termin; ?></strong>. <!--Sie erhielten eine Bestätigungsmail an ihre Mail-Adresse
166                        <em><?=$mailer->email_adresse; ?></em>. Bei Fragen wenden Sie sich bitte an die Museumsführung, siehe
167                        Kontaktdaten im <a href="/de/impressum">Impressum</a>.-->
168                       
169                        Innerhalb von zwei Tagen erhalten Sie eine persönliche Bestätigungsmail. Sollte die Antwort ausbleiben,
170                        können Sie den Kontakt jederzeit über die Kontaktdaten aus dem <a href="/de/impressum">Impressum</a>
171                        herstellen.
172                        </p>
173                       
174                        <p><a class="go" href="/de/">Zurück zur Startseite</a></p>
175                       
176                        <?php
177                };
178               
179                // checken ob alle Pflichtfelder vorhanden sind
180                $pflicht = array('veranstaltung', 'termin', 'anmelder_name', 'email_adresse');
181                foreach($pflicht as $feld) {
182                        if(isset($mailer->_values[$feld]) && !empty($mailer->_values[$feld])) continue;
183                       
184                        // Richtig hässliche Fehlerseite anzeigen
185                        ?><h2>Bitte füllen Sie das Anmeldeformular vollständig aus</h2>
186                        <p>Die Angabe von Name, Termin, Veranstaltung und E-Mail-Adresse ist zwingend erforderlich.
187                        <a class="go" href="javascript:history.go();">Zurückgehen und korrigieren</a> oder
188                        <a href="/de/anmeldung.php">Neu ausfüllen</a>.
189                        <?php
190                        return; // end of script
191                }       
192               
193                // mailer starten
194                if(!$mailer->run()) {
195                        ?><div style="opacity:0.5"><hr>
196                        <p><small>Es wurde ein Fehler beim Anmelden festgestellt</small></p><?php
197                }
198        }
Note: See TracBrowser for help on using the repository browser.
© 2008 - 2013 technikum29 • Sven Köppel • Some rights reserved
Powered by Trac
Expect where otherwise noted, content on this site is licensed under a Creative Commons 3.0 License