Semi-stable version with old variable names

This commit is contained in:
Fabio Herzig
2026-07-16 18:43:30 +02:00
parent 3731183654
commit c8e7ce9174
165 changed files with 25654 additions and 9728 deletions
@@ -1,4 +1,5 @@
<?php
ini_set("display_errors",1);
header('Content-Type: application/json');
if (!isset($baseDir)) {
@@ -16,6 +17,8 @@ verify_csrf();
require $baseDir . '/../scripts/db/db-functions.php';
require $baseDir . '/../scripts/db/db-tables.php';
require $baseDir . '/../scripts/string-calculator/string-calculator-functions.php';
$type = 'wkl';
$dbconnection = require $baseDir . '/../scripts/db/db-verbindung-script.php';
@@ -25,6 +28,11 @@ if ($dbconnection['success'] !== true){
exit;
}
require_once $baseDir . '/../scripts/cache/cache-creators/regenerate-display-dependencies-cache.php';
require_once $baseDir . '/../scripts/cache/cache-creators/regenerate-noten-cache.php';
$recalculateJSONs = false;
$action = $_POST['action'] ?? '';
@@ -77,6 +85,8 @@ if ($action === 'add') {
$recalculateJSONs = true;
if ($success) {
regenerate_noten_cache($mysqli, $tableNotenBezeichnungen, $baseDir);
generateIntersectCache($mysqli, $baseDir);
if (!$recalculateJSONs) { echo json_encode(['success' => true, 'id' => $new_id]); }
} else {
echo json_encode(['success' => false, 'message' => 'Fehler beim Hinzufügen.']);
@@ -88,7 +98,7 @@ if ($action === 'add') {
$field = $_POST['field'] ?? '';
$value = $_POST['value'] ?? '';
$allowedFields = ['name', 'type', 'berechnung', 'pro_geraet', 'geraete_json', 'anzahl_laeufe_json', 'default_value', 'min_value', 'max_value', 'zeige_in_tabelle', 'zeige_in_tabelle_mobile', 'zeige_in_tabelle_admin', 'zeige_auf_rangliste', 'nullstellen', 'prefix_display'];
$allowedFields = ['name', 'type', 'berechnung', 'pro_geraet', 'geraete_json', 'anzahl_laeufe_json', 'default_value', 'min_value', 'max_value', 'zeige_auf_rangliste', 'nullstellen', 'display_string', 'groesse_auf_rangliste'];
if ($id > 0 && in_array($field, $allowedFields)) {
if ($field === 'pro_geraet') {
$value = intval($value);
@@ -100,6 +110,8 @@ if ($action === 'add') {
$updated = db_update($mysqli, $tableNotenBezeichnungen, [$field => $value], ['id' => $id]);
if ($updated !== false) {
regenerate_noten_cache($mysqli, $tableNotenBezeichnungen, $baseDir);
generateIntersectCache($mysqli, $baseDir);
if (!$recalculateJSONs) { echo json_encode(['success' => true]); }
} else {
echo json_encode(['success' => false, 'message' => 'DB Update failed.']);
@@ -115,6 +127,8 @@ if ($action === 'add') {
if ($id > 0) {
db_delete($mysqli, $tableNotenBezeichnungen, ['id' => $id]);
regenerate_noten_cache($mysqli, $tableNotenBezeichnungen, $baseDir);
generateIntersectCache($mysqli, $baseDir);
echo json_encode(['success' => true]);
} else {
echo json_encode(['success' => false, 'message' => 'Invalid ID.']);
@@ -143,7 +157,6 @@ if ($recalculateJSONs) {
exit;
}
require $baseDir . "/../scripts/string-calculator/string-calculator-functions.php";
$notenRechner = new NotenRechner();
// 1. Build the direct map
@@ -151,15 +164,23 @@ if ($recalculateJSONs) {
$dependencyMap = [];
foreach ($berechnungen as $calc) {
$neededIdsArray = $notenRechner->getBenoetigteIdsComplex($calc['berechnung']);
$neededIdsArrayWithRun = $notenRechner->getBenoetigteIdsComplexWithRun($calc['berechnung']);
if (empty($neededIdsArray)) {
if (empty($neededIdsArrayWithRun) || count($neededIdsArrayWithRun) < 2) {
continue;
}
$calcId = (int)$calc['id'];
foreach ($neededIdsArray as $needed) {
$neededIdsArray = $neededIdsArrayWithRun;
unset($neededIdsArray['targetRun']);
unset($neededIdsArray['targetGeraet']);
$targetRunId = $neededIdsArrayWithRun['targetRun'];
$target_geraet_id = $neededIdsArrayWithRun['targetGeraet'];
foreach ($neededIdsArray as $key => $needed) {
$nId = (int)$needed['noteId'];
@@ -167,14 +188,14 @@ if ($recalculateJSONs) {
$gId = is_numeric($needed['geraetId']) ? (int)$needed['geraetId'] : $needed['geraetId'];
// Create a unique string key so we don't store exact duplicates
$nodeKey = $calcId . '|' . $gId;
$nodeKey = $calcId . '|' . $gId . '|' . $targetRunId . '|' . $target_geraet_id; // e.g., "10|S|R2" or "12|3|RA"
if (!isset($dependencyMap[$nId])) {
$dependencyMap[$nId] = [];
}
// Store it as the "little array" you requested: [DependentCalcId, GeraetId]
$dependencyMap[$nId][$nodeKey] = [$calcId, $gId];
$dependencyMap[$nId][$nodeKey] = [$calcId, $gId, [$targetRunId, $target_geraet_id]];
}
}