$general->loggedOutProtect(); // redirect if user elevation is not that of secretary or admin if ($user->isTutor()) { header('Location: ' . BASE_URL . "error-403"); exit; } try { $terms = TermFetcher::retrieveAll(); if (isBtnUpdatePrsd()) { $updateDone = false; $termId = $_POST['updateTermIdModal']; $termName = $_POST['nameUpdate']; if (($course = getTerm($termId, $terms)) === false) { throw new Exception("Data tempering detected. Aborting."); } $updateDone = $updateDone || Term::updateName($termId, $_POST['nameUpdate'], $course[TermFetcher::DB_COLUMN_NAME]); $updateDone = $updateDone || Term::updateStartingDate($termId, $_POST['dateStartUpdate'], $course[TermFetcher::DB_COLUMN_START_DATE]); $updateDone = $updateDone || Term::updateEndingDate($termId, $_POST['dateEndUpdate'], $course[TermFetcher::DB_COLUMN_END_DATE]); if (!$updateDone) { throw new Exception("No new data inputted. Process aborted."); } header('Location: ' . BASE_URL . 'academia/terms/success'); exit; } else { if (isBtnCreatePrsd()) { Term::create($_POST['termName'], $_POST['dateTimePickerStart'], $_POST['dateTimePickerEnd']); header('Location: ' . BASE_URL . 'academia/terms/success'); exit; } else { if (isBtnDeletePrsd()) { Term::delete($_POST['delTermIdModal']);