<?php

   @session_start();

   // 29.09.2010 Mail-Skript von Panda aus dem www.NOF-Forum.de, modifiziert von Thomas Frei-Herrmann inklusive Datepicker
   // 1.) Auf neue Seite bei Spam-Angriff leiten, dazu muss die Seite "banned.html" zusätzlich angelegt werden
   // 2.) Option für Kopie der Mail an Benutzer eingefügt,
   //     dazu muss die Checkbox mit dem Namen "UserSend" und dem Wert "on" angelegt werden
   // 3.) Datum-Felder "datepicker" und "datepicker2" im Formular anlegen (falls erwünscht)


   if (isset($_POST['action']) && ($_POST['action']=='send')) {

      $timenow=time();

      // 30.09.2010 von Thomas - zwei Datumsfelder vergleichen "datepicker" und "datepicker2"
      //                 wobei "datepicker" kleiner oder gleich "datepicker2" sein soll

      // SESSION-Variable gründen zur Abfrage, ob die Datums-Eingabe korrekt war
      $_SESSION['richtig']="JA";

      // Rechen-Variable gründen aus dem Inhalt des 1. Datums-Feldes
      $var1  = $_POST['datepicker'];

      // Inhalt des 1. Datums-Feldes in Tag, Monat, Jahr zerlegen
      $day1  = substr($var1,0,2);
      $month1= substr($var1,3,2);
      $year1 = substr($var1,6,4);
 
      // Variable gründen, die den UNIX-Timestamp als Wert zurück gibt
      $timestamp1 = mktime(0,0,0, $month1, $day1, $year1);

      // Rechen-Variable gründen aus dem Inhalt des 2. Datum-Feldes
      $var2  = $_POST['datepicker2'];

      // Inhalt des 2. Datums-Feldes in Tag, Monat, Jahr zerlegen
      $day2  = substr($var2,0,2);
      $month2= substr($var2,3,2);
      $year2 = substr($var2,6,4);
 
      // Variable gründen, die den UNIX-Timestamp als Wert zurück gibt
      $timestamp2 = mktime(0,0,0, $month2, $day2, $year2);

      // Wenn Enddatum kleiner als Startdatum abbrechen
      if ($timestamp2 < $timestamp1) {
         // Bei falscher Datums-Eingabe SESSION-Variabel umsetzen und zum Formular zurückkehren
         $_SESSION['richtig']="NEIN";
         // SESSION-Variablen für ALERT-Befehl gründen
         $_SESSION['Startdatum']=$_POST['datepicker'];
         $_SESSION['Enddatum']=$_POST['datepicker2'];
         header ('location: http://www.DeineDomain.de/html/kontakt.php');
         exit;
      }

 
      if (($timenow-$_POST['zeit'])<=10) {   // 10, 20, usw. sind die Sekunden, die diese Seite geöffnet sein muss
         header ('location: http://www.DeineDomain.de/html/banned.html');
         exit;
        
        } else {

         // Variablen für Administrator-Mail sowie Datum und Zeit gründen
         // e-Mail vom Administrator
         $admin = 'Mail@DeineDomain.de';
         // Datum und Zeit ermitteln
         $timestamp = time();
         $datum = date("d.m.Y",$timestamp);
         $uhrzeit = date("H:i",$timestamp);

         // BEGINN Betreff-Zeile an Empfänger mit Post-Variablen der Eingabe-Felder des Formulars
         $subject1 = "Formulareingabe von ";
         $subject1 .= $_POST['Geschlecht'] . " " . $_POST['Vorname'] . " " . $_POST['Name'] . " aus " . $_POST['Ort'];
         // ENDE Betreff-Zeile an Empfänger

         $subject2 = "Vielen Dank für Deine Nachricht an den Webmaster";
         $message = "Nachrichten an ".$admin.":\n\n";

         // BEGINN Mail an Benutzer
         $useremail=$_POST['E-Mail'];
         // Text an Benutzer
         if ($_POST['Geschlecht']=="Herr")
         {
            $sendUser  = "Lieber ";
         } else {
            $sendUser  = "Liebe ";
         }
         $sendUser .= $_POST['Geschlecht'] . " " . $_POST['Vorname'] . " " . $_POST['Name'] . " aus " . $_POST['Ort'] . ",\n\n";
         $sendUser .= "Vielen Dank für Deine Nachricht.\n\nDu hast folgendes geschrieben:\n\n";
         $sendUser .= $_POST['Nachricht'];
         $sendUser .= "\n\nDu bittest um Kontakt via " . $_POST['Kontaktper'] . " zwischen dem " . $_POST['datepicker'] . " und dem " . $_POST['datepicker2'] . ".";
         $sendSign  = "\n\n\n\nGruß Webmaster";
         // ENDE Mail an Benutzer
 
         // Schleife für Abfrage aller Felder des Eingabe-Formulars
         foreach($_POST as $name=>$value) {

            // if - Bedingung überspringt "Arbeits-Felder", die ich in meiner Mail nicht angezeigt haben möchte
            // verbunden mit dem Operator && (und) folgende Felder: action und zeit und den Button Senden
            if ($name <> "action" && $name <> "zeit" && $name <> "Senden")
            {

               // Nur Felder aufnehmen, die einen Eintrag haben
               if (trim($value)<>"")
               {

                  // Wenn Feld "Nachricht" (also der Text) dann Geschlecht, Vorname, Name, Ort
                  // sowie Datum und Uhrzeit sowie den Text unten aufnehmen und ganz unten an Mail, nach allen anderen Feldern, anhängen
                  if ($name == "Nachricht")
                  {
                     $UserText  = "\n\n\n" . $_POST['Geschlecht'] . " " . $_POST['Vorname'] . " " . $_POST['Name'] . " aus " . $_POST['Ort'] ."\n";
                     $UserText .= "hat am " . $datum . " um " . $uhrzeit . " Uhr folgende Nachricht geschrieben:\n\n";
                     $UserText .= "$value";

                  // sonst alle Felder an Mail anhängen
                  } else {

                     $message .= "$name: $value\n";

                  }                 
               }
            }
         }

         // Variable $UserText noch an Variable $message anhängen, da der Text bei mir immer ganz unten stehen soll
         $message .= $UserText;
 
         // Mail an Absender, wenn dieser das angehakt hatte
         if (isset($_POST['UserSend']) && ($_POST['UserSend']=='on'))
         {
            mail($useremail, $subject2, $sendUser . $sendSign, "From:Absender@DeineDomain.de");
         }

 
         // Mail an Webmaster der Website senden mit Mail-Adresse des Absenders
         mail($admin, $subject1, $message, "From:$useremail");
         header ('location: http://www.DeineDomain.de/html/danke.html');
         exit;

      }

   }

?>