Mini Kabibi Habibi

Current Path : C:/xampp/htdocs/cid/system/
Upload File :
Current File : C:/xampp/htdocs/cid/system/create_mista_report.php

<?php
session_start();
@include 'include/config.php';

if (!isset($_SESSION['username_school'])) {
    die("Error: User not logged in.");
}

$username = $_SESSION['username_school'];

// Fetch division, section, and learning area from the database
$sql = "SELECT division, section, learning_area FROM information WHERE username = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $username);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows > 0) {
    $rows = $result->fetch_assoc();
} else {
    die("Error: User information not found.");
}
$stmt->close();

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $division = $_POST['division'] ?? null;
    $section = $_POST['section'] ?? null;
    $district = $_POST['learning_area'] ?? null;
    $month = $_POST['month'] ?? null;
    $school_year = $_POST['school_year'] ?? null;

    $stmt = $conn->prepare("INSERT INTO mista_reports (division, section, district, month, school_year, username) VALUES (?, ?, ?, ?, ?, ?)");
    if (!$stmt) die("Prepare failed: " . $conn->error);
    $stmt->bind_param("ssssss", $division, $section, $district, $month, $school_year, $username);
    if (!$stmt->execute()) die("Error saving report: " . $stmt->error);
    $plan_id = $conn->insert_id;

    if (!empty($_POST['date'])) {
        $dates = $_POST['date'];
        $school = $_POST['school'];
        $name_of_school_head = $_POST['name_of_school_head'];
        $activities_undertaken = $_POST['activities_undertaken'];
        $findings = $_POST['findings'];
        $technical_assistance_provided = $_POST['technical_assistance_provided'];
        $agreement = $_POST['agreement'];
        $school_head_signature = $_POST['school_head_signature'];

        $stmt_report = $conn->prepare("INSERT INTO mista_monitoring_reports 
            (plan_id, dates, school, name_of_school_head, activities_undertaken, findings, technical_assistance_provided, agreement, school_head_signature) 
            VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");

        if (!$stmt_report) die("Prepare failed for monitoring report: " . $conn->error);

        for ($i = 0; $i < count($dates); $i++) {
            $stmt_report->bind_param(
                "issssssss",
                $plan_id,
                $dates[$i],
                $school[$i],
                $name_of_school_head[$i],
                $activities_undertaken[$i],
                $findings[$i],
                $technical_assistance_provided[$i],
                $agreement[$i],
                $school_head_signature[$i]
            );
            if (!$stmt_report->execute()) {
                die("Insert failed for row $i: " . $stmt_report->error);
            }
        }
        $stmt_report->close();
    }

    if (isset($_POST['generate_report'])) {
        header("Location: generate_mistar_word.php?plan_id=" . $plan_id);
        exit();
    } else if (isset($_POST['save_only'])) {
        header("Location: view_mista_reports.php");
        exit();
    }
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Create MISTA Report</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="../vendors/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
    <style>
        .form-control-sm { font-size: 0.875rem; padding: 0.25rem 0.5rem; }
        th, td { vertical-align: middle !important; }
        .table-responsive { overflow-x: auto; }
    </style>
</head>
<body class="container-fluid mt-4">

    <h3 class="text-center mb-4">Create Monthly Instructional Supervisory and Technical Assistance Report</h3>

    <form action="create_mista_report.php" method="POST" onsubmit="return confirmSubmission();">
        <div class="row mb-3">
            <div class="col-md-2">
                <label>Division</label>
                <input type="text" name="division" class="form-control form-control-sm" value="<?php echo htmlspecialchars($rows['division']); ?>" readonly required>
            </div>
            <div class="col-md-2">
                <label>Section/Unit</label>
                <input type="text" name="section" class="form-control form-control-sm" value="<?php echo htmlspecialchars($rows['section']); ?>" readonly required>
            </div>
            <div class="col-md-3">
                <label>District/Learning Area</label>
                <input type="text" name="learning_area" class="form-control form-control-sm" value="<?php echo htmlspecialchars($rows['learning_area']); ?>" readonly required>
            </div>
            <div class="col-md-2">
                <label>Month</label>
                <select name="month" class="form-control form-control-sm" required>
                    <option value="">Select Month</option>
                    <?php
                    $months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
                    foreach ($months as $m) {
                        echo "<option value=\"$m\">$m</option>";
                    }
                    ?>
                </select>
            </div>
            <div class="col-md-3">
                <label>School Year</label>
                <input type="text" name="school_year" class="form-control form-control-sm" value="<?php echo date('Y'); ?>" readonly required>
            </div>
        </div>

        <!-- Activity Table -->
        <div class="form-group text-center mb-3">
            <h4 class="text-center mb-2" style="font-size: 1.2rem; font-weight: bold; background-color: #007bff; color: white; padding: 5px 15px; display: inline-block; border-radius: 5px;">
                Your Activities
            </h4>
        </div>

        <div class="table-responsive mb-3">
            <table class="table table-bordered table-sm text-center">
                <thead class="thead-light">
                    <tr>
                        <th>Date</th>
                        <th>School</th>
                        <th>School Head</th>
                        <th>Activities Undertaken</th>
                        <th>Findings</th>
                        <th>Tech. Assistance</th>
                        <th>Agreement</th>
                        <th>Signature / Remove</th>
                    </tr>
                </thead>
                <tbody id="activityTableBody">
                    <tr>
                        <td><input type="date" name="date[]" class="form-control form-control-sm" required></td>
                        <td><input type="text" name="school[]" class="form-control form-control-sm" required></td>
                        <td><input type="text" name="name_of_school_head[]" class="form-control form-control-sm" required></td>
                        <td><input type="text" name="activities_undertaken[]" class="form-control form-control-sm" required></td>
                        <td><input type="text" name="findings[]" class="form-control form-control-sm"></td>
                        <td><input type="text" name="technical_assistance_provided[]" class="form-control form-control-sm"></td>
                        <td><input type="text" name="agreement[]" class="form-control form-control-sm"></td>
                        <td>
                            <input type="text" name="school_head_signature[]" class="form-control form-control-sm">
                            <button type="button" class="btn btn-sm btn-danger mt-1" onclick="removeRow(this)">Remove</button>
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>

        <div class="text-center mb-3">
            <button type="button" class="btn btn-sm btn-primary" onclick="addActivityRow()">Add Activity</button>
        </div>

        <!-- Submit Buttons -->
        <div class="form-group text-center mt-4">
            <button type="submit" name="save_only" class="btn btn-warning px-4">Save</button>
        </div>
    </form>

    <!-- JavaScript -->
    <script>
        function confirmSubmission() {
            return confirm("Are you sure you want to create this MISTA report?");
        }

        function addActivityRow() {
            const tableBody = document.getElementById("activityTableBody");
            const newRow = tableBody.rows[0].cloneNode(true);

            Array.from(newRow.querySelectorAll("input")).forEach(input => input.value = "");
            tableBody.appendChild(newRow);
        }

        function removeRow(button) {
            const tableBody = document.getElementById("activityTableBody");
            if (tableBody.rows.length > 1) {
                button.closest("tr").remove();
            } else {
                alert("At least one activity row must remain.");
            }
        }
    </script>
</body>
</html>