]> git.p6c8.net - form-email.git/blobdiff - form-email/functions.php
Pruefen, ob $user_field_data['optional'] korrekt gesetzt wurde
[form-email.git] / form-email / functions.php
index eb7f92068f5fa2a271d1c0537e2327ffcc69eb03..9e68c6429681c05303e33f67d014346ecccb5965 100644 (file)
@@ -7,7 +7,7 @@
 # geschrieben wurde.\r
 #\r
 # Autor:            Patrick Canterino <patrick@patshaping.de>\r
-# Letzte Aenderung: 3.12.2011\r
+# Letzte Aenderung: 17.12.2011\r
 #\r
 # Copyright (C) 2002-2011 Patrick Canterino\r
 #\r
@@ -66,8 +66,8 @@ function formdata($param) {
 #\r
 # Rueckgabe: Bearbeiteter Text (String)\r
 \r
-function &plain(&$text,$linebreak='<br>') {\r
-    $htmltext = htmlentities($text);\r
+function plain($text,$linebreak='<br>') {\r
+    $htmltext = htmlspecialchars($text);\r
     $htmltext = preg_replace("/\015\012|\012|\015/",$linebreak,$htmltext);\r
 \r
     for($x=0;$x<strlen($htmltext);$x++) {\r
@@ -103,13 +103,21 @@ function semicolon_split($string) {
 #\r
 # Parameter: Fehlermeldung\r
 \r
-function show_fatal(&$errmsg) {\r
+function show_fatal($errmsg,$vars=array()) {\r
     global $tpl_fatal;\r
 \r
     $tpl = new Template;\r
     $tpl->read_file($tpl_fatal);\r
 \r
-    $tpl->fillin('ERROR',$errmsg);\r
+    if(sizeof($vars) > 0) {\r
+        while(list($var,$content) = each($vars)) {\r
+            $errmsg = str_replace('{'.$var.'}',htmlspecialchars($content),$errmsg);\r
+        }\r
+    }\r
+\r
+    $tpl->set_var('ERROR',$errmsg);\r
+\r
+    $tpl->parse();\r
 \r
     print $tpl->get_template();\r
     exit;\r
@@ -122,7 +130,7 @@ function show_fatal(&$errmsg) {
 #\r
 # Parameter: Fehlermeldung\r
 \r
-function show_user_error(&$errmsg) {\r
+function show_user_error($errmsg) {\r
     global $captcha_enable, $email, $name, $subject, $text, $user_fields, $tpl_user_error;\r
 \r
     $tpl = new Template;\r
@@ -130,16 +138,23 @@ function show_user_error(&$errmsg) {
 \r
     $tpl->parse_if_block('CAPTCHA',$captcha_enable);\r
 \r
-    $tpl->set_var('EMAIL',  htmlentities($email));\r
+    $tpl->set_var('EMAIL',  htmlspecialchars($email));\r
     $tpl->set_var('ERROR',  $errmsg);\r
-    $tpl->set_var('NAME',   htmlentities($name));\r
-    $tpl->set_var('SUBJECT',htmlentities($subject));\r
-    $tpl->set_var('TEXT',   htmlentities($text));\r
+    $tpl->set_var('NAME',   htmlspecialchars($name));\r
+    $tpl->set_var('SUBJECT',htmlspecialchars($subject));\r
+    $tpl->set_var('TEXT',   htmlspecialchars($text));\r
 \r
     reset($user_fields);\r
 \r
     while(list($user_field,$user_field_data) = each($user_fields)) {\r
-        $tpl->set_var($user_field_data['tpl_var'],htmlentities(formdata($user_field)));\r
+        if(isset($user_field_data['tpl_var']) && $user_field_data['tpl_var'] != '') {\r
+            $tpl_var = $user_field_data['tpl_var'];\r
+        }\r
+        else {\r
+            $tpl_var = 'USER_'.$user_field;\r
+        }\r
+\r
+        $tpl->set_var($tpl_var,htmlspecialchars(formdata($user_field)));\r
     }\r
 \r
     $tpl->parse();\r

patrick-canterino.de