Show sourcecode
The following files exists in this folder. Click to view.
public_html/crumbs/admin/orders/
api.php
orders.php
sendmail.php
statusdisplay.php
sendmail.php
46 lines UTF-8 Windows (CRLF)
<?php
/**
* Skickar ett mail till kunden när ordern är klar.
*/
function sendOrderReadyMail($dbconn, $orderId)
{
// Hämta orderinfo + kundens email och namn
$stmt = $dbconn->prepare(
"SELECT o.order_id, o.total_price, u.email, u.fullname, u.username
FROM orders o
JOIN users u ON o.user_id = u.user_id
WHERE o.order_id = :order_id"
);
$stmt->execute([':order_id' => (int)$orderId]);
$order = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$order || empty($order['email'])) {
return false;
}
$to = $order['email'];
// SÄKERHET: Validera e-postadressen för att förhindra header injection-attacker
if (!filter_var($to, FILTER_VALIDATE_EMAIL)) {
error_log("sendmail: Ogiltig e-postadress för order $orderId: $to");
return false;
}
$name = $order['fullname'] ?: $order['username'];
// Gör till 4 siffrig, t.ex 0001, 0072, osv.
$orderCode = str_pad($order['order_id'], 4, '0', STR_PAD_LEFT);
$totalPrice = $order['total_price'];
$subject = "Din beställning #{$orderCode} är klar!";
$message = "Hej {$name}!\n\n";
$message .= "Din beställning #{$orderCode} är nu klar för upphämtning.\n\n";
$message .= "Totalt: {$totalPrice} kr\n\n";
$message .= "Välkommen att hämta din order!\n";
$message .= "Visa din orderkod {$orderCode} vid upphämtning.\n\n";
$message .= "Tack för din beställning!";
return mb_send_mail($to, $subject, $message);
}