403Webshell
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/Backup files/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/wcsd/School-alert/Backup files/create_alert.php.11-12-24
<?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 districts.district_id, districts.district_name, schools.school_id, schools.name AS school_name 
    FROM districts
    JOIN schools ON districts.district_id = schools.district_id
    ORDER BY districts.district_name, schools.name
");
$stmt->execute();
$districts = $stmt->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_ASSOC);

// Process form submission
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $school_id = $_POST['school_id'];
    $type = $_POST['type'];
    $location = $_POST['location'];
    $message = $_POST['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 notification
        sendAlertEmail($type, $location, $message, $recipients);

        // Redirect to dashboard after successful alert creation
        header('Location: dashboard.php');
        exit();
    } catch (PDOException $e) {
        echo "Error: Could not create alert. " . $e->getMessage();
    }
}
?>

<?php include __DIR__ . '/views/header.php'; ?>
<div class="form-container">
    <h2>Create Alert</h2>
    <form method="POST" action="create_alert.php">
        
        <!-- Dropdown for selecting the school within a district -->
        <label for="school_id">Select School:</label>
        <select name="school_id" id="school_id" required>
            <?php if ($districts): ?>
                <?php foreach ($districts as $district_id => $schools): ?>
                    <optgroup label="<?= htmlspecialchars($schools[0]['district_name']) ?>">
                        <?php foreach ($schools as $school): ?>
                            <option value="<?= htmlspecialchars($school['school_id']) ?>">
                                <?= htmlspecialchars($school['school_name']) ?>
                            </option>
                        <?php endforeach; ?>
                    </optgroup>
                <?php endforeach; ?>
            <?php else: ?>
                <option value="">No schools available</option>
            <?php endif; ?>
        </select>

        <label for="type">Type:</label>
        <select name="type" id="type" required>
            <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="other">Other</option>
        </select>

        <label for="location">Location or Room:</label>
        <input type="text" id="location" name="location" required>

        <label for="message">Message:</label>
        <textarea name="message" id="message" rows="5" required></textarea>

        <button type="submit" class="submit-button">Create Alert</button>
    </form>
</div>
<?php include __DIR__ . '/views/footer.php'; ?>

Youez - 2016 - github.com/yon3zu
LinuXploit