<?php
    function getStudents() {
        return [
            ['name'=> 'Joe Dean','grade'=> '100'],
            ['name'=> 'Sam Deer','grade'=> '80'],
            ['name'=> 'Alex Find','grade'=> '70'],
            ['name'=> 'Jess Gram','grade'=> '60'],
        ];
    }
    function adjustGrade($orginGrade) {
        return $orginGrade * 1.1;
    }

    function ToLetter ($Grade) {
        if ($Grade >= 90) {
            return "A";
        }elseif ($Grade >= 80) {
            return "B";
        }elseif ($Grade >= 70) {
            return "C";
        }elseif ($Grade >= 60) {
            return "D";
        }else {
            return "F";
        }
    }

    function handleForm(&$students) {
        $name = $_POST['StudentName'];
        $grade = $_POST['Grade'];

    //update
    $searchStudent = array_search($name,array_column($students,'name'));
    if ($searchStudent !== false) {
        $students[$searchStudent]['grade'] = $grade;
    } else {
        //Add student
        $students[] =['name'=>$name,''=>$grade];
        }
    }

    function showStudentTable($students) {
        echo '<h3>Student Information</h3>';
        echo '<table border="1">';
        echo '<tr><th>Name</th><th>Original Grade</th><th>Letter Grade</th><th>Adjusted Grade</th><th>Adjusted Letter Grade</th></tr>';
        $totalGrades = 0;
        foreach ($students as $student) {
            $originalGrade = $student['grade'];
            $adjustedGrade = adjustGrade($originalGrade);
            echo '<tr>';
            echo '<td>' . $student['name'] . '</td>';
            echo '<td>' . $originalGrade . '</td>';
            echo '<td>' . ToLetter($originalGrade) . '</td>';
            echo '<td>' . $adjustedGrade . '</td>';
            echo '<td>' . ToLetter($adjustedGrade) . '</td>';
            echo '</tr>';
            $totalGrades += $originalGrade;
        }
        echo '</table>';
        $totalStudents = count($students);
        $averageGrade = $totalGrades / $totalStudents;
    
        echo '<p>Total Students: ' . $totalStudents . '</p>';
        echo '<p>Total Original Grades: ' . $totalGrades . '</p>';
        echo '<p>Average Original Grade: ' . $averageGrade . '</p>';
    }
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>GradeBook</title>
    </head>
    <style>
        body {background-color: #CCCCCC; font-size: 25px;}
        table{color:black; font-size: 25px;}
        
    </style>
    <body>
        <h1>GradeBook</h1>
        <?php
        require_once('GradeBook.php');

        //Get Students
        $students=getStudents();

        if ($_SERVER['REQUEST_METHOD'] == 'POST'){
            handleForm($students);
        }

        //shwow students
        showStudentTable($students);
        ?>

        <h2>Add Student</h2>
        <form method="post" action="index.php">
            <label for="StudentName">Student Name</label>
            <input type="Text" name="StudentName" required>

            <label for="Grade"> Student Grade:</label>
            <input type="number" name="Grade"required min="0" max="100">

            <button type="submit">Add Student</button>
        </form>
    </body>
</html>