]>
git.p6c8.net - form-email.git/blob - form-email/functions.php
d8d6f71773f93980ca5433bab4a09138aed03d18
6 # Versenden einer E-Mail, die ueber ein Kontaktformular
9 # Autor: Patrick Canterino <patrick@patshaping.de>
10 # Letzte Aenderung: 3.12.2011
12 # Copyright (C) 2002-2011 Patrick Canterino
14 # Diese Datei kann unter den Bedingungen der "Artistic License 2.0"
15 # weitergegeben und / oder veraendert werden.
17 # http://www.opensource.org/licenses/artistic-license-2.0
22 # Formulardaten bei deaktiviertem register_globals auslesen
24 # Parameter: Name des Formularfeldes
26 # Rueckgabe: Inhalt des Formularfeldes (String oder Array)
28 # Bemerkungen: - Wenn der HTTP-Zugriff nicht POST oder GET ist,
29 # wird nichts zurueckgegeben.
30 # - Codierende Backslashes werden automatisch entfernt
32 function formdata($param) {
33 switch($_SERVER['REQUEST_METHOD']) {
35 if(isset($_GET[$param])) {
36 $value = $_GET[$param];
42 if(isset($_POST[$param])) {
43 $value = $_POST[$param];
52 if(get_magic_quotes_gpc()) {
53 if(is_array($value)) return array_map('stripslashes',$value);
54 else return stripslashes($value);
61 # Text fuer HTML-Ausgabe vorbereiten (Entities,
62 # Zeilenumbrueche, Leerzeichen)
65 # 2. Zeilenumbruchskennung (Standard = <br>)
67 # Rueckgabe: Bearbeiteter Text (String)
69 function &plain(&$text,$linebreak='<br>') {
70 $htmltext = htmlspecialchars($text);
71 $htmltext = preg_replace("/\015\012|\012|\015/",$linebreak,$htmltext);
73 for($x=0;$x<strlen($htmltext);$x++
) {
74 if($htmltext[$x] == ' ' && $htmltext[$x+
1] == ' ') $htmltext[$x] = "\240";
77 $htmltext = str_replace("\240",' ',$htmltext);
78 $htmltext = str_replace($linebreak.' ',$linebreak.' ',$htmltext);
85 # Durch Semikola getrennte Werte aufteilen und Leerzeichen
86 # an Anfang und Ende der Werte entfernen
88 # Parameter: Zeichenkette
90 # Rueckgabe: Aufgeteilte Zeichenkette (Array)
92 function semicolon_split($string) {
93 $parts = explode(';',$string);
94 $parts = array_map('trim',$parts);
101 # Fehlermeldung anzeigen (Benutzer kann den Fehler
104 # Parameter: Fehlermeldung
106 function show_fatal(&$errmsg) {
110 $tpl->read_file($tpl_fatal);
112 $tpl->fillin('ERROR',$errmsg);
114 print $tpl->get_template();
120 # Fehlermeldung anzeigen (Benutzer kann den Fehler
121 # aber noch korrigieren)
123 # Parameter: Fehlermeldung
125 function show_user_error(&$errmsg) {
126 global $captcha_enable, $email, $name, $subject, $text, $user_fields, $tpl_user_error;
129 $tpl->read_file($tpl_user_error);
131 $tpl->parse_if_block('CAPTCHA',$captcha_enable);
133 $tpl->set_var('EMAIL', htmlspecialchars($email));
134 $tpl->set_var('ERROR', $errmsg);
135 $tpl->set_var('NAME', htmlspecialchars($name));
136 $tpl->set_var('SUBJECT',htmlspecialchars($subject));
137 $tpl->set_var('TEXT', htmlspecialchars($text));
141 while(list($user_field,$user_field_data) = each($user_fields)) {
142 $tpl->set_var($user_field_data['tpl_var'],htmlspecialchars(formdata($user_field)));
147 print $tpl->get_template();
patrick-canterino.de