| Server IP : 173.209.174.21 / Your IP : 216.73.216.89 Web Server : Apache/2.4.58 (Ubuntu) System : Linux wcfs-server 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64 User : nodor ( 1000) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/wcsd/School-alert/ |
Upload File : |
<?php
session_start();
require 'config/db.php';
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
// Function to send email notifications
function sendAlertEmail($type, $location, $message, $recipients) {
$subject = "New Alert: $type";
$body = "An alert has been created.\n\n";
$body .= "Type: $type\n";
$body .= "Location: $location\n";
$body .= "Message: $message\n";
$body .= "Please check the alert system for more details.";
foreach ($recipients as $recipient) {
mail($recipient, $subject, $body, "From: alerts@yourdomain.com");
}
}
// Check if the user is logged in and has admin privileges
if (!isset($_SESSION['user_id']) || $_SESSION['role'] !== 'admin') {
header('Location: dashboard.php');
exit();
}
// Fetch districts and schools for the dropdown menu
$stmt = $pdo->prepare("
SELECT schools.school_id, schools.name AS school_name
FROM schools
ORDER BY schools.name
");
$stmt->execute();
$schools = $stmt->fetchAll(PDO::FETCH_ASSOC);
// Process form submission
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$school_id = $_POST['school_id'];
$type = $_POST['type'];
$location = !empty($_POST['location']) ? $_POST['location'] : "Unknown location"; // Default to "Unknown location"
$message = !empty($_POST['message']) ? $_POST['message'] : "No message"; // Default to "No message"
// Fetch notification emails for the selected school
$stmt = $pdo->prepare("SELECT notification_emails FROM schools WHERE school_id = ?");
$stmt->execute([$school_id]);
$school = $stmt->fetch(PDO::FETCH_ASSOC);
$recipients = array_map('trim', explode(',', $school['notification_emails']));
try {
// Insert alert into the database
$stmt = $pdo->prepare("INSERT INTO alerts (school_id, type, location, message, status) VALUES (?, ?, ?, ?, 'active')");
$stmt->execute([$school_id, $type, $location, $message]);
// Send email notifications
sendAlertEmail($type, $location, $message, $recipients);
// Redirect to dashboard after creation
header('Location: dashboard.php');
exit();
} catch (PDOException $e) {
echo "Error: Could not create alert. " . $e->getMessage();
}
}
?>
<?php include __DIR__ . '/views/header.php'; ?>
<h2>Create Alert</h2>
<div class="form-container">
<form method="POST" action="create_alert.php">
<label for="school_id">Select School:</label>
<select name="school_id" id="school_id" required>
<?php
// Initialize default school to null
$default_school_id = null;
// Loop through the schools
foreach ($schools as $school):
// Set the default school to the first school
if ($default_school_id === null) {
$default_school_id = $school['school_id'];
}
?>
<option value="<?= htmlspecialchars($school['school_id']) ?>"
<?= $school['school_id'] == $default_school_id ? 'selected' : '' ?>>
<?= htmlspecialchars($school['school_name']) ?>
</option>
<?php endforeach; ?>
</select>
<label for="type">Type:</label>
<select name="type" id="type" required>
<option value="Other">Other</option>
<option value="Lockdown">Lockdown</option>
<option value="Evacuation">Evacuation</option>
<option value="Shelter in Place">Shelter in Place</option>
<option value="Earthquake">Earthquake</option>
<option value="Fire Drill">Fire Drill</option>
<option value="Modified Lockdown">Modified Lockdown</option>
<option value="Help Needed">Help Needed</option>
<option value="Intruder">Intruder</option>
<option value="Fight">Fight</option>
</select>
<label for="location">Location or Room:</label>
<input type="text" id="location" name="location">
<label for="message">Message:</label>
<textarea name="message" id="message" rows="5"></textarea>
<button type="submit" class="submit-button">Create Alert</button>
</form>
</div>
<?php include __DIR__ . '/views/footer.php'; ?>