]>
git.p6c8.net - form-email.git/blob - form-email/functions.php
2374b7bcc6066fd1338605927b679cdbcaa7420e
6 # Versenden einer E-Mail, die ueber ein Kontaktformular
9 # Autor: Patrick Canterino <patrick@patshaping.de>
10 # Letzte Aenderung: 12.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,$vars=array()) {
110 $tpl->read_file($tpl_fatal);
112 if(sizeof($vars) > 0) {
113 while(list($var,$content) = each($vars)) {
114 $errmsg = str_replace('{'.htmlspecialchars($var).'}',htmlspecialchars($content),$errmsg);
118 $tpl->set_var('ERROR',$errmsg);
122 print $tpl->get_template();
128 # Fehlermeldung anzeigen (Benutzer kann den Fehler
129 # aber noch korrigieren)
131 # Parameter: Fehlermeldung
133 function show_user_error(&$errmsg) {
134 global $captcha_enable, $email, $name, $subject, $text, $user_fields, $tpl_user_error;
137 $tpl->read_file($tpl_user_error);
139 $tpl->parse_if_block('CAPTCHA',$captcha_enable);
141 $tpl->set_var('EMAIL', htmlspecialchars($email));
142 $tpl->set_var('ERROR', $errmsg);
143 $tpl->set_var('NAME', htmlspecialchars($name));
144 $tpl->set_var('SUBJECT',htmlspecialchars($subject));
145 $tpl->set_var('TEXT', htmlspecialchars($text));
149 while(list($user_field,$user_field_data) = each($user_fields)) {
150 $tpl->set_var($user_field_data['tpl_var'],htmlspecialchars(formdata($user_field)));
155 print $tpl->get_template();
patrick-canterino.de