57 lines
3.1 KiB
PHP
57 lines
3.1 KiB
PHP
<?php
|
|
function regenerate_noten_cache($mysqli, $tableNotenBezeichnungen, $baseDir) {
|
|
if (!function_exists('db_select')) require $baseDir . '/../scripts/db/db-functions.php';
|
|
|
|
$notenRechnerCache = new NotenRechner();
|
|
|
|
$all = db_select($mysqli, $tableNotenBezeichnungen, "id, default_value, pro_geraet, geraete_json, anzahl_laeufe_json, berechnung, nullstellen, zeige_in_rank_live, display_string");
|
|
|
|
$ascArrayDefaultValues = array_column($all, 'default_value', 'id');
|
|
$ascArrayProGeraet = array_column($all, 'pro_geraet', 'id');
|
|
$ascArrayRechnungen = array_column($all, 'berechnung', 'id');
|
|
$indexedNullstellen = array_column($all, 'nullstellen', 'id');
|
|
$ascPrefixDisplay = array_column($all, 'display_string', 'id');
|
|
|
|
$ascArrayGeraeteJSON = array_column($all, 'geraete_json', 'id');
|
|
foreach ($ascArrayGeraeteJSON as $key => $val) {
|
|
$ascArrayGeraeteJSON[$key] = json_decode((string)$val, true);
|
|
}
|
|
|
|
$ascArrayAnzahlLaeufeJSON = array_column($all, 'anzahl_laeufe_json', 'id');
|
|
foreach ($ascArrayAnzahlLaeufeJSON as $key => $val) {
|
|
$ascArrayAnzahlLaeufeJSON[$key] = json_decode((string)$val, true) ?? [];
|
|
}
|
|
|
|
$export = "<?php\n\nreturn [\n";
|
|
$export .= " 'default_values' => " . var_export($ascArrayDefaultValues, true) . ",\n";
|
|
$export .= " 'pro_geraet' => " . var_export($ascArrayProGeraet, true) . ",\n";
|
|
$export .= " 'geraete_json' => " . var_export($ascArrayGeraeteJSON, true) . ",\n";
|
|
$export .= " 'anzahl_laeufe_json' => " . var_export($ascArrayAnzahlLaeufeJSON, true) . ",\n";
|
|
$export .= " 'rechnungen' => " . var_export($ascArrayRechnungen, true) . ",\n";
|
|
$export .= " 'nullstellen' => " . var_export($indexedNullstellen, true) . "\n";
|
|
$export .= " ];\n";
|
|
|
|
file_put_contents($baseDir . '/../scripts/cache/noten-config-calculating-cache.php', $export);
|
|
|
|
$ascArrayStoreRuns = [];
|
|
$ascArrayStoreGeraete = [];
|
|
|
|
foreach ($ascArrayRechnungen as $id => $calc) {
|
|
$res = $notenRechnerCache->getStoreGeraetRun($calc);
|
|
$ascArrayStoreRuns[$id] = $res['run_num'] ?? 'A';
|
|
$ascArrayStoreGeraete[$id] = $res['geraet_id'] ?? 'A';
|
|
}
|
|
|
|
$exportDisplay = "<?php\n\nreturn [\n";
|
|
$exportDisplay .= " 'default_values' => " . var_export($ascArrayDefaultValues, true) . ",\n";
|
|
$exportDisplay .= " 'pro_geraet' => " . var_export($ascArrayProGeraet, true) . ",\n";
|
|
$exportDisplay .= " 'geraete_json' => " . var_export($ascArrayGeraeteJSON, true) . ",\n";
|
|
$exportDisplay .= " 'anzahl_laeufe_json' => " . var_export($ascArrayAnzahlLaeufeJSON, true) . ",\n";
|
|
$exportDisplay .= " 'nullstellen' => " . var_export($indexedNullstellen, true) . ",\n";
|
|
$exportDisplay .= " 'display_string' => " . var_export($ascPrefixDisplay, true) . ",\n";
|
|
$exportDisplay .= " 'store_run' => " . var_export($ascArrayStoreRuns, true) . ",\n";
|
|
$exportDisplay .= " 'store_geraet' => " . var_export($ascArrayStoreGeraete, true) . "\n";
|
|
$exportDisplay .= "];\n";
|
|
|
|
file_put_contents($baseDir . '/../scripts/cache/noten-config-display-cache.php', $exportDisplay);
|
|
} |