Dieser Commit ist enthalten in:
o.pinke 2022-04-29 21:33:22 +02:00
Ursprung 467f88e570
Commit 19fbca2693
2 geänderte Dateien mit 305 neuen und 286 gelöschten Zeilen

2
.gitignore gevendort
Datei anzeigen

@ -8,3 +8,5 @@ dist/
nbdist/ nbdist/
.nb-gradle/ .nb-gradle/
/php/cl_contactform_output_Dodger.php
/php/cl_contactform_input_Dodger.php

Datei anzeigen

@ -1,6 +1,6 @@
<?php <?php
/************************************************** /* * ************************************************
* CONTENIDO MODULE - OUTPUT * CONTENIDO MODULE - OUTPUT
* *
* Modulname : w3concepts.form.v1 * Modulname : w3concepts.form.v1
@ -9,9 +9,9 @@
* Created : 20-08-2004 * Created : 20-08-2004
* Modified : 20-08-2004 * Modified : 20-08-2004
* Modified : 24-08-2013, Murat Purc, adapted to newer CONTENIDO (4.8) and PHP (5.3/5.4) versions * Modified : 24-08-2013, Murat Purc, adapted to newer CONTENIDO (4.8) and PHP (5.3/5.4) versions
*************************************************/ * *********************************************** */
class w3form { class w3form {
private $email; private $email;
private $unraveled = array(); private $unraveled = array();
@ -39,18 +39,19 @@
private function sendEmail() { private function sendEmail() {
$this->unravel($this->suppress('sent')); $this->unravel($this->suppress('sent'));
$this->generateEmailMessage(); $this->generateEmailMessage();
mail(
$this->email['adresses'], $oMailer = new PHPMailer();
$this->email['subject'], $oMailer->AddAddress($this->email['adresses']);
$this->email['message'], $oMailer->From = $this->email['from']['email'];
sprintf( $oMailer->FromName = $this->email['from']['name'];
"From: %s <%s>\nReply-To: %s\nX-Mailer: PHP/%s", $oMailer->Subject = $this->email['subject'];
$this->email['from']['name'], $oMailer->Body = $this->email['message'];
$this->email['from']['email'],
$this->email['from']['email'], if($oMailer->send()) {
phpversion() return true;
) }
);
return false;
} }
private function unravel($toUnravel, $prefix = '') { private function unravel($toUnravel, $prefix = '') {
@ -270,20 +271,38 @@
} }
private function success() { private function success() {
$this->sendEmail(); if($this->sendEmail()) {
echo $this->form['answer']; echo $this->form['answer'];
} else {
echo '<span style="color:red;">'.mi18n("Es ist ein Fehler aufgetreten!<br>Bitte versuchen Sie es später noch einmal.").'</span>';
}
} }
private function formFieldCorrect(&$field) { private function formFieldCorrect(&$field) {
// prüfung, ob pflichtfeld vorhanden
if (!empty($field['mandatory']) && $field['mandatory'] == 'true' && empty($_POST["{$field['name']}"])) $tmp_name = rtrim($field['name'], '[0]');
preg_match('/\[(\d*)\]/', $field['name'], $matches);
$bEmptyPost = false;
if (is_array($_POST[$tmp_name])) {
if (empty($_POST[$tmp_name][$matches[1]])) {
$bEmptyPost = true;
}
} elseif (empty($_POST[$tmp_name])) {
$bEmptyPost = true;
}
if (!empty($field['mandatory']) && $field['mandatory'] == 'true' && $bEmptyPost) {
return false; return false;
}
// wenn das formularfeld kein pflichtfeld und nicht vorhanden ist, true zurück geben // wenn das formularfeld kein pflichtfeld und nicht vorhanden ist, true zurück geben
if (empty($_POST["{$field['name']}"])) if ($bEmptyPost) {
return true; return true;
}
// regular expression prüfungen // regular expression prüfungen
if (!empty($feld['valid']) && $feld['valid'] == 'textmitumbruch' && !preg_match("/^[ \n\r.,;!?()öäüéàèâêîça-z0-9-]*$", $_POST["{$field['name']}"]))
return false;
if (!empty($field['valid']) && $field['valid'] == 'simpletext' && !preg_match("/^[öäüéàèâêîça-z-]*$/i", $_POST["{$field['name']}"])) if (!empty($field['valid']) && $field['valid'] == 'simpletext' && !preg_match("/^[öäüéàèâêîça-z-]*$/i", $_POST["{$field['name']}"]))
return false; return false;
if (!empty($field['valid']) && $field['valid'] == 'text' && !preg_match("/^[ .,;!?()öäüéàèâêîça-z-]*$/i", $_POST["{$field['name']}"])) if (!empty($field['valid']) && $field['valid'] == 'text' && !preg_match("/^[ .,;!?()öäüéàèâêîça-z-]*$/i", $_POST["{$field['name']}"]))
@ -296,7 +315,6 @@
return false; return false;
if (!empty($field['valid']) && $field['valid'] == 'email' && !preg_match("/^[öäüéàèâêîç_a-z0-9-]+(\.[öäüéàèâêîç_a-z0-9-]+)*@[öäüéàèâêîça-z0-9-]+(\.[öäüéàèâêîça-z0-9-]+)*$/i", $_POST["{$field['name']}"])) if (!empty($field['valid']) && $field['valid'] == 'email' && !preg_match("/^[öäüéàèâêîç_a-z0-9-]+(\.[öäüéàèâêîç_a-z0-9-]+)*@[öäüéàèâêîça-z0-9-]+(\.[öäüéàèâêîça-z0-9-]+)*$/i", $_POST["{$field['name']}"]))
return false; return false;
// grössenbereich bei integer und float prüfen // grössenbereich bei integer und float prüfen
if (!empty($field['minvalue']) && $_POST["{$field['name']}"] < $field['minvalue']) if (!empty($field['minvalue']) && $_POST["{$field['name']}"] < $field['minvalue'])
return false; return false;
@ -322,15 +340,15 @@
} }
} }
} }
if (isset($edit) && $edit) { if (isset($edit) && $edit) {
echo "<h1>" . mi18n("Formularkonfiguration") . "</h1>"; echo "<h1>" . mi18n("Formularkonfiguration") . "</h1>";
echo "<p>" . mi18n("Hier ist das Formular sowie der Text einzugeben, der zusammen mit dem Formular ausgegeben werden soll:") . "</p>"; echo "<p>" . mi18n("Hier ist das Formular sowie der Text einzugeben, der zusammen mit dem Formular ausgegeben werden soll:") . "</p>";
echo "CMS_HTML[0]"; echo "CMS_HTML[0]";
echo "<p>" . mi18n("Hier ist die Ausgabe einzugeben, die erscheint, wenn das Formular erfolgreich prozessiert worden ist:") . "</p>"; echo "<p>" . mi18n("Hier ist die Ausgabe einzugeben, die erscheint, wenn das Formular erfolgreich prozessiert worden ist:") . "</p>";
echo "CMS_HTML[1]"; echo "CMS_HTML[1]";
} else { } else {
$form = new w3form(); $form = new w3form();
$form->addEmailAdress("CMS_VALUE[0]"); $form->addEmailAdress("CMS_VALUE[0]");
$form->setEmailSubject("CMS_VALUE[1]"); $form->setEmailSubject("CMS_VALUE[1]");
@ -339,6 +357,5 @@
$form->setForm("CMS_HTML[0]"); $form->setForm("CMS_HTML[0]");
$form->setAnswer("CMS_HTML[1]"); $form->setAnswer("CMS_HTML[1]");
$form->process(); $form->process();
} }
?>
?>