Replace all SendGrid references with CyberMail in admin UI

This commit is contained in:
2026-05-29 15:06:43 +00:00
parent 25e96a3d5f
commit 53f9f3e4da
2 changed files with 139 additions and 169 deletions
+57 -57
View File
@@ -9,61 +9,61 @@ require_once __DIR__ . '/includes/header.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$section = $_POST['section'] ?? '';
if ($section === 'sendgrid') {
setSetting('email_sendgrid', [
'api_key' => trim($_POST['sendgrid_api_key'] ?? ''),
if ($section === 'cybermail') {
setSetting('email_cybermail', [
'api_key' => trim($_POST['cybermail_api_key'] ?? ''),
'from_email' => trim($_POST['from_email'] ?? ''),
'from_name' => trim($_POST['from_name'] ?? '')
'from_name' => trim($_POST['from_name'] ?? '')
]);
setFlash('success', 'SendGrid settings updated');
setFlash('success', 'CyberMail settings updated');
}
if ($section === 'notifications') {
setSetting('email_notifications', [
'order_confirmation' => isset($_POST['notif_order_confirmation']),
'order_shipped' => isset($_POST['notif_order_shipped']),
'order_delivered' => isset($_POST['notif_order_delivered']),
'abandoned_cart' => isset($_POST['notif_abandoned_cart']),
'low_stock' => isset($_POST['notif_low_stock']),
'admin_new_order' => isset($_POST['notif_admin_new_order']),
'admin_email' => trim($_POST['admin_email'] ?? '')
'order_shipped' => isset($_POST['notif_order_shipped']),
'order_delivered' => isset($_POST['notif_order_delivered']),
'abandoned_cart' => isset($_POST['notif_abandoned_cart']),
'low_stock' => isset($_POST['notif_low_stock']),
'admin_new_order' => isset($_POST['notif_admin_new_order']),
'admin_email' => trim($_POST['admin_email'] ?? '')
]);
setFlash('success', 'Notification settings updated');
}
if ($section === 'test') {
$testEmail = trim($_POST['test_email'] ?? '');
if ($testEmail && filter_var($testEmail, FILTER_VALIDATE_EMAIL)) {
$sent = sendEmail($testEmail, 'Test Email from Tom\'s Java Jive',
'<div style="font-family: Arial; padding: 20px;"><h2>Test Email</h2><p>If you received this, your email settings are working correctly!</p></div>'
$sent = sendEmail($testEmail, 'Test Email from Tom\'s Java Jive',
'<div style="font-family: Arial; padding: 20px;"><h2>Test Email</h2><p>If you received this, your CyberMail settings are working correctly!</p></div>'
);
if ($sent) {
setFlash('success', 'Test email sent to ' . $testEmail);
} else {
setFlash('error', 'Failed to send test email. Check your SendGrid settings.');
setFlash('error', 'Failed to send test email. Check CYBERMAIL_API_KEY in config.');
}
}
}
header('Location: /admin/emails.php');
exit;
}
$sendgrid = getSetting('email_sendgrid', [
'api_key' => '',
$cybermail = getSetting('email_cybermail', [
'api_key' => '',
'from_email' => '',
'from_name' => "Tom's Java Jive"
'from_name' => "Tom's Java Jive"
]);
$notifications = getSetting('email_notifications', [
'order_confirmation' => true,
'order_shipped' => true,
'order_delivered' => true,
'abandoned_cart' => false,
'low_stock' => true,
'admin_new_order' => true,
'admin_email' => ''
'order_shipped' => true,
'order_delivered' => true,
'abandoned_cart' => false,
'low_stock' => true,
'admin_new_order' => true,
'admin_email' => ''
]);
?>
@@ -89,44 +89,44 @@ $notifications = getSetting('email_notifications', [
</div>
</div>
</div>
<div>
<!-- SendGrid Settings -->
<!-- CyberMail Settings -->
<form method="POST">
<input type="hidden" name="section" value="sendgrid">
<input type="hidden" name="section" value="cybermail">
<div class="admin-card">
<div class="admin-card-header">
<h3 class="admin-card-title"><i class="fas fa-paper-plane"></i> SendGrid Configuration</h3>
<h3 class="admin-card-title"><i class="fas fa-paper-plane"></i> CyberMail Configuration</h3>
</div>
<div class="admin-card-body">
<div class="form-group">
<label class="form-label">SendGrid API Key</label>
<input type="password" name="sendgrid_api_key" class="form-input"
value="<?= htmlspecialchars($sendgrid['api_key']) ?>"
placeholder="SG.xxxx...">
<small class="text-muted">Get this from <a href="https://app.sendgrid.com/settings/api_keys" target="_blank">SendGrid Dashboard</a></small>
<label class="form-label">CyberMail API Key</label>
<input type="password" name="cybermail_api_key" class="form-input"
value="<?= htmlspecialchars($cybermail['api_key']) ?>"
placeholder="sk_live_...">
<small class="text-muted">Manage at <a href="https://platform.cyberpersons.com/email/api-keys/" target="_blank">CyberMail Dashboard</a></small>
</div>
<div class="form-row">
<div class="form-group">
<label class="form-label">From Email</label>
<input type="email" name="from_email" class="form-input"
value="<?= htmlspecialchars($sendgrid['from_email']) ?>"
placeholder="noreply@yourdomain.com">
<input type="email" name="from_email" class="form-input"
value="<?= htmlspecialchars($cybermail['from_email']) ?>"
placeholder="noreply@orbishosting.com">
</div>
<div class="form-group">
<label class="form-label">From Name</label>
<input type="text" name="from_name" class="form-input"
value="<?= htmlspecialchars($sendgrid['from_name']) ?>"
<input type="text" name="from_name" class="form-input"
value="<?= htmlspecialchars($cybermail['from_name']) ?>"
placeholder="Tom's Java Jive">
</div>
</div>
<button type="submit" class="btn btn-primary">Save SendGrid Settings</button>
<button type="submit" class="btn btn-primary">Save CyberMail Settings</button>
</div>
</div>
</form>
<!-- Notification Settings -->
<form method="POST">
<input type="hidden" name="section" value="notifications">
@@ -136,64 +136,64 @@ $notifications = getSetting('email_notifications', [
</div>
<div class="admin-card-body">
<h4 style="margin-bottom: 1rem; font-size: 0.9rem; color: var(--admin-text-muted);">Customer Notifications</h4>
<div class="form-group">
<label style="display: flex; align-items: center; gap: 0.5rem; cursor: pointer;">
<input type="checkbox" name="notif_order_confirmation" <?= $notifications['order_confirmation'] ? 'checked' : '' ?>>
Order confirmation email
</label>
</div>
<div class="form-group">
<label style="display: flex; align-items: center; gap: 0.5rem; cursor: pointer;">
<input type="checkbox" name="notif_order_shipped" <?= $notifications['order_shipped'] ? 'checked' : '' ?>>
Order shipped notification
</label>
</div>
<div class="form-group">
<label style="display: flex; align-items: center; gap: 0.5rem; cursor: pointer;">
<input type="checkbox" name="notif_order_delivered" <?= $notifications['order_delivered'] ? 'checked' : '' ?>>
Order delivered notification
</label>
</div>
<div class="form-group">
<label style="display: flex; align-items: center; gap: 0.5rem; cursor: pointer;">
<input type="checkbox" name="notif_abandoned_cart" <?= $notifications['abandoned_cart'] ? 'checked' : '' ?>>
Abandoned cart reminders
</label>
</div>
<hr style="margin: 1.5rem 0;">
<h4 style="margin-bottom: 1rem; font-size: 0.9rem; color: var(--admin-text-muted);">Admin Notifications</h4>
<div class="form-group">
<label style="display: flex; align-items: center; gap: 0.5rem; cursor: pointer;">
<input type="checkbox" name="notif_admin_new_order" <?= $notifications['admin_new_order'] ? 'checked' : '' ?>>
New order notification
</label>
</div>
<div class="form-group">
<label style="display: flex; align-items: center; gap: 0.5rem; cursor: pointer;">
<input type="checkbox" name="notif_low_stock" <?= $notifications['low_stock'] ? 'checked' : '' ?>>
Low stock alerts
</label>
</div>
<div class="form-group mb-0">
<label class="form-label">Admin Email Address</label>
<input type="email" name="admin_email" class="form-input"
value="<?= htmlspecialchars($notifications['admin_email']) ?>"
<input type="email" name="admin_email" class="form-input"
value="<?= htmlspecialchars($notifications['admin_email']) ?>"
placeholder="admin@yourdomain.com">
</div>
<button type="submit" class="btn btn-primary mt-2">Save Notification Settings</button>
</div>
</div>
</form>
<!-- Test Email -->
<form method="POST">
<input type="hidden" name="section" value="test">