<?php

require_once $_SERVER['DOCUMENT_ROOT'] . '/WebBristol/model/DAL/ComponentDAL.php';
$id = filter_input(INPUT_GET, 'id');
$components = ComponentDAL::findByModule($id);
$result = array();
foreach ($components as $component) {
    $user = $component->getUser();
    $idAction = 'idUser='******'&idExam=' . $component->getId();
    $action = '<button id="' . $idAction . '" type="button" class="btn btn-default" data-toggle="modal" data-target="#myModal">
    <span class="glyphicon glyphicon-scale"></span></button>';
    $row = array("first_name" => $user->getFirstName(), "last_name" => $user->getLastName(), "module" => $component->getModule()->getTitle(), "type" => $component->getType()->getTypeName(), "mark" => $component->getMark(), "date" => $component->getDate(), "action" => $action);
    $result[] = $row;
}
echo json_encode($result);
require_once $_SERVER['DOCUMENT_ROOT'] . '/WebBristol/model/DAL/UserDAL.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/WebBristol/model/DAL/UserHasModuleDAL.php';
// TODO : Si l'user connecte est student, ne pouvoir afficher que ses propres info
if (!empty($_POST['module']) && !empty($_POST['type']) && !empty($_POST['date_schedule'])) {
    $module = intval(filter_input(INPUT_POST, 'module'));
    $type = intval(filter_input(INPUT_POST, 'type'));
    $dateSchedule = filter_input(INPUT_POST, 'date_schedule');
} else {
    // 403
    $_SESSION['message']['warning'] = 'All parameters are required.';
    header('Location: ../administration/schedule');
    die;
}
$role = $_SESSION['user']->getRole()->getName();
if ($role === 'Professor') {
    $componentsScheduled = ComponentDAL::findByModule($module);
    foreach ($componentsScheduled as $componentScheduled) {
        $typeScheduled = $componentScheduled->getType();
        if (!$componentScheduled->getIsResit() && $typeScheduled->getId() == $type) {
            $_SESSION['message']['warning'] = 'An ' . $typeScheduled->getTypeName() . ' has already been scheduled (' . $componentScheduled->getDate() . ') for this module.';
            header('Location: ../administration/schedule');
            die;
        }
    }
    $usersHaveModule = UserHasModuleDAL::findByModule($module);
    if (count($usersHaveModule) == 0) {
        $_SESSION['message']['warning'] = 'There is no student assigned to this module.';
        header('Location: ../administration/schedule');
        die;
    }
    foreach ($usersHaveModule as $userHasModule) {