isLoggedIn()) { header("Location: index.php"); die(); } $allSubjects = SubjectData::getAll(); $editingSubject = null; $defaultValues = array(); $defaultValues['displayName'] = ""; $defaultValues['id'] = ""; $defaultValues['description'] = ""; $defaultValues['color'] = "#3b82f6"; $defaultValues['icon'] = "fa-book"; $errors = array(); if (isset($_GET['subject'])) { $editingSubject = $allSubjects[$_GET['subject']]; $defaultValues['displayName'] = $editingSubject->getDisplayName(); $defaultValues['id'] = $editingSubject->getId(); $defaultValues['description'] = $editingSubject->getDescription(); $defaultValues['color'] = $editingSubject->getColor(); $defaultValues['icon'] = $editingSubject->getIcon(); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { foreach ($defaultValues as $key => $value) { $defaultValues[$key] = $_POST[$key]; } if (!isset($_POST['displayName']) || trim($_POST['displayName']) == "") { $errors["displayName"] = "Bitte geben Sie einen Namen an."; } if (!isset($_POST['id']) || trim($_POST['id']) == "") { $errors["id"] = "Bitte geben Sie eine ID an."; } if (!isset($_POST['description']) || trim($_POST['description']) == "") { $errors["description"] = "Bitte geben Sie eine Beschreibung an."; } if (!isset($_POST['color']) || trim($_POST['color']) == "") { $errors["color"] = "Bitte geben Sie eine Farbe an."; } if (!isset($_POST['icon']) || trim($_POST['icon']) == "") { $errors["icon"] = "Bitte geben Sie ein Icon an."; } if (!isset($_POST['submit']) || !($_POST['submit'] == "Speichern" || $_POST['submit'] == "Fach löschen")) { $errors["submit"] = "Ungültig abgeschickt!"; } if (empty($errors)) { $newSubject = false; if (isset($allSubjects[$_POST['oldSubjectId']])) { $newSubject = $allSubjects[$_POST['oldSubjectId']]; $newSubject->setId($_POST['id']); $newSubject->setDisplayName($_POST['displayName']); $newSubject->setDescription($_POST['description']); $newSubject->setColor($_POST['color']); $newSubject->setIcon($_POST['icon']); } else { $newSubject = SubjectData::createNew($_POST['id'], $_POST['displayName'], $_POST['description'], $_POST['color'], $_POST['icon'], array()); } if (!$newSubject) { $errors["error"] = "Fehler beim Speichern des Faches."; } else { if ($_POST['submit'] == "Fach löschen") { $newSubject->delete(); header("Location: " . "index.php"); } else { $newSubject->save(); header("Location: " . "subject.php?subject=" . $newSubject->getId()); } } } } ?>