Files
HotLunches/email-preview.php
T
2026-10-19 15:22:52 -07:00

167 lines
5.0 KiB
PHP

<?php
$ValidAccess = 2010;
require_once("include/globals.php");
if (SessionActive() != 1 || ! UserLoggedIn()) {
header("Location: /");
exit();
}
//
// Get the message id to use
//
if (array_key_exists('id',$_GET) && $_GET['id']) $id = $_GET['id'];
if (array_key_exists('id',$_POST) && $_POST['id']) $id = $_POST['id'];
if (!$id) {
include "preview.header.html";
echo("<p>Error: Message ID is Not Defined</p>\n");
include "preview.footer.html";
exit();
}
//
// Determine which template file to use
//
$templates = array();
$count = 0;
if (!array_key_exists('template', $_GET) && !array_key_exists('template', $_POST)) {
// Get list of templates available
if (is_dir("email_templates")) {
$dir = opendir("email_templates");
while ($file = readdir($dir)) {
if ($file == ".") continue;
if ($file == "..") continue;
if (strpos($file, ".htm") !== false || strpos($file, ".html") !== false) {
$templates[] = $file;
$count++;
}
}
// If there are no templates to use, exit
if ($count == 0) {
include "preview.header.html";
echo("<p>Error: Directory \"email_templates\" Contains No Valid Template Files</p>\n");
include "preview.footer.html";
exit();
}
// Allow user to select a template file if there is more than one
if ($count > 1) {
include "preview.header.html";
include "email-preview.form.php";
include "preview.footer.html";
exit();
}
}
else {
include "preview.header.html";
echo("<p>Error: Directory \"email_templates\" Not Found</p>\n");
include "preview.footer.html";
exit();
}
// If there is only one template use it
$template = $templates[0];
}
//
// Get school record
//
$query = "select * from schools " .
"where record_num = $school_num";
$results = db_query($query);
$school = db_fetch_array($results);
$school_name = $school['school_name'];
$school_url = $school['url'];
$pac_name = $school['pac_name'];
$email_title = $school['email_title'];
$colourcss = $school['colour_scheme'];
$MessageFooter = getLanguageText('TEXT-THIS-MESSAGE-HAS-BEEN-SENT-BY').": $pac_name<br>" .
getLanguageText('TEXT-PLEASE-VISIT-OUR-WEB-SITE').": <a href='https://$school_url'>https://$school_url</a>";
//
// Get message record
//
if (array_key_exists('category', $_GET) && $_GET['category'] == 'Bulletin') {
$cutoff = date("Y-m-d",time() - 60 * 60 * 24 * 60);
$query = "select * from formatted_content " .
"where school_num = 3 " .
"and post_from_date > '$cutoff' " .
"and record_num = '$id'";
$school_name = "EASY School Software";
$pac_name = "";
$email_title = "Hot Lunches Bulletin";
}
else {
$query = "select * from formatted_content " .
"where school_num = $school_num " .
"and record_num = '$id'";
}
$results = db_query($query);
$record = db_fetch_array($results);
$EmailMessage = $record['content'];
// Ensure that a template has been defined
$template = $_REQUEST['template'];
//
// Get the template file content
//
$fp = fopen("email_templates/$template","r");
if ($fp) {
$EmailTemplateText = '';
while (!feof($fp)) {
$line = fgets($fp,1000);
if (!isset($current_domain_name)) $current_domain_name = $currentURL;
$line = str_replace('src="/',"src=\"http://$current_domain_name/",$line);
$line = str_replace("src='/","src='http://$current_domain_name/",$line);
$EmailTemplateText .= $line;
}
$EmailTemplateText = str_replace("{SCHOOL_CSS}",$colourcss,$EmailTemplateText);
$EmailTemplateText = str_replace("{SCHOOL_NAME}",$school_name,$EmailTemplateText);
$EmailTemplateText = str_replace("{PAC_NAME}",$pac_name,$EmailTemplateText);
$EmailTemplateText = str_replace("{EMAIL_TITLE}",$email_title,$EmailTemplateText);
$EmailMessage = str_replace("{EMAIL_BODY_TEXT}",$EmailMessage,$EmailTemplateText);
// Process generic variables into the email body
$EmailMessage = str_replace("{DATE1}",date("D M j, Y",time()),$EmailMessage);
$EmailMessage = str_replace("{DATE2}",date("M j, Y",time()),$EmailMessage);
$EmailMessage = str_replace("{DATE3}",date("l F j, Y",time()),$EmailMessage);
$EmailMessage = str_replace("{DATE4}",date("F j, Y",time()),$EmailMessage);
$EmailMessage = str_replace("{TIME1}",date("H:i",time()),$EmailMessage);
$EmailMessage = str_replace("{TIME2}",date("h:i a",time()),$EmailMessage);
$EmailMessage = str_replace("{ADDRESS}",'',$EmailMessage);
// Parse image references to force full URL paths
$EmailMessage = str_replace("src=\"/","src=\"http://$current_domain_name/",$EmailMessage);
$EmailMessage = str_replace("src='/","src='http://$current_domain_name/",$EmailMessage);
// Manage the footer
$EmailMessage = str_replace("{FOOTER_TEXT}",$MessageFooter,$EmailMessage);
echo($EmailMessage);
}
else {
include "preview.header.html";
echo("<p>Error: Unable to Open Template File - $template</p>\n");
include "preview.footer.html";
}
?>