$_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) { $component = new Component(0, 0, $dateSchedule, false); $component->setType($type); $component->setComponent(0); $component->setModule($module); $component->setUser($userHasModule->getUserId()); ComponentDAL::flush($component); } $_SESSION['message']['success'] = 'Your exam has been scheduled with success.'; header('Location: ../administration/schedule');
$component = ComponentDAL::findById($idExam); $component->setMark($mark); if (ComponentDAL::flush($component)) { $module = $component->getModule(); $user = UserDAL::findById($idUser); $hasFailed = $user->hasFailed($module); $mustResit = $user->mustResit($module); $finalMark = $user->getFinalMark($module); $userHasModule = UserHasModuleDAL::findByStudentAndModule($idUser, $module->getId()); $userHasModule->setHasFailed($hasFailed); $userHasModule->setMustPay($mustResit); $userHasModule->setFinalMark($finalMark); if ($hasFailed && $mustResit) { UserHasModuleDAL::flush($userHasModule); // Send mail -> Explain which component to resit and how to pay // (Always worst component to resit) } else { if ($hasFailed && !$mustResit) { UserHasModuleDAL::flush($userHasModule); // Send mail -> Tell he has failed the module and that there is no resit } else { if (!$hasFailed && $finalMark > 0) { UserHasModuleDAL::flush($userHasModule); // Send mail -> Tell he has succeded the module. } else { // Send mail -> Tell he has a new mark. } } } echo json_encode(1); }
<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/WebBristol/model/DAL/ModuleDAL.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/WebBristol/model/DAL/UserHasModuleDAL.php'; // Test the user's level of access $role = $_SESSION['user']->getRole()->getName(); if ($role === 'Professor') { //Return every modules $_SESSION['data']['modules'] = ModuleDAL::findAll(); require_once 'view/menu/menu_module.phtml'; require_once 'view/module/module_all.phtml'; } else { //Return every modules by user connected $usersHaveModule = UserHasModuleDAL::findByUser($_SESSION['user']->getId()); foreach ($usersHaveModule as $userHasModule) { $_SESSION['data']['modules'][] = ModuleDAL::findById($userHasModule->getUserId()); } require_once 'view/menu/menu_module.phtml'; require_once 'view/module/module_all.phtml'; }