' . $templateHtml . '
', LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
// Remove the back button before publishing
$backButton = $templateDom->getElementById('back-to-templates-btn');
if ($backButton) {
$backButton->parentNode->removeChild($backButton);
}
$imgTag = $templateDom->getElementById('previewImage');
if ($imgTag) $imgTag->setAttribute('src', $imageUrl);
$titleTag = $templateDom->getElementById('previewTitle');
if ($titleTag) $titleTag->nodeValue = $title;
$descTag = $templateDom->getElementById('previewDescription');
if ($descTag) $descTag->nodeValue = $description;
$ctaContainer = $templateDom->getElementById('previewCtaContainer');
if ($ctaContainer) {
while ($ctaContainer->hasChildNodes()) {
$ctaContainer->removeChild($ctaContainer->firstChild);
}
if (!empty(trim($checkoutHtml))) {
$fragment = $templateDom->createDocumentFragment();
// Append HTML, suppressing errors for potentially malformed user input
@$fragment->appendXML($checkoutHtml);
$ctaContainer->appendChild($fragment);
} elseif ($showCtaButton && $ctaUrl) {
$link = $templateDom->createElement('a', $ctaText);
$link->setAttribute('href', $ctaUrl);
$link->setAttribute('class', 'btn btn-primary btn-lg');
$link->setAttribute('role', 'button');
$ctaContainer->appendChild($link);
} else {
// If no checkout HTML and button is disabled or no URL, remove the container
if ($ctaContainer->parentNode) {
$ctaContainer->parentNode->removeChild($ctaContainer);
}
}
}
// Extract the inner HTML of the temporary div
$body = $templateDom->getElementsByTagName('div')->item(0);
$finalPreviewHtml = '';
foreach ($body->childNodes as $child) {
$finalPreviewHtml .= $templateDom->saveHTML($child);
}
$htmlContent = <<
";
echo "
Your page has been published!
";
echo "
You can view it here:
";
echo "
{$pageUrl}
";
echo "
";
echo "
Manage your page:
";
echo "
To prevent your page from being deleted after 60 days, use the following link to extend its lifetime:
";
echo "
{$managementUrl}
";
echo "
";
} else {
header('Location: index.php');
exit;
}
?>