]> git.p6c8.net - form-email.git/blob - form-email/functions.php
Form E-Mail 3.4.1 hinzugefuegt
[form-email.git] / form-email / functions.php
1 <?php
2
3 #
4 # Form E-Mail 3.4.1 - functions.php
5 #
6 # Verschiedene gemeinsam genutze Funktionen
7 #
8 # Autor: Patrick Canterino <patrick@patshaping.de>
9 # Letzte Aenderung: 11.1.2009
10 #
11 # Copyright (C) 2002-2011 Patrick Canterino
12 #
13 # Diese Datei kann unter den Bedingungen der "Artistic License 1.0"
14 # weitergegeben und / oder veraendert werden.
15 # Siehe:
16 # http://www.opensource.org/licenses/artistic-license-1.0.php
17 #
18
19 # formdata()
20 #
21 # Formulardaten bei deaktiviertem register_globals auslesen
22 #
23 # Parameter: Name des Formularfeldes
24 #
25 # Rueckgabe: Inhalt des Formularfeldes (String oder Array)
26 #
27 # Bemerkungen: - Wenn der HTTP-Zugriff nicht POST oder GET ist,
28 # wird nichts zurueckgegeben.
29 # - Codierende Backslashes werden automatisch entfernt
30
31 function formdata($param)
32 {
33 switch($_SERVER['REQUEST_METHOD'])
34 {
35 case 'GET':
36 if(isset($_GET[$param]))
37 {
38 $value = $_GET[$param];
39 break;
40 }
41 else return null;
42
43 case 'POST':
44 if(isset($_POST[$param]))
45 {
46 $value = $_POST[$param];
47 break;
48 }
49 else return null;
50
51 default:
52 return null;
53 }
54
55 if(get_magic_quotes_gpc())
56 {
57 if(is_array($value)) return array_map('stripslashes',$value);
58 else return stripslashes($value);
59 }
60 else return $value;
61 }
62
63 # plain()
64 #
65 # Text fuer HTML-Ausgabe vorbereiten (Entities,
66 # Zeilenumbrueche, Leerzeichen)
67 #
68 # Parameter: 1. Text
69 # 2. Zeilenumbruchskennung (Standard = <br>)
70 #
71 # Rueckgabe: Bearbeiteter Text (String)
72
73 function &plain(&$text,$linebreak='<br>')
74 {
75 $htmltext = htmlentities($text);
76 $htmltext = preg_replace("/\015\012|\012|\015/",$linebreak,$htmltext);
77
78 for($x=0;$x<strlen($htmltext);$x++)
79 {
80 if($htmltext[$x] == ' ' && $htmltext[$x+1] == ' ') $htmltext[$x] = "\240";
81 }
82
83 $htmltext = str_replace("\240",'&nbsp;',$htmltext);
84 $htmltext = str_replace($linebreak.' ',$linebreak.'&nbsp;',$htmltext);
85
86 return $htmltext;
87 }
88
89 # semicolon_split()
90 #
91 # Durch Semikola getrennte Werte aufteilen und Leerzeichen
92 # an Anfang und Ende der Werte entfernen
93 #
94 # Parameter: Zeichenkette
95 #
96 # Rueckgabe: Aufgeteilte Zeichenkette (Array)
97
98 function semicolon_split($string)
99 {
100 $parts = explode(';',$string);
101 $parts = array_map('trim',$parts);
102
103 return $parts;
104 }
105
106 # show_fatal()
107 #
108 # Fehlermeldung anzeigen (Benutzer kann den Fehler
109 # nicht korrigieren)
110 #
111 # Parameter: Fehlermeldung
112
113 function show_fatal(&$errmsg)
114 {
115 global $tpl_fatal;
116
117 $tpl = new Template;
118 $tpl->read_file($tpl_fatal);
119
120 $tpl->fillin('ERROR',$errmsg);
121
122 print $tpl->get_template();
123 exit;
124 }
125
126 # show_user_error()
127 #
128 # Fehlermeldung anzeigen (Benutzer kann den Fehler
129 # aber noch korrigieren)
130 #
131 # Parameter: Fehlermeldung
132
133 function show_user_error(&$errmsg)
134 {
135 global $captcha_enable, $email, $name, $subject, $text, $tpl_user_error;
136
137 $tpl = new Template;
138 $tpl->read_file($tpl_user_error);
139
140 $tpl->parse_if_block('CAPTCHA',$captcha_enable);
141
142 $tpl->set_var('EMAIL', htmlentities($email));
143 $tpl->set_var('ERROR', $errmsg);
144 $tpl->set_var('NAME', htmlentities($name));
145 $tpl->set_var('SUBJECT',htmlentities($subject));
146 $tpl->set_var('TEXT', htmlentities($text));
147
148 $tpl->parse();
149
150 print $tpl->get_template();
151 exit;
152 }
153
154 #
155 ### Ende ###
156
157 ?>

patrick-canterino.de