'; $msg['tplstyle'] = '
'; } else { $msg['style'] = '
'; $msg['tplstyle'] = '
'; } if ($MessageTemplate and file_exists($MessageTemplate)) { $handle = @fopen($MessageTemplate,'r'); $MsgTPL = @fread($handle,filesize($MessageTemplate)); @fclose($handle); $MsgTPL = explode("[MMEX]",$MsgTPL); $msg['header'] = $MsgTPL[0].$msg['tplstyle']; $msg['footer'] = "
" . $MsgTPL[1]; } else { $msg['header'] = $msg['style']; $msg['footer'] = "


"; } #=========================================================== # ERROR MESSAGES #=========================================================== $msg['banned'] = "Ihre IP-Adresse ist gesperrt."; $msg['nosubmit'] = "Das Formular konnte nicht versendet werden. Es wurde keine Aktion eingestellt."; $msg['recent'] = "Es wurde bereits eine Mail von Ihnen versendet. Sie können das Formular maximal jede $Interval Minute(n) versenden."; $msg['norecipient'] = "Diese E-Mail kann nicht versendet werden. Es wurde kein Empfänger eingestellt."; $msg['required'] = "Bitte füllen Sie die folgenden Felder aus:"; $msg['confirmed'] = "Folgende Eingaben müssen übereinstimmen, damit das Formular versendet werden kann:"; $msg['formatted'] = "Folgende Felder wurden in einer ungültigen Form ausgefüllt. Bitte korrigieren Sie Ihre Eingabe, damit das Formular versendet werden kann."; #=========================================================== # CHECK FLOOD CONTROL (PRE-SUBMISSION) #=========================================================== if ($FloodControl == "1" and file_exists('data/flood.log')) { $Seconds = $Interval * 60; $handle = @fopen('data/flood.log','r'); @flock($handle, LOCK_SH); $LogData = @fread($handle,filesize('flood.dat')); $LogData = explode("#",$LogData); for ($x=0;$x" . $EmptyFields . "LAST"; } #=========================================================== # CHECK FIELDS FOR CONFIRMATION #=========================================================== if ($Confirm) { $Confirmed = explode(",",$Confirm); for($i=0;$i" . $WrongFields . "
"; else if ($WrongFields and $Errors) $Errors .= "
" . $msg['confirmed'] . "
    " . $WrongFields . "

