Completed 300-custom-new-order Mailtemplate handling for RML

This commit is contained in:
Frank Schubert
2025-06-13 05:40:17 +02:00
parent 05fe36679f
commit fdcac66a84
5 changed files with 140 additions and 17 deletions

View File

@@ -22,15 +22,19 @@ function logMessage($message): void {
echo "[" . date("Y-m-d H:i:s") . "] " . $message . "\n";
}
function sendPreorderEmail($mailtemplate, $preordercampaign, $preorder, $email_type = "300-custom") {
function sendPreorderEmail($mailtemplate, $preordercampaign, $preorder, $email_type = "300-custom", $custom_replacers = []) {
$data = ["preorder" => $preorder->getPropertiesAsArray()];
foreach(["adb_hausnummer", "adb_wohneinheit"] as $prop) {
$obj = $preorder->getProperty($prop);
if($obj) {
$obj_data = (array) $obj->data;
unset($obj->data, $obj->_old_data, $obj->db, $obj->log);
$data[$prop] = array_merge((array) $obj, $obj_data);
//unset($obj->data, $obj->_old_data, $obj->db, $obj->log);
foreach($obj as $key => $value) {
if($key == "data" || $key == "_old_data" || $key == "db" || $key == "log") continue;
$data[$prop][$key] = $value;
}
$data[$prop] = array_merge((array) $data[$prop], $obj_data);
} else {
$data[$prop] = null;
}
@@ -43,6 +47,13 @@ function sendPreorderEmail($mailtemplate, $preordercampaign, $preorder, $email_t
}
}
if(count($custom_replacers)) {
foreach($custom_replacers as $key => $value) {
if(!$key) continue;
$replacers[$key] = $value;
}
}
$subject = $mailtemplate->getVariableReplacedSubject($replacers);
$body = "<html><head></head><body>";
$body .= $mailtemplate->renderBody($replacers);