diff options
| author | Friedrich Beckmann <friedrich.beckmann@gmx.de> | 2026-02-01 22:25:58 +0100 |
|---|---|---|
| committer | Friedrich Beckmann <friedrich.beckmann@gmx.de> | 2026-02-01 22:25:58 +0100 |
| commit | 51cfa87ea5f1ac6f830c456b04809f9d2bf5b4ab (patch) | |
| tree | 2796203ee3aba44b11ef14b7951fb370b2ae9d29 /admin-update.php | |
| parent | 046f73a745b56d9feebd487823e3867c156fce58 (diff) | |
add Prüfungsamt as teilprüfung and delete option
I added Prüfungsamt as checkbox item to indicate if the
result is reported to Prüfungsamt. The delete option
allows to remove an entry from the database.
Diffstat (limited to 'admin-update.php')
| -rw-r--r-- | admin-update.php | 54 |
1 files changed, 33 insertions, 21 deletions
diff --git a/admin-update.php b/admin-update.php index f0d3896..c952618 100644 --- a/admin-update.php +++ b/admin-update.php @@ -9,30 +9,42 @@ if (empty($_POST["note"])) { $notenneu = $_POST["note"]; foreach ($notenneu as $matrikelnummer => $pruefungen) { - foreach ($pruefungen as $fach => $teilpruefungen) { - foreach ($teilpruefungen as $teilpruefung => $semesterliste) { - foreach ($semesterliste as $semestername => $note) { - if (!array_key_exists($fach,$students[$matrikelnummer]["noten"])) { - var_dump($students[$matrikelnummer]); - echo "<p>ERROR: Fach $fach bei $matrikelnummer existiert nicht</p>"; - } else { - if (!empty($note) and ( - empty($students[$matrikelnummer]["noten"][$fach][$teilpruefung]) or - $students[$matrikelnummer]["noten"][$fach][$teilpruefung] !== $note)) { - if (($teilpruefung === "klausur" and in_array($note,$notenklausur) or - $teilpruefung === "labor" and in_array($note,$notenlabor))) { - $students[$matrikelnummer]["noten"][$fach][$teilpruefung] = $note; - db_student_update_note($matrikelnummer,$fach,$teilpruefung,$note); - break; - } else { - var_dump($students[$matrikelnummer]); - echo "<p>ERROR: Note $note ungueltig fuer $matrikelnummer,$fach,$teilpruefung </p>"; - } - } + foreach ($pruefungen as $fach => $semesterliste) { + $notenupdate[$fach] = []; + if (!array_key_exists($fach,$students[$matrikelnummer]["noten"])) { + var_dump($students[$matrikelnummer]); + echo "<p>ERROR: Fach $fach bei $matrikelnummer existiert nicht</p>"; + break; + } + foreach ($semesterliste as $semestername => $teilpruefungen) { + // "amt" is a checkbox input where the name exists only when checked + // So the $teilpruefung loop will only iterate if it is checked. + if (!empty($students[$matrikelnummer]["noten"][$fach]["amt"]) + and empty($teilpruefungen["amt"])) { + $notenupdate[$fach]["amt"]=""; + } + foreach ($teilpruefungen as $teilpruefung => $note) { + if (!empty($note) + and (in_array($note,$notendelete) + or empty($students[$matrikelnummer]["noten"][$fach][$teilpruefung]) + or $students[$matrikelnummer]["noten"][$fach][$teilpruefung] !== $note)) { + if ($teilpruefung === "klausur" and in_array($note,$notenklausur) + or $teilpruefung === "labor" and in_array($note,$notenlabor) + or $teilpruefung === "amt" and in_array($note,$notenamt) + or in_array($note,$notendelete)) { + $note = in_array($note,$notendelete) ? "" : $note; + $notenupdate[$fach][$teilpruefung]=$note; + } else { + var_dump($students[$matrikelnummer]); + echo "<p>ERROR: Note $note ungueltig fuer $matrikelnummer,$fach,$teilpruefung </p>"; + } } } } - + foreach ($notenupdate[$fach] as $teilpruefung => $neuenote) { + $students[$matrikelnummer]["noten"][$fach][$teilpruefung] = $neuenote; + db_student_update_note($matrikelnummer,$fach,$teilpruefung,$neuenote); + } } } |
