@ 2015-04-15T18:16:08Z <?php
define("EMAIL_ADDRESS_WEBMASTER", "bestellung@reinarts.info");
define("EMAIL_ADDRESS_PRODUCER", "bestellung@reinarts.info");
define("EMAIL_SUBJECT_CUSTOMER_CONFIRMATION", "Muesli-Bestellung");
define("EMAIL_SUBJECT_PRODUCER_INFO", "Neue Bestellung");
/**
* Verschickt Emails an den Kunden und den Hersteller.
*/
class Mailer {
/**
* Erzeugt und sendet die Bestaetigungsmail an den Kunden.
*/
function sendToCustomer($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g, $preis) {
// Header erzeugen
$header = Mailer::createHeader(EMAIL_ADDRESS_PRODUCER);
// Maintext erzeugen
$mailtext = Mailer::createMailTextForCustomer($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g, $preis);
// Subject
$subject = EMAIL_SUBJECT_CUSTOMER_CONFIRMATION;
// Email verschicken
mail($email, $subject, wordwrap($mailtext), $header);
}
/**
* Erzeugt den Inhalt der Bestaetigungsmail an den Kunden.
*/
function createMailTextForCustomer($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g, $preis){
$timestamp = time();
$datum = date("d.m.Y-H:i", $timestamp);
$mailtext = "<html>";
$mailtext .= "<head><title>Reinarts Müsli Bestellung</title></head>";
$mailtext .= "<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />";
$mailtext .= "<body>";
$mailtext = "<h1>Granola Müsli made by Reinart's</h1>";
$mailtext .= "<img src='http://reinarts.info/images/muesli_mailheader.png' alt='header'/>";
$mailtext .= "<p>Vielen Dank für Ihre Bestellung vom " . $datum . "!</p>";
$mailtext .= "<table border='0'>";
$mailtext .= "<tr>";
$mailtext .= "<td>";
$mailtext .= Mailer::createInfoTable($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g, $preis);
$mailtext .= "</td>";
$mailtext .= "<td><img src='http://reinarts.info/images/muesli_mailpicture.png' alt='picture'/></td>";
$mailtext .= "</tr>";
$mailtext .= "</table>";
$mailtext .= "<p>Bitte bestätigen Sie Ihre Bestellung und damit unsere <a href='http://reinarts.info/agb.html'>AGBs</a> durch klicken dieses Links.</p>";
$mailtext .= Mailer::createConfirmationLink($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g, $preis, $datum);
$mailtext .= "</body>";
$mailtext .= "</html>";
return $mailtext;
}
/**
* Erzeugt und sendet die Email vom Kunden an den Hersteller.
*/
function sendToProducer($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g, $preis, $datum) {
// Header erzeugen
$header = Mailer::createHeader($email);
// Maintext erzeugen
$mailtext = Mailer::createMailTextForProducer($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g, $preis, $datum);
// Subject
$subject = EMAIL_SUBJECT_PRODUCER_INFO;
// Email verschicken
mail(EMAIL_ADDRESS_PRODUCER, $subject, $mailtext, $header);
}
/**
* Erzeugt den Inhalt der Email vom Kunden an den Hersteller.
*/
function createMailTextForProducer($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g, $preis, $datum){
$mailtext = "<html>";
$mailtext .= "<head><title>Reinart's M¸sli Bestellung</title></head>";
$mailtext .= "<body>";
$mailtext .= "<h1>Eingangsbestätigung (Bestellung vom " . $datum . ")</h1>";
$mailtext .= Mailer::createInfoTable($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g, $preis);
$mailtext .= "</body>";
$mailtext .= "</html>";
return $mailtext;
}
/**
* Erzeugt den MailHeader UTF-8\r\n
*/
function createHeader($sender){
$header = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$header .= 'From: ' . $sender . "\r\n";
$header .= 'Reply-To: ' . $sender . "\r\n";
$header .= 'X-Mailer: PHP ' . phpversion();
return $header;
}
/**
* Erzeugt die Info-Tabelle fuer beide Emails.
*/
function createInfoTable($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g, $preis){
$infoTable = "<table height='149' border='1'>";
$infoTable .= Mailer::createInfoRow("Name", $name);
$infoTable .= Mailer::createInfoRow("Email", $email);
$infoTable .= Mailer::createInfoRow("Strasse", $strasse);
$infoTable .= Mailer::createInfoRow("Postleitzahl", $plz);
$infoTable .= Mailer::createInfoRow("Stadt", $stadt);
$infoTable .= Mailer::createInfoRow("Menge 250g", $menge250g);
$infoTable .= Mailer::createInfoRow("Menge 500g", $menge500g);
$infoTable .= Mailer::createInfoRow("Gesamtpreis", $preis);
$infoTable .= "</table>";
return $infoTable;
}
/**
* Erzeugt eine Zeile der Info-Tabelle.
*/
function createInfoRow($key, $value){
return "<tr><td>" . $key . ":</td><td>" . $value . "</td></tr>";
}
/**
* Erzeugt den a-Tag fuer die Bestaetigungsmail.
*/
function createConfirmationLink($name, $email, $strasse, $plz, $stadt, $menge250g, $menge500g, $preis, $datum){
$parameters = Mailer::createConfirmationLinkParam("name", $name);
$parameters .= Mailer::createConfirmationLinkParam("email", $email);
$parameters .= Mailer::createConfirmationLinkParam("strasse", $strasse);
$parameters .= Mailer::createConfirmationLinkParam("plz", $plz);
$parameters .= Mailer::createConfirmationLinkParam("stadt", $stadt);
$parameters .= Mailer::createConfirmationLinkParam("menge250g", $menge250g);
$parameters .= Mailer::createConfirmationLinkParam("menge500g", $menge500g);
$parameters .= Mailer::createConfirmationLinkParam("preis", $preis);
$parameters .= substr(Mailer::createConfirmationLinkParam("datum", $datum), 0, -1);
return "<a href='http://reinarts.info/order/confirm.php?" . $parameters . "'>Bestellung bestätigen</a>";
}
/**
* Erzeugt ein Key-Value-Paar fuer den a-Tag fuer die Bestaetigungsmail.
*/
function createConfirmationLinkParam($key, $value){
return $key . "=" . urlencode($value) . "&";
}
}
?>
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).
Version System time (s) User time (s) Memory (MiB) 7.4.0 0.006 0.012 15.08 7.3.12 0.013 0.007 14.77 7.3.11 0.007 0.007 14.56 7.3.10 0.000 0.012 14.90 7.3.9 0.006 0.013 14.96 7.3.8 0.003 0.010 14.95 7.3.7 0.006 0.009 14.68 7.3.6 0.009 0.006 14.78 7.3.5 0.000 0.013 14.64 7.3.4 0.003 0.007 14.50 7.3.3 0.012 0.003 14.78 7.3.2 0.013 0.007 16.41 7.3.1 0.006 0.010 16.35 7.3.0 0.006 0.006 16.28 7.2.25 0.010 0.007 14.88 7.2.24 0.004 0.015 14.71 7.2.23 0.007 0.011 14.97 7.2.22 0.006 0.013 14.98 7.2.21 0.006 0.012 14.76 7.2.20 0.000 0.013 14.74 7.2.19 0.009 0.006 14.61 7.2.18 0.009 0.006 14.71 7.2.17 0.006 0.006 14.94 7.2.0 0.000 0.013 19.19 7.1.33 0.007 0.007 15.70 7.1.32 0.011 0.004 15.56 7.1.31 0.010 0.007 15.70 7.1.30 0.000 0.014 15.46 7.1.29 0.004 0.011 15.38 7.1.28 0.009 0.006 15.36 7.1.27 0.009 0.006 15.48 7.1.26 0.006 0.013 15.49 7.1.10 0.007 0.010 17.64 7.1.7 0.012 0.000 17.01 7.1.6 0.009 0.009 19.46 7.1.5 0.006 0.016 16.69 7.1.0 0.003 0.077 22.29 7.0.20 0.005 0.003 16.59 7.0.14 0.000 0.060 22.09 7.0.10 0.047 0.067 20.13 7.0.9 0.003 0.047 20.07 7.0.8 0.010 0.053 20.01 7.0.7 0.013 0.077 20.01 7.0.6 0.017 0.077 19.97 7.0.5 0.007 0.083 20.41 7.0.4 0.010 0.087 20.09 7.0.3 0.013 0.073 20.04 7.0.2 0.007 0.077 20.09 7.0.1 0.007 0.037 20.14 7.0.0 0.007 0.087 20.07 5.6.28 0.000 0.077 21.04 5.6.25 0.013 0.043 20.66 5.6.24 0.013 0.073 20.64 5.6.23 0.013 0.080 20.79 5.6.22 0.010 0.083 20.71 5.6.21 0.007 0.043 20.66 5.6.20 0.000 0.070 20.93 5.6.19 0.007 0.083 21.10 5.6.18 0.003 0.083 21.12 5.6.17 0.007 0.080 21.00 5.6.16 0.010 0.070 21.06 5.6.15 0.003 0.080 20.99 5.6.14 0.010 0.067 21.08 5.6.13 0.000 0.087 21.07 5.6.12 0.010 0.080 21.07 5.6.11 0.003 0.043 21.04 5.6.10 0.000 0.043 20.96 5.6.9 0.010 0.033 21.13 5.6.8 0.007 0.037 20.36 5.6.7 0.007 0.037 20.46 5.6.6 0.010 0.033 20.36 5.6.5 0.007 0.060 20.54 5.6.4 0.007 0.043 20.41 5.6.3 0.007 0.070 20.48 5.6.2 0.003 0.043 20.43 5.6.1 0.003 0.040 20.45 5.6.0 0.003 0.040 20.30 5.5.38 0.007 0.090 20.53 5.5.37 0.010 0.080 20.40 5.5.36 0.003 0.067 20.48 5.5.35 0.017 0.040 20.46 5.5.34 0.007 0.077 20.66 5.5.33 0.013 0.040 20.77 5.5.32 0.003 0.077 20.84 5.5.31 0.013 0.073 20.91 5.5.30 0.010 0.067 20.91 5.5.29 0.013 0.073 20.80 5.5.28 0.007 0.087 20.89 5.5.27 0.000 0.053 20.94 5.5.26 0.010 0.037 20.80 5.5.25 0.007 0.037 20.48 5.5.24 0.003 0.040 20.26 5.5.23 0.000 0.050 20.22 5.5.22 0.007 0.037 20.32 5.5.21 0.007 0.057 20.32 5.5.20 0.007 0.037 20.20 5.5.19 0.003 0.083 20.12 5.5.18 0.003 0.073 20.20 5.5.16 0.007 0.037 20.25 5.5.15 0.007 0.037 20.30 5.5.14 0.003 0.040 20.30 5.5.13 0.003 0.040 20.25 5.5.12 0.003 0.037 20.14 5.5.11 0.007 0.060 20.03 5.5.10 0.003 0.050 20.20 5.5.9 0.007 0.033 20.20 5.5.8 0.007 0.037 20.11 5.5.7 0.007 0.040 20.19 5.5.6 0.007 0.037 20.19 5.5.5 0.010 0.057 20.12 5.5.4 0.000 0.040 20.13 5.5.3 0.007 0.073 19.99 5.5.2 0.003 0.040 20.17 5.5.1 0.007 0.037 20.09 5.5.0 0.007 0.040 19.98 5.4.45 0.010 0.073 19.23 5.4.44 0.003 0.090 19.36 5.4.43 0.000 0.043 19.37 5.4.42 0.000 0.040 19.53 5.4.41 0.003 0.063 19.24 5.4.40 0.000 0.043 18.86 5.4.39 0.007 0.033 19.18 5.4.38 0.017 0.023 19.02 5.4.37 0.007 0.057 18.95 5.4.36 0.010 0.067 19.23 5.4.35 0.000 0.040 19.11 5.4.34 0.013 0.027 18.90 5.4.32 0.007 0.070 18.91 5.4.31 0.007 0.043 19.18 5.4.30 0.003 0.047 19.23 5.4.29 0.007 0.053 19.15 5.4.28 0.003 0.040 19.12 5.4.27 0.010 0.033 19.14 5.4.26 0.007 0.043 19.12 5.4.25 0.003 0.040 19.23 5.4.24 0.000 0.060 19.24 5.4.23 0.000 0.043 19.11 5.4.22 0.000 0.040 19.04 5.4.21 0.007 0.037 19.02 5.4.20 0.010 0.033 19.04 5.4.19 0.003 0.037 19.15 5.4.18 0.007 0.037 19.11 5.4.17 0.007 0.037 19.19 5.4.16 0.003 0.047 19.13 5.4.15 0.003 0.037 19.15 5.4.14 0.000 0.040 16.44 5.4.13 0.010 0.033 16.47 5.4.12 0.003 0.033 16.37 5.4.11 0.007 0.033 16.35 5.4.10 0.000 0.037 16.30 5.4.9 0.003 0.037 16.49 5.4.8 0.003 0.037 16.51 5.4.7 0.007 0.030 16.50 5.4.6 0.000 0.037 16.37 5.4.5 0.003 0.033 16.37 5.4.4 0.003 0.033 16.48 5.4.3 0.007 0.033 16.48 5.4.2 0.013 0.023 16.32 5.4.1 0.007 0.047 16.33 5.4.0 0.000 0.037 15.91
preferences:dark mode live preview
30.63 ms | 401 KiB | 5 Q