ok danke. Hab das jetzt eingebaut. Den Link editiert usw
Code: Alles auswählen
<?php
/**
*=============================================
* REDAXO-Modul: do form! 2
* Bereich: Ausgabe
* Version: 2.17.2
*
* Redaxo Version: 4.x
*
* Hinweise:
*
* Erforderliche Addons: TinyMCE, PHPMAiler
*
* Bearbeitung: KLXM Crossmedia, Thomas Skerbis
* www.klxm.de
* Datum: 20.10.2009
* Mit Datums- und Zeitabfrage von: Xong
* Ursprung: Formular-Generator Redaxo 3.2 Demo
* Typ: Modifikation / Erweiterung
*=============================================
*
* VALUE[1] - Email geht an
* VALUE[2] - (Ihre) Absenderadresse fuer die Bestaetigungs-Email
* VALUE[3] - Formularfelder
* VALUE[4] - Betreff
* VALUE[5] - E-Mail-Bestaetigungstext
* VALUE[6] - TinyMCE
* VALUE[7] - Bezeichnung fuer Senden-Button
* VALUE[8] - Absender-Name
* VALUE[9] - Sprachkodierung
* VALUE[10] - Soll eine Bestaetigungs-Email erstellt werden?
* VALUE[11] - BCC an
* VALUE[12] - HTML-EMAIL JA /NEIN
* VALUE[13] - Original anhaengen? JA / NEIN
* REX_FILE[1] - Dateianhang
*
*/
// =============================================
// KONFIGURATION
// =============================================
// Captcha-Konfiguration
// Die folgende Variable muss unbedingt angepasst werden:
// =============================================
// ID zum Captcha-Artikel der das Captcha-Template nutzt
//$captchaID = 000;
//$captchasource = htmlspecialchars(rex_getUrl($captchaID));
//==============================================
// Alternative: Externe Einbindung eines Captchas
$captchasource="/captcha/captcha.php";
// =============================================
// siehe: http://www.rexvideo.de/module/formulargenerator.html
// =============================================
$style = 'class="formerror"'; // Stildefinition Fehler
$formname = "doform"."REX_SLICE_ID"; // Formular ID generiert aus SLICE ID
$formdatum = date("d.m.Y"); // Datum
$formzeit = date("H:i"); // Uhrzeit
$formreq=' <strong class="formreq">*</strong>'; // Markierung von Pflichtfeldern
$formbcc="REX_VALUE[11]"; // BCC-Feld
$sendfullmail="REX_VALUE[13]"; //Original in Bestätigungsmail
// Welche Felder sollen nicht übertragen werden?
$ignore = array('captcha','sicherheitscode','ilink', 'ilink2', 'divstart', 'divend', 'fieldend');
// =============================================
// Pfad zum Dateianhang bei Bestätigungs-Email
// =============================================
$redaxofile = $REX[HTDOCS_PATH]."files/"."REX_FILE[1]";
// Fehlermeldungen:
// =============================================
// Sprache 0 -- Hier Deutsch
if ($REX['CUR_CLANG']=="0")
{
#### Achtung! Hinter <<< EOD darf kein Leerzeichen stehen.
$fError= <<<EOD
Bei der Eingabe traten Fehler auf. <br /> Bitte korrigieren Sie Ihre Eingaben.
EOD;
$frel="<br />Sie haben versucht die Seite neu zu laden. Ihre Nachricht wurde bereits versandt";
}
// Sprache 1 -- z.B. Englisch
if ($REX['CUR_CLANG'] == 1)
{
#### Achtung! Hinter <<< EOD darf kein Leerzeichen stehen.
$fError= <<<EOD
Please correct your Input
EOD;
$frel="<br />You have tried to reload this page. Your message has already been sent.";
}
// HTML-Vorlage
// HEADER
$doformhtml='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=REX_VALUE[9]" />
<title>do form! message</title>
<style type="text/css">
<!--
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 0.86em;
color: #003366;
line-height: 1em;
background-color: #F9F9F9;
}
h1 { color: #003366;
background-color: #FFFFCC;
display: block;
clear: both;
font-size: 1.2em;
}
h2 { color: #003366;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #999999;
display: block;
clear: both;
font-size: 0.9em;
}
.dfheader {
border-top-width: 6px;
border-top-style: solid;
border-top-color: #999999;
color: #FFFFFF;
background-color: #003366;;
padding-top: 0px;
padding-right: 2px;
padding-bottom: 0px;
padding-left: 2px;
text-align: center;
margin: 0px;
}
.slabel {
width: 230px;
display: block;
float: left;
margin-right: 5px;
color: #666666;
font-weight: normal;
}
br {
clear: both;
display: block;
}
-->
</style>
</head>
<body>
<div class="dfheader">
do form! - REX_VALUE[4]
</div>
';
// footer
$doformhtmlfooter='<hr size="1" /><br />
<strong>Erstellt mit: REDAXO do form! 2</strong><br /></body></html>';
$nonhtmlfooter="\n----------------------------------\n
Erstellt mit: REDAXO do form! 2 ";
// =============================================
// Ende der allgemeinen Konfiguration
// ggf. muss unten noch $_SESSION["name_der_variable"]. angepasst werden
//=============================================
#### Achtung! Hinter <<< End darf kein Leerzeichen stehen.
$rex_form_data = <<<End
REX_HTML_VALUE[3]
End;
#### Achtung! Hinter <<< End darf kein Leerzeichen stehen.
$mailbody = <<<End
End;
$responsemail = <<<End
REX_HTML_VALUE[5]
End;
$submitlabel = "REX_VALUE[7]";
if (isset($_POST['eingabe'])) { $eingabe = $_POST['eingabe']; }
$FORM = rex_post('FORM', 'array');
$formoutput = array();
$warning = array();
$warning_set = 0; // wird zu 1, wenn eine Fehler auftritt
$form_elements = array();
$form_elements = explode("\n", $rex_form_data);
$responsemail = str_replace("%Datum%", $formdatum, $responsemail);
$responsemail = str_replace("%Zeit%", $formzeit, $responsemail);
//Adresse die als Absenderadresse der Bestätigungs-Email eingegeben wurde
$responsemail = str_replace("%Absender%", "REX_VALUE[2]", $responsemail);
//Empfänderadresse die im Modul angegeben wurde
$responsemail = str_replace("%Mail%", "REX_VALUE[1]", $responsemail);
$token = md5(uniqid('token'));
$formcaptcha = null;
$freload = null;
$mailbodyhtml = '';
for ($i=0; $i<count($form_elements); $i++) {
$element = explode("|", $form_elements[$i]);
$AFE[$i] = $element;
$formfield = 0;
if (!isset ($FORM[$formname]['el_'.$i])) { $FORM[$formname]['el_'.$i] = ''; }
if (!isset ($FORM[$formname][$formname.'send'])) { $FORM[$formname][$formname.'send'] = ''; }
if (!isset ($warning["el_".$i])) { $warning["el_".$i] = NULL; }
switch ($element[0]) {
// Übernahme einer Session-Variable / Variablenname muss angepasst werden
// ggf. muss diese nach dem Senden noch zurückgesetzt werden
case "sessionvar":
$formoutput[] = '
<input type="hidden" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.$_SESSION["name_der_variable"].'" />' ;
break;
// Gestaltungselemente
case "headline":
$formoutput[] = '<div class="formheadline">'.$element[1].'<input type="hidden" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.$element[1].'"/></div>';
break;
case "info":
$formoutput[] = '<div class="formhinweis">'.$element[1].'</div>';
break;
case "ilink":
$formoutput[] = '<div class="formlink"><a href="'.rex_getUrl($element[1]).'">'.$element[2].'</a></div>';
break;
case "ilink2":
$formoutput[] = '<div class="formlink"><a class="'.$element[3].'" href="'.rex_getUrl($element[1]).$element[2].'">'.$element[4].'</a></div>';
break;
case "trennelement":
$formoutput[] = '<div class="formtrenn"><hr/></div>';
break;
case "fieldend":
$formoutput[] = '</fieldset>';
$formfield = "on";
break;
case "divstart":
$str = $element[1];
$first = $str[0];
$id = str_replace("#",'',$str);
if ($first == '#') {
$formoutput[] = '<div id="'.$id.'">'.$element[2];
}
else {
$formoutput[] = '<div class="'.$element[1].'">'.$element[2];
}
$formfield = "on";
break;
case "divend":
$formoutput[] = '</div>';
$formfield = "on";
break;
case "fieldstart":
$formoutput[] = '<fieldset class="fieldset"><legend>'.$element[1].'</legend><input type="hidden" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.$element[1].'"/>';
$formfield = "on";
break;
// Formular-Felder
case "password":
if ($FORM[$formname]['el_'.$i] == '' && !$FORM[$formname][$formname.'send']) {
$FORM[$formname]["el_".$i] = trim($element[3]);
}
if ($element[2] == 1 && (trim($FORM[$formname]["el_".$i]) == "" || trim($FORM[$formname]["el_".$i]) == trim($element[3])) && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
$warning_set = 1;
$e = 1;
}
$req='';
if ($element[2] == 1) {$req = $formreq;}
$formlabel[$i] = '<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>';
$formoutput[$i] = '<p>'.$formlabel[$i].'<input type="password" class="formpassword" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.htmlentities(stripslashes($FORM[$formname]["el_".$i])).'" />'.$req.'</p>';
break;
case "checkbox":
$req='';
if ($element[2] == 1) {$req = $formreq;}
if( (trim($FORM[$formname]["el_".$i] )== "1" ) || ($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"] && $element[3] == 1)){
$cchecked = ' checked="checked"';
$hidden="";
}
else {
$cchecked = "";
$hidden = '<div><input type="hidden" name="FORM['.$formname.'][el_'.$i.']" value="0" /></div>';
}
if($element[2] == 1 && $cchecked=="" && $FORM[$formname][$formname."send"] ) {
$warning["el_".$i] = $style;
}
$formoutput[] =
$hidden.'
<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>
<input type="checkbox" title="'.$element[1].'" class="formcheck" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="1" '.$cchecked.' /><br/>
';
break;
// Radio-Buttons von Markus Feustel 07.01.2008
case "radio":
$req='';
if ($element[2] == 1) {$req = $formreq;}
if ((trim($FORM[$formname]["el_".$i] )== "1" ) || ($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"] && $element[3] == 1)) {
$checked = ' checked="checked"';
$hidden = '';
}
else {
$checked = "";
$hidden = '<input type="hidden" name="FORM['.$formname.'][el_'.$i.']" value="0" />';
}
if (trim($FORM[$formname]["el_".$i]) == '' && trim($element[5]) !=''){
$FORM[$formname]["el_".$i] = trim($element[5]);
}
if ($element[2] == 1 && trim($FORM[$formname]["el_".$i]) == "" && $FORM[$formname][$formname."send"] == 1) {
$warning["el_".$i] = $style;
$warning_set = 1;
$e=1;
}
$ro = explode(';',trim($element[3]));
$val = explode(';',trim($element[4]));
$formlabel[$i] = '<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>';
// Inspiriert durch grizou
$fo = $formlabel[$i].'<div id="el_'.$i.'" >'."\n";
for ($xi=0;$xi<count($ro);$xi++){
if ($val[$xi] == trim($FORM[$formname]["el_".$i] )){$checked = ' checked="checked"';}else{$checked = "";}
$fo .= '<br/><input type="radio" class="formradio" name="FORM['.$formname.'][el_'.$i.']" id="r'.$i.'_Rel_'.$xi.'" value="'.$val[$xi].'" '.$checked.' />'."\n";
$fo .= '<label class="formradio" '.$warning["el_".$i].'for="r'.$i.'_Rel_'.$xi.'" >'.$ro[$xi].'</label>'."\n";
}
$fo .='</div><br />'."\n";
$formoutput[$i] = $fo.'<br/>';
break;
// Ende Radio-Buttons
case "text":
$req='';
if ($element[2] == 1) {$req = $formreq;}
// 14.08.2009: GET-VARIABLENABFRAGE von Tito übernommen,
// siehe http://forum.redaxo.de/ftopic11635-30.html
if($FORM[$formname]["el_".$i] == '' && !$FORM[$formname][$formname.'send']){
if(strchr($element[3],'GET_')){
$get = explode('GET_',$element[3]);
$element[3] = rex_get($get[1]);
}
$FORM[$formname]["el_".$i] = trim($element[3]);
}
if ($element[2] == 1 && (trim($FORM[$formname]["el_".$i]) == "" || trim($FORM[$formname]["el_".$i]) == trim($element[3])) && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
$warning_set = 1;
}
// ### Validierung
// falls Pflichtelement und Inhalt da und Formular abgeschickt
if ( ($element[2] == 1) && (trim($FORM[$formname]["el_".$i]) != "") && ($FORM[$formname][$formname."send"] == 1) ) {
// checken, ob und welches Validierungsmodell gewaehlt
if (trim($element[5]) != '') {
// falls Validierung gefordert
$valid_ok = TRUE;
$inhalt = trim($FORM[$formname]["el_".$i]);
switch (trim($element[5])) {
case "mail":
if (!ereg("^.+@(.+\.)+([a-zA-Z]{2,6})$",$inhalt)) $valid_ok = FALSE;
break;
case "absendermail":
$absendermail=$inhalt;
if (!ereg("^.+@(.+\.)+([a-zA-Z]{2,6})$",$inhalt)) $valid_ok = FALSE;
break;
#Telefonnummern mindestens 6 Zahlen
case "telefon":
if (preg_match("#^[ 0-9\/-]{6,}+$#",$inhalt)) {break;} else {$valid_ok = FALSE; }
break;
#Postleitzahlen
case "plz":
if (preg_match ("/^[0-9]{5}$/",$inhalt)) {break;} else {$valid_ok = FALSE; }
break;
#Prüft ob die eingegebenen Zeichen Buchstaben sind
case "letters":
if (preg_match("/^[ a-zA-ZÉÈéèäöüß]+$/i",$inhalt)) {break;} else {$valid_ok = FALSE; }
break;
#Nur Zahlen
case "digit":
if (!ctype_digit($inhalt)) $valid_ok = FALSE;
break;
#Nur Buchstaben
case "alpha":
if (!ctype_alpha($inhalt)) $valid_ok = FALSE;
break;
# URL
case "url":
$inhalt=trim($inhalt);
if (preg_match("#^(http|https)+(://www.)+([a-z0-9-_.]{2,}\.[a-z]{2,4})$#i",$inhalt)) {break;} else {$valid_ok = FALSE; }
break;
case "checkfield":
if (preg_match("/^[ a-zA-Zäöüß]+$/i",$inhalt)) {$_SESSION["formcheck"]=$inhalt; break;} else {$valid_ok = FALSE; }
break;
// Captchaabfrage
case "captcha":
if(isset($_SESSION['token'])) {
if($_SESSION['token'] == $_POST['token']) {
$formcaptcha="off";
$valid_ok = FALSE;
$freload=$frel;
break;
}}
if ($_SESSION["kcode"]==$inhalt){$valid_ok = TRUE; break;}
if ($_SESSION["formcheck"]==$inhalt)
{$valid_ok = TRUE; break;}
else
{$formcaptcha="off"; $valid_ok = FALSE; break;}
} // switch (trim($element[5]))
if (!$valid_ok) {
$warning["el_".$i] = $style;
$warning_set = 1;
}
} // falls Validierung gefordert
} // if ( ($element[2] == 1) && (trim($FORM[$formname]["el_".$i]) != "") && ($FORM[$formname][$formname."send"] == 1) )
// ### /Validierung
if ($formcaptcha=="off")
{
$formoutput[] = '
<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>
<input type="text" class="formtext" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="" /><br />
';
$formcaptcha="on";
}
else
{
$formoutput[] = '
<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>
<input type="text" class="formtext" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.htmlspecialchars(stripslashes($FORM[$formname]["el_".$i])).'" /><br />
';
}
break;
// 18.09.2009 DATUMS-Abfrage Powerded by: XONG
// ##########
case "xdate":
$req=($element[2] == 1)?$formreq:'';
// TAGE
$AFE[$i.'_d'] = $element;
$form_element_ids[md5(strtolower(trim($element[1])).'_d')] = 'el_'.$i.'_d';
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."_d]");
$SEL->set_id("el_".$i.'_d');
$SEL->set_size(1);
$SEL->set_style(' class="date_day"');
if ($FORM[$formname]["el_".$i.'_d'] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_d']);
}
$SEL->add_option( '', '');
foreach (range(1,31) as $v){
$v = sprintf('%02d',$v);
$SEL->add_option( $v, $v);
}
if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_d'] )== "" && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i.'_d'] = $style;
$warning_set = 1;
}
if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_m'] )== "" && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i.'_d'] = $style;
$warning_set = 1;
}
if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_y'] )== "" && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i.'_d'] = $style;
$warning_set = 1;
}
$formoutput[] = '
<label '.$warning["el_".$i.'_d'].' for="el_'.$i.'_d" >'.$element[1].$req.'</label>
'.$SEL->out();
// MONATE
$AFE[$i.'_m'] = $element;
$form_element_ids[md5(strtolower(trim($element[1])).'_m')] = 'el_'.$i.'_m';
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."_m]");
$SEL->set_id("el_".$i.'_m');
$SEL->set_size(1);
$SEL->set_style(' class="date_month"');
if ($FORM[$formname]["el_".$i.'_m'] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_m']);
}
$SEL->add_option( '', '');
foreach (range(1,12) as $v){
$v = sprintf('%02d',$v);
$SEL->add_option( $v, $v);
}
$formoutput[] = '
'.$SEL->out();
// JAHRE
$AFE[$i.'_y'] = $element;
$form_element_ids[md5(strtolower(trim($element[1])).'_y')] = 'el_'.$i.'_y';
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."_y]");
$SEL->set_id("el_".$i.'_y');
$SEL->set_size(1);
$SEL->set_style(' class="date_year"');
if ($FORM[$formname]["el_".$i.'_y'] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_y']);
}
$SEL->add_option( '', '');
$year = 1900;
$today=intval(date('Y'));
for($v=$year;$v<($today);$v++) {
$SEL->add_option( $v, $v);
}
$formoutput[] = '
'.$SEL->out().'<br />';
break;
case "date":
$req=($element[2] == 1)?$formreq:'';
// TAGE
$AFE[$i.'_d'] = $element;
$form_element_ids[md5(strtolower(trim($element[1])).'_d')] = 'el_'.$i.'_d';
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."_d]");
$SEL->set_id("el_".$i.'_d');
$SEL->set_size(1);
$SEL->set_style(' class="date_day"');
if ($FORM[$formname]["el_".$i.'_d'] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_d']);
}
$SEL->add_option( '', '');
foreach (range(1,31) as $v){
$v = sprintf('%02d',$v);
$SEL->add_option( $v, $v);
}
if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_d'] )== "" && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i.'_d'] = $style;
$warning_set = 1;
}
if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_m'] )== "" && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i.'_d'] = $style;
$warning_set = 1;
}
if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_y'] )== "" && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i.'_d'] = $style;
$warning_set = 1;
}
$formoutput[] = '
<label '.$warning["el_".$i.'_d'].' for="el_'.$i.'_d" >'.$element[1].$req.'</label>
'.$SEL->out();
// MONATE
$AFE[$i.'_m'] = $element;
$form_element_ids[md5(strtolower(trim($element[1])).'_m')] = 'el_'.$i.'_m';
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."_m]");
$SEL->set_id("el_".$i.'_m');
$SEL->set_size(1);
$SEL->set_style(' class="date_month"');
if ($FORM[$formname]["el_".$i.'_m'] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_m']);
}
$SEL->add_option( '', '');
foreach (range(1,12) as $v){
$v = sprintf('%02d',$v);
$SEL->add_option( $v, $v);
}
$formoutput[] = '
'.$SEL->out();
// JAHRE
$AFE[$i.'_y'] = $element;
$form_element_ids[md5(strtolower(trim($element[1])).'_y')] = 'el_'.$i.'_y';
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."_y]");
$SEL->set_id("el_".$i.'_y');
$SEL->set_size(1);
$SEL->set_style(' class="date_year"');
if ($FORM[$formname]["el_".$i.'_y'] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_y']);
}
$SEL->add_option( '', '');
$year = intval(date('Y'));
for($v=$year;$v<($year+5);$v++) {
$SEL->add_option( $v, $v);
}
$formoutput[] = '
'.$SEL->out().'<br />';
break;
case "time":
$req=($element[2] == 1)?$formreq:'';
// STUNDEN
$AFE[$i.'_h'] = $element;
$form_element_ids[md5(strtolower(trim($element[1])).'_h')] = 'el_'.$i.'_h';
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."_h]");
$SEL->set_id("el_".$i.'_h');
$SEL->set_size(1);
$SEL->set_style(' class="time_hours"');
if ($FORM[$formname]["el_".$i.'_h'] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_h']);
}
$SEL->add_option( '', '');
foreach (range(0,23) as $v){
$v = sprintf('%02d',$v);
$SEL->add_option( $v, $v);
}
if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_h'] )== "" && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i.'_h'] = $style;
$warning_set = 1;
}
if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_min'] )== "" && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i.'_h'] = $style;
$warning_set = 1;
}
$formoutput[] = '
<label '.$warning["el_".$i.'_h'].' for="el_'.$i.'_h" >'.$element[1].$req.'</label>
'.$SEL->out();
// MINUTEN
$AFE[$i.'_min'] = $element;
$form_element_ids[md5(strtolower(trim($element[1])).'_min')] = 'el_'.$i.'_min';
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."_min]");
$SEL->set_id("el_".$i.'_min');
$SEL->set_size(1);
$SEL->set_style(' class="time_minutes"');
if ($FORM[$formname]["el_".$i.'_min'] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_min']);
}
$SEL->add_option( '', '');
foreach (range(0,59,20) as $v){
$v = sprintf('%02d',$v);
$SEL->add_option( $v, $v);
}
$formoutput[] = '
'.$SEL->out().'<br />';
break;
//############
// ENDE DATUMSABFRAGE
case "textarea":
$req='';
if ($element[2] == 1) {$req = $formreq;}
if($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"]){
$FORM[$formname]["el_".$i] = $element[3];
}
if ($element[2] == 1 && (trim($FORM[$formname]["el_".$i]) == "" || trim($FORM[$formname]["el_".$i]) == trim($element[3])) && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
$warning_set = 1;
}
$formoutput[] = '
<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>
<textarea class="formtextfield" cols="40" rows="10" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'">'.htmlspecialchars(stripslashes($FORM[$formname]["el_".$i])).'</textarea><br />';
break;
case "select":
$req='';
if ($element[2] == 1) {$req = $formreq;}
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."]");
$SEL->set_id("el_".$i);
$SEL->set_size(1);
$SEL->set_style(' class="formselect"');
if ($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i]);
}
foreach (explode(";", trim($element[4])) as $v){
$SEL->add_option( $v, $v);
}
if ($element[2] == 1 && trim($FORM[$formname]["el_".$i] )== "" && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
$warning_set = 1;
}
$formoutput[] = '
<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>
'.$SEL->out().'<br />';
break;
case "captchapic":
//Session-Variable prüfen:
if ( !session_is_registered("kcode") ) {
session_register("kcode");
}
if ($REX['REDAXO'] == 1) { $formoutput[] = 'im Backend wird das Captchabild nicht angezeigt'; }
else {
$formoutput[] = '<img src="'.$captchasource.'" class="formcaptcha" alt="Security-Code" title="Security-Code" />'.$element[1].'<br/><br/>';
}
break;
}
}
$charset = "REX_VALUE[9]";
if ($charset == 'UTF-8') {
$acharset = 'accept-charset="UTF-8"';
} else {
$acharset = '';
}
// =================AUSGABE-KOPF============================
$out = '
<div class="formgen">
<form id="'.$formname.'" action="'.rex_getUrl(REX_ARTICLE_ID).'" '.$acharset.' method="post">
<div><input type="hidden" name="FORM['.$formname.']['.$formname.'send]" value="1" /><input type="hidden" name="ctype" value="ctype" /></div>
<input type="hidden" name="token" value="'.$token.'" />';
// =================Formular-generieren=====================
foreach ($formoutput as $v){
if ($formfield != "on") //wenn keine DIVs oder Fieldsets verwendet werden
{
$out .= '<div class="formblock">'.$v.'</div>';
}
else
{
$out .= $v;
}
}
// =================AUSGABE-FUSS============================
$out .= '
<div class="formblock">
<input type="submit" name="FORM['.$formname.']['.$formname.'submit]" value="'.$submitlabel.'" class="formsubmit" />
</div>
</form>
</div>';
// =================SEND MAIL===============================
if (isset($FORM[$formname][$formname.'send']) && $FORM[$formname][$formname.'send'] == 1 && !$warning_set ) {
$_SESSION['token'] = $_POST['token'];
unset($_SESSION["kcode"]); //Captcha-Variable zurücksetzen
unset($_SESSION["formcheck"]); // Vergleichsfeld festlegen
if (rex_post('ctype', 'string') != 'ctype') {
$_POST['ctype'] = 'ctype';
}
$mail = new rex_mailer(); // Mailer initialisieren
$mail->AddAddress("REX_VALUE[1]"); // Absenderadresse
if ( $absendermail != '') { // Wenn absendermail definiert, Sonst übernahme der der PHP-MAiler Einstellung
/*
$mail->Sender = $absendermail; //Absenderadresse
$mail->From = $absendermail; //Absendername
$mail->FromName = $absendermail; // Abdendername
*/
/* FIX vom 16.08.2009 von alexplus */
$mail->Sender = "REX_VALUE[2]"; //Absenderadresse
$mail->From = "REX_VALUE[2]"; //Absendername
$mail->FromName = "REX_VALUE[2]"; // Abdendername
$mail->AddReplyTo($absendermail);
}
if ($formbcc!="")
{
$mail->AddBCC($formbcc);
}
$mail->Subject = "REX_VALUE[4]"; // Betreff
$mail->CharSet = "REX_VALUE[9]"; // Zeichensatz
// HTML-TEST // ---------------------------------------------------------------------
if ("REX_VALUE[12]"!="nein")
{
$mail->IsHTML(true);
}
$fcounter = 1;
$xcounter = 1;
//Ausgabe der einzelnen E-Mail-Zeilen
//dbo($FORM[$formname]);
foreach ($FORM[$formname] as $k => $v)
{
// HTML-AUSGABE
$key = ereg_replace("el_","",$k);
if ($k != $formname.'submit' && $k != $formname.'send' && $AFE[ereg_replace("el_","",$k)][5]!="captcha" && stripslashes($v)!="" && isset ($AFE[ereg_replace("el_","",$k)][1]) && !in_array($AFE[$key][0], $ignore))
{
$v=strip_tags($v);
switch ($AFE[ereg_replace("el_","",$k)][0])
{
case "fieldstart":
$mailbodyhtml.='<h1>'.stripslashes($v).'</h1>';
$mailbody.="\n".'***'.stripslashes($v)."\n".'---------------------------------------------------------'."\n";
break;
case "headline":
$mailbodyhtml.='<h2>'.stripslashes($v).'</h2>';
$mailbody.="\n".'---'.stripslashes($v)."\n".'---------------------------------------------------------'."\n";
break;
default:
$mailbodyhtml.= '<span class="slabel">'.$fcounter.'. '.$AFE[ereg_replace("el_","",$k)][1].": </span>".stripslashes($v).'<br />';
$mailbody .= $xcounter.'. '.$AFE[ereg_replace("el_","",$k)][1].": ".stripslashes($v)."\n";
$fcounter++;$xcounter++;
}
}
}
if ("REX_VALUE[12]"!="nein")
{
$mail->Body = $doformhtml.nl2br($mailbodyhtml).$doformhtmlfooter;
$mail->AltBody = $mailbody.$nonhtmlfooter;
}
else
{$mail->Body = $mailbody.$nonhtmlfooter;
}
$mail->Send(); // Versenden
// =================MAIL-RESPONDER============================
$responder = "REX_VALUE[10]";
if (isset($FORM[$formname][$formname.'send']) && $FORM[$formname][$formname.'send'] == 1 && $responder == 'ok' && !$warning_set ) {
$mail = new rex_mailer();
$mail->AddAddress($absendermail);
$mail->Sender = "REX_VALUE[2]";
$mail->From = "REX_VALUE[2]";
$mail->FromName = "REX_VALUE[8] |".$REX['SERVERNAME'];
$mail->Subject = "REX_VALUE[4]";
$mail->CharSet = "REX_VALUE[9]";
#### Datei versenden ####
if ("REX_FILE[1]" != '') {
$mail->AddAttachment($redaxofile);
}
if ($sendfullmail!="ja")
{
$mail->Body = $responsemail.$nonhtmlfooter;
}
else
{
$mail->Body = $responsemail."\n-----------------------------------------------\n".$mailbody.$nonhtmlfooter;
}
$mail->Send(); // Versenden
}
// =================MAIL-RESPONDER-ENDE=========================
?>
<div id="form-module-thanks">REX_HTML_VALUE[6]</div>
<?php
$noform = 1;
}
else {
$noform = 0;
}
//if (count($warning) > 0) {
if ($warning_set) {
echo '<div class="forminfo">'; echo($fError.$freload); echo '</div>';
print $out;
} else {
if ($noform != 1) {
print $out;
}
}
?>
Der Sicherheitscode wird auch angezeigt. Allerdings kommt immer ein Fehler ich soll meine Einhabe überprüfen. Hast du ein Tipp ?