"; } #=========================================================== # CHECK FORMATTED FIELDS #=========================================================== if ($Format) { $Formatted = explode(",",$Format); for ($x=0;$x") // MAXIMUM CHAR FORMAT { $Length = substr($Field,-2); $Field = substr($Field,0,-2); if (substr($Length,0,1) == "0") $Length = substr($Length,-1); if ($_POST[$Field]) { if(strlen($_POST[$Field]) > $Length) { $mark[$Field] = true; $ermsg[$Field] = "$Field muss mindestens $Length Zeichen lang sein."; //$Field = str_replace("_"," ",$Field); $Field = ucfirst($Field); $IncorrectFields .= "
  • $Field darf höchstens $Length Zeichen lang sein.
  • "; if ($Preview == "1") $RedFields .= "$Field,"; } } } if ($Format == "@" and $_POST[$Field]) // EMAIL FORMAT { if(!eregi('^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$',$_POST[$Field])) { $mark[$Field] = true; $ermsg[$Field] = "$Field muss im korrekten E-Mail-Format angegeben sein."; //$Field = str_replace("_"," ",$Field); $Field = ucfirst($Field); $IncorrectFields .= "
  • $Field muss im korrekten E-Mail-Format angegeben sein.
  • "; if ($Preview == "1") $Redfields .= "$Field,"; } $Host = explode("@",$_POST[$Field]); // if (!checkdnsrr($Host[1].'.', 'MX')) // { // //$Field = str_replace("_"," ",$Field); // $Field = ucfirst($Field); // $IncorrectFields .= "
  • $Field muss eine existierende Domain in der E-Mail-Adresse enthalten.
  • "; // if ($Preview == "1") // $Redfields .= "$Field,"; // } } if ($Format == "#" and $_POST[$Field]) // PHONE NUMBER FORMAT { if (!eregi('([0-9]{3})-([0-9]{3})-([0-9]{4})', $_POST[$Field]) and !eregi('([0-9]{3})\.([0-9]{3})\.([0-9]{4})', $_POST[$Field]) and !eregi('([0-9]{3}) ([0-9]{3}) ([0-9]{4})', $_POST[$Field]) and !eregi('(\([0-9]{3}\))-([0-9]{3})-([0-9]{4})', $_POST[$Field]) and !eregi('(\([0-9]{3}\))\.([0-9]{3})\.([0-9]{4})', $_POST[$Field]) and !eregi('(\([0-9]{3}\)) ([0-9]{3}) ([0-9]{4})', $_POST[$Field]) and !eregi('(\([0-9]{3}\)) ([0-9]{3})-([0-9]{4})', $_POST[$Field]) and !eregi('(\([0-9]{3}\)) ([0-9]{3})\.([0-9]{4})', $_POST[$Field])) { $mark[$Field] = true; $ermsg[$Field] = "$Field muss in einem gültigen Telefonnummern-Format angegeben sein."; //$Field = str_replace("_"," ",$Field); $Field = ucfirst($Field); $IncorrectFields .= "
  • $Field muss in einem gültigen Telefonnummern-Format angegeben sein.
  • "; if ($Preview == "1") $RedFields .= "$Field,"; } } if ($Format == "Z" and $_POST[$Field]) // ZIP CODE FORMAT { if (!eregi('([0-9]{5})', $_POST[$Field])) { $mark[$Field] = true; $ermsg[$Field] = "$Field muss in einem gültigen Format für Postleitzahlen angegeben sein."; //$Field = str_replace("_"," ",$Field); $Field = ucfirst($Field); $IncorrectFields .= "
  • $Field muss in einem gültigen Format für Postleitzahlen angegeben sein.
  • "; if ($Preview == "1") $RedFields .= "$Field,"; } } if ($Format == "S" and $_POST[$Field]) // STATE FORMAT { if (!eregi('([a-zA-Z]{2})', $_POST[$Field])) { $mark[$Field] = true; $ermsg[$Field] = "$Field muss in einem gültigen Format für Staaten angegeben sein."; //$Field = str_replace("_"," ",$Field); $Field = ucfirst($Field); $IncorrectFields .= "
  • $Field muss in einem gültigen Format für Staaten angegeben sein.
  • "; if ($Preview == "1") $RedFields .= "$Field,"; } } if ($Format == "N" and $_POST[$Field] > "") // NUMERIC ONLY FORMAT { if (eregi('([a-zA-Z_\-])', $_POST[$Field]) || eregi(' ', $_POST[$Field])) { $mark[$Field] = true; $ermsg[$Field] = "$Field darf ausschließlich Ziffern enthalten."; //$Field = str_replace("_"," ",$Field); $Field = ucfirst($Field); $IncorrectFields .= "
  • $Field darf ausschließlich Ziffern enthalten.
  • "; if ($Preview == "1") $RedFields .= "$Field,"; } } if ($Format == "A" and $_POST[$Field]) // ALPHA ONLY FORMAT { if (eregi('([0-9])', $_POST[$Field])) { $mark[$Field] = true; $ermsg[$Field] = "$Field darf ausschließlich Buchstaben enthalten."; //$Field = str_replace("_"," ",$Field); $Field = ucfirst($Field); $IncorrectFields .= "
  • $Field darf ausschließlich Buchstaben enthalten.
  • "; if ($Preview == "1") $RedFields .= "$Field,"; } } } if ($IncorrectFields and !$Errors) $Errors = "
      " . $IncorrectFields . "
    "; else if ($IncorrectFields and $Errors) $Errors .= $IncorrectFields; } #======================================= # CHECK ATTACHMENT EXTENSION #======================================= if ($AllowedExt and ($ATTACH[0][0] or $ATTACH[1][0] or $ATTACH[2][0])) { for ($x=0;$x $MaxSize) { $Errors .= "
    ".$ATTACH[$x][0]." überschreitet die maximale Datei-Größe von $MaxFileSize KB.
    "; } $i = strrpos($ATTACH[$x][0],"."); $l = strlen($ATTACH[$x][0]) - $i; $Ext = substr($ATTACH[$x][0],$i+1,$l); $Ext = strtolower($Ext); if ($Ext) { if (!strstr($AllowedExt,$Ext)) { $Errors .= "
    .$Ext ist ein ungültiges Dateiformat. Folgende Dateiformate sind erlaubt:
      "; $Allowed = explode(",",$AllowedExt); for($x=0;$x"; } $Errors .= "

    "; } } } } //************************************************************ // Formular generieren by Alex //************************************************************ /*if ($Errors and $Preview != "1") exit ($msg['header'].$Errors.$msg['footer']); else if ($Errors and $Preview == "1" and !$Refresh) exit ($msg['header'].$Errors."
    ".$HTML['preview'].$HTML['form'].$msg['footer']); else if ($Preview == "1" and !$Refresh) exit ($msg['header'].$HTML['preview'].$HTML['form'].$msg['footer']); */ // Statt der Funktion oben nun die Formularinterpretation //print_r($_POST); if(!$_POST['sent'] || $Errors){ $fp = fopen($form_template, r); $output = fread($fp, filesize($form_template)); fclose($fp); preg_match_all(trim("|§%(.*)%§|U"), $output, $field); $felder_ohne = array(); $felder_mit = array(); $felder_mit = $field[0]; $felder_ohne = $field[1]; for ($i=0;$i"; break; case 'file': $html_out = ""; break; case 'password': $html_out = ""; break; case 'textarea': $html_out = ""; break; case 'select': $html_out = ""; break; case 'checkbox': $formularbezeichner = preg_split('[\[|\]]',$feld[$i]['name']); if ($sent) { if ($_POST["{$formularbezeichner[0]}"]["{$formularbezeichner[1]}"] == $feld[$i]['value']) { $html_out = ""; } else { $html_out = ""; } } else { if (!empty($feld[$i]['selected']) && $feld[$i]['selected'] == 'true') { $html_out = ""; } else { $html_out = ""; } } break; case 'radio': if (!empty($_POST["{$feld[$i]['name']}"])) { if ($_POST["{$feld[$i]['name']}"] == $feld[$i]['value']) { $html_out = ""; } else { $html_out = ""; } } else { if (!empty($feld[$i]['selected']) && $feld[$i]['selected'] == 'true') { $html_out = ""; } else { $html_out = ""; } } break; } //******************************************interpretation nd***************************************** if ($mark[$feld[$i]['name']] && $_POST['sent']) $html_out .= "

    "; global $fehler; if ($mark[$feld[$i]['name']] && $_POST['sent']) { $fehler = "ja"; } $output = str_replace(trim($felder_mit[$i]), $html_out, $output); } if ($fehler == "ja") { //print_r($feld[4]['name']); for($z = 0; $z<= count($feld); $z++) { //echo $feld[$z]['name'].$feld[$z]['label']; $Errors = preg_replace("/".ucfirst($feld[$z]['name'])."/",$feld[$z]['label'],$Errors); } $fehlermeldung = '

    Beim Absenden Ihrer Bestellung sind Fehler aufgetreten:

      '.$Errors.'
    '; $output = preg_replace("#ERRORS#", $fehlermeldung, $output); $output = str_replace(", LAST", "", $output); $output = preg_replace("#class=\"seperater-fehler#", "class=\"seperater-fehler ermsg", $output); } else { $output = preg_replace("#ERRORS#", "", $output); } echo $output; exit; } #=========================================================== # CHOOSE ACTION #=========================================================== if (!$Action) exit($msg['header'] . $msg['nosubmit'] . $msg['footer']); ######################################################################### # EMAIL FUNCTIONS # ######################################################################### if ($Action == "E" or $Action == "EC" or $Action == "ED" or $Action == "EF" or $Action == "ECD"){ while (list ($key, $val) = each ($_EMAIL)) { if ($key != "Settings" and $key != "Refresh") { $val = stripslashes($val); $val = str_replace('"','"',$val); $val = strip_tags($val); $key = ucfirst($key); $key = str_replace("_"," ",$key); $EMAIL['text'] .= "$key: $val\r\n"; $val = nl2br($val); $EMAIL['form'] .= "$key:  $val
    "; $EMAIL['html'] .= "$key$val"; } } if (!$Recipient) exit ($msg['header'] . $msg['norecipient'] . $msg['footer']); if (!$Subject) $Subject = 'Form Submission'; #=========================================================== # Email Templates #=========================================================== $EMAIL['textemail'] = " Sehr geehrter Empfänger,\r\n Eine neue Nachricht wurde übermittelt: $Time.\r\n\r\n ***Formular-Ergebnisse***\r\n ".$EMAIL['text']." Browser des Users: $Browser\r\n IP-Addresse des Users: $IPAddress\r\n\r\n "; if ($EmailTemplate) { $handle = @fopen($EmailTemplate,'r'); $EMAIL['htmlemail'] = @fread($handle,filesize($EmailTemplate)); @fclose($handle); if (!strstr($EMAIL['htmlemail'],'[ALL]')) { while(list($key,$val) = each($_HTML)) { $insert = "[".$key."]"; $val = stripslashes($val); $val = strip_tags($val); $val = nl2br($val); $EMAIL['htmlemail'] = str_replace($insert,$val,$EMAIL['htmlemail']); } } else $EMAIL['htmlemail'] = str_replace('[ALL]',$EMAIL['form'],$EMAIL['htmlemail']); $EMAIL['htmlemail'] = str_replace("[Received]",$Time,$EMAIL['htmlemail']); $EMAIL['htmlemail'] = str_replace("[IPAddress]",$IPAddress,$EMAIL['htmlemail']); $EMAIL['htmlemail'] = str_replace("[Browser]",$Browser,$EMAIL['htmlemail']); $EMAIL['htmlemail'] = str_replace("[ID]",$ID,$EMAIL['htmlemail']); $EMAIL['htmlemail'] = str_replace("[Attach1]",$ATTACH[0][0],$EMAIL['htmlemail']); $EMAIL['htmlemail'] = str_replace("[Attach2]",$ATTACH[1][0],$EMAIL['htmlemail']); $EMAIL['htmlemail'] = str_replace("[Attach3]",$ATTACH[2][0],$EMAIL['htmlemail']); } else { $EMAIL['htmlemail'] = '
    Submission: '.$ID.'
    THANK YOU FOR CHOOSING MAIL MANAGE EX!


    '.$Time.'
    IP: '.$IPAddress.'

    '.$Browser.'
    Dear Admin,

    This is a notice that a new submission has been generated by Mail Manage EX.

    ***Form Results***

    '.$EMAIL['html'].'


    Please let us know if you have any questions!

    Sincerely,

    Mail Manage EX Notifier

    Copyright © 2003-2004, Gregg Kenneth Jewell.
     Support MMEX by making a donation today!!
    '; } #=========================================================== # Put Header Information in Email #=========================================================== $rand = md5(time()); $MimeBoundary = "MMEX". $rand; $Headers = "From: $SendFrom\n"; $Headers .= "Reply-to: $SendFrom\n"; $Headers .= "Return-Path: $SendFrom\n"; if ($CC) $Headers .= "cc: $CC\n"; $Headers .= "X-Mailer: My PHP Mailer\n"; $Headers .= "MIME-Version: 1.0\n"; if ($AttachmentFields and ($ATTACH[0][0] or $ATTACH[1][0] or $ATTACH[2][0])) $Headers .= "Content-Type: multipart/mixed; charset=\"iso-8859-1\"; boundary=\"$MimeBoundary\";\n"; else $Headers .= "Content-Type: multipart/alternative; charset=\"iso-8859-1\"; boundary=\"$MimeBoundary\";\n"; $Headers .= "This is a multi-part message in MIME format.\n"; if ($TextEmails == "1") { $Content .= "--$MimeBoundary\n"; $Content .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; $Content .= "Content-Transfer-Encoding: 8bit\n"; $Content .= $EMAIL['textemail']."\n"; } if ($HtmlEmails == "1") { $Content .= "--$MimeBoundary\n"; $Content .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"; $Content .= "Content-Transfer-Encoding: 8bit\n"; $Content .= $EMAIL['htmlemail']."\n"; } if ($AttachmentFields) { for ($x=0;$xquery($sql); if (!$result) { die ('Etwas stimmte mit dem Query nicht: '.$db->error); } } // END OF ACTION ######################################################################### # POST SUBMIT FUNCTIONS # ######################################################################### #=========================================================== # SAVE FLOOD CONTROL DATA (POST-SUBMISSION) #=========================================================== if ($FloodControl == "1") { $LogData = $IPAddress . "|" . $MkTime . "#"; $handle = @fopen('data/flood.log','a'); @flock($handle,LOCK_EX); @fwrite($handle,$LogData); @flock($handle,LOCK_UN); @fclose($handle); } #=========================================================== # Auto Respond Information #=========================================================== if ($AutoRespond == "1") { if (!$AutoSubject) $AutoSubject = 'Vielen Dank für Ihre Nachricht. Wir werden uns umgehend mit Ihnen in Verbindung setzen.'; if ($AutoTemplate and file_exists($AutoTemplate)) { $handle = @fopen($AutoTemplate,'r'); $AutoContent = @fread($handle,filesize($AutoTemplate)); @fclose($handle); while(list($key,$val) = each($_AUTO)) { $insert = "[".$key."]"; $val = stripslashes($val); $val = strip_tags($val); $val = nl2br($val); $AutoContent = str_replace($insert,$val,$AutoContent); $AutoContent = str_replace("[Received]",$Time,$AutoContent); $AutoContent = str_replace("[ID]",$ID,$AutoContent); $AutoContent = str_replace("[Attach1]",$ATTACH[0][0],$AutoContent); $AutoContent = str_replace("[Attach2]",$ATTACH[1][0],$AutoContent); $AutoContent = str_replace("[Attach3]",$ATTACH[2][0],$AutoContent); } } if (!$AutoContent) $AutoContent = "Thank you for your submmission. We will contact you shortly."; if ($AutoFromName) $AutoHeaders = "From: \"$AutoFromName\" <$Recipient>\n"; else $AutoHeaders = "From: $Recipient\n"; $AutoHeaders .= "MIME-Version: 1.0\nContent-Type: text/html; charset=ISO-8859-1\nContent-Transfer-Encoding: 8bit\n\n"; @mail($SendFrom,$AutoSubject,$AutoContent,$AutoHeaders); } #=========================================================== # REDIRECT OR THANK YOU #=========================================================== if (!$Redirect) { if (!$ThankYou) $ThankYou = '

    Vielen Dank für Ihre Nachricht.

    Wir werden uns umgehend mit Ihnen in Verbindung setzen.

    '; exit ($msg['header'] . "$ThankYou". $msg['footer']); } else echo ""; function build_form(){ } ?>