WKVS v 1.0.0

This commit is contained in:
Fabio Herzig
2026-07-24 21:49:40 +02:00
commit 6cb5386205
469 changed files with 76191 additions and 0 deletions
@@ -0,0 +1,206 @@
<?php
function generateIntersectCache($mysqli, $baseDir) {
global $db_tabelle_kategorien;
global $db_tabelle_disziplinen;
global $db_tabelle_wertungstypen;
global $db_tabelle_tabellen_konfiguration;
global $db_tabelle_var;
// 1. Fetch all unique IDs you need to loop through
$all_programms = array_column(db_select($mysqli, $db_tabelle_kategorien, '`id`', '`aktiv` = ?', [1]) ?? [], 'id');
$all_geraete = array_column(db_select($mysqli, $db_tabelle_disziplinen, 'id') ?? [], 'id');
// 2. Fetch the static DB configs ONCE before starting the massive loop
$rang_note_id = db_get_variable($mysqli, $db_tabelle_var, ['rangNote']);
$json_geraet = db_get_var($mysqli, "SELECT `all_noten_json` FROM $db_tabelle_tabellen_konfiguration WHERE `type_slug` = ?", ["rankLive-geraet"]) ?: '';
$json_overview = db_get_var($mysqli, "SELECT `all_noten_json` FROM $db_tabelle_tabellen_konfiguration WHERE `type_slug` = ?", ["rankLive-overview"]) ?: '';
$noten_rank_live_geraet = json_decode($json_geraet, true) ?? [];
$noten_rank_live_overview = json_decode($json_overview, true) ?? [];
$notenConfig_db = db_select($mysqli, $db_tabelle_wertungstypen, '`berechnung_json`, `id`, `type`, `anzahl_laeufe_json`');
$noten_config = array_column($notenConfig_db, null, 'id');
$following_config_array = array_column($notenConfig_db, 'berechnung_json', 'id');
$all_inputs_noten_ids = array_filter(array_column($notenConfig_db, 'type', 'id'), fn($type) => $type === 'input');
$masterCache = [];
// 2. Extract ALL possible unique IDs dynamically from your JSON configurations
$max_runs = 1; // Default fallback to at least 1 run
foreach ($noten_config as $n_id => $data) {
$config = json_decode($data['anzahl_laeufe_json'], true);
foreach ($config as $geraetKey => $value) {
if ($geraetKey === 'default') {
$max_runs = max($max_runs, (int)$value);
continue;
}
if (is_array($value)) {
foreach ($value as $progKey => $runsCount) {
$max_runs = max($max_runs, (int)$runsCount);
}
}
}
}
// Ensure we have array lists instead of associative maps
$all_programms = array_values($all_programms);
$all_geraete = array_values($all_geraete);
// Generate standard run sequences (e.g., if max_runs is 2, creates [1, 2])
$all_runs = range(1, $max_runs);
$masterCache = [];
// 3. The Grand Loop
foreach ($all_programms as $programm_id) {
foreach ($all_geraete as $geraetId) {
foreach ($all_runs as $initNoteRun) {
$all_needed_noten = [];
foreach ($noten_rank_live_geraet as $ind => $s_note) {
$n_id = $s_note['n_id'];
$anzahl_laeufe_json = $noten_config[$n_id]['anzahl_laeufe_json'] ?? '';
$anzahl_laeufe = json_decode($anzahl_laeufe_json, true);
$g_id = ($s_note['g_id'] === 'A') ? (int) $geraetId : (int) $s_note['g_id'];
$run = (int) $s_note['r'];
$runs = $anzahl_laeufe[$g_id][(int) $programm_id] ?? $anzahl_laeufe[$g_id]['all'] ?? $anzahl_laeufe['default'] ?? 0;
if (((int) $runs) < $run) {
unset($noten_rank_live_geraet[$ind]);
continue;
}
$key = "$n_id|$g_id|$run";
if (!isset($all_needed_noten[$key])) {
$all_needed_noten[$key] = [
"r" => $run,
"g_id" => $g_id,
"n_id" => $n_id
];
}
}
foreach ($noten_rank_live_overview as $s_note) {
$n_id = $s_note['n_id'];
$g_id = $s_note['g_id'];
$run = $s_note['r'];
$key = "$n_id|$g_id|$run";
if (!isset($all_needed_noten[$key])) {
$all_needed_noten[$key] = [
"r" => $run,
"g_id" => $g_id,
"n_id" => $n_id
];
}
}
$all_updating_noten = [];
foreach ($following_config_array as $this_note_id => $s_note_abhaenige_rechnungen_json) {
$s_note_abhaenige_rechnungen = json_decode($s_note_abhaenige_rechnungen_json ?? '') ?? [];
foreach ($s_note_abhaenige_rechnungen as $s_rechnung) {
$this_note_geraet_id = $s_rechnung[1];
if ($this_note_geraet_id !== 'A' && (int) $this_note_geraet_id !== (int) $geraetId) {
continue;
}
$target_note_id = $s_rechnung[0];
$target_run_raw = $s_rechnung[2][0] ?? 'A';
$target_geraet_id_raw = $s_rechnung[2][1] ?? 'A';
$target_run = ($target_run_raw === 'A') ? $initNoteRun : (int) $target_run_raw;
$target_geraet_id = ($target_geraet_id_raw === 'A') ? $geraetId : (int) $target_geraet_id_raw;
$key = "$target_note_id|$target_geraet_id|$target_run";
if (!isset($all_updating_noten[$key])) {
$all_updating_noten[$key] = [
"r" => $target_run,
"g_id" => $target_geraet_id,
"n_id" => $target_note_id
];
}
}
}
foreach ($all_inputs_noten_ids as $n_id => $_) {
$anzahl_laeufe_json = $noten_config[$n_id]['anzahl_laeufe_json'] ?? '';
$anzahl_laeufe = json_decode($anzahl_laeufe_json, true);
$runs = $anzahl_laeufe[$geraetId][(int) $programm_id] ?? $anzahl_laeufe[$geraetId]['all'] ?? $anzahl_laeufe['default'] ?? 0;
if ($initNoteRun > $runs) {
continue;
}
$key = "$n_id|$geraetId|$initNoteRun";
if (!isset($all_updating_noten[$key])) {
$all_updating_noten[$key] = [
"r" => $initNoteRun,
"g_id" => $geraetId,
"n_id" => $n_id
];
}
}
$intersect_noten = array_intersect_key($all_updating_noten, $all_needed_noten);
$key = "$rang_note_id|0|1";
if (!isset($all_updating_noten[$key])) {
$all_updating_noten[$key] = [
"r" => 1,
"g_id" => 0,
"n_id" => $rang_note_id
];
}
$sql_where_array = [];
$sql_where_values = [];
$i = 1;
foreach ($intersect_noten as $s_note) {
$sql_where_values[] = $s_note['n_id'];
$sql_where_values[] = $s_note['g_id'];
$sql_where_values[] = $s_note['r'];
$sql_where_array[] = '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)';
}
$sql_where_string = '';
if (!empty($sql_where_values)) {
$sql_where_string = implode(' OR ', $sql_where_array);
}
if (!empty($intersect_noten)) {
$masterCache[$programm_id][$geraetId][$initNoteRun] = ["SQL" => $sql_where_string, "values" => $sql_where_values, "intersect_noten" => $intersect_noten];
}
}
}
}
// 4. Save to file
$fileContent = "<?php\nreturn " . var_export($masterCache, true) . ";";
file_put_contents($baseDir . '/../scripts/cache/display-dependencies.php', $fileContent);
}
+57
View File
@@ -0,0 +1,57 @@
<?php
function regenerate_noten_cache($mysqli, $db_tabelle_wertungstypen, $baseDir) {
if (!function_exists('db_select')) require $baseDir . '/../scripts/db/db-functions.php';
$notenRechnerCache = new NotenRechner();
$all = db_select($mysqli, $db_tabelle_wertungstypen, "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);
}
+661
View File
@@ -0,0 +1,661 @@
<?php
return array (
4 =>
array (
1 =>
array (
1 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 60,
1 => 1,
2 => 1,
3 => 70,
4 => 1,
5 => 1,
6 => 80,
7 => 0,
8 => 1,
9 => 40,
10 => 1,
11 => 1,
),
'intersect_noten' =>
array (
'60|1|1' =>
array (
'r' => 1,
'g_id' => 1,
'n_id' => 60,
),
'70|1|1' =>
array (
'r' => 1,
'g_id' => 1,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
'40|1|1' =>
array (
'r' => 1,
'g_id' => 1,
'n_id' => 40,
),
),
),
2 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 60,
1 => 1,
2 => 2,
3 => 70,
4 => 1,
5 => 1,
6 => 80,
7 => 0,
8 => 1,
9 => 40,
10 => 1,
11 => 2,
),
'intersect_noten' =>
array (
'60|1|2' =>
array (
'r' => 2,
'g_id' => 1,
'n_id' => 60,
),
'70|1|1' =>
array (
'r' => 1,
'g_id' => 1,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
'40|1|2' =>
array (
'r' => 2,
'g_id' => 1,
'n_id' => 40,
),
),
),
),
2 =>
array (
1 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 60,
1 => 2,
2 => 1,
3 => 70,
4 => 2,
5 => 1,
6 => 80,
7 => 0,
8 => 1,
9 => 40,
10 => 2,
11 => 1,
),
'intersect_noten' =>
array (
'60|2|1' =>
array (
'r' => 1,
'g_id' => 2,
'n_id' => 60,
),
'70|2|1' =>
array (
'r' => 1,
'g_id' => 2,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
'40|2|1' =>
array (
'r' => 1,
'g_id' => 2,
'n_id' => 40,
),
),
),
2 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 70,
1 => 2,
2 => 1,
3 => 80,
4 => 0,
5 => 1,
),
'intersect_noten' =>
array (
'70|2|1' =>
array (
'r' => 1,
'g_id' => 2,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
),
),
),
3 =>
array (
1 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 60,
1 => 3,
2 => 1,
3 => 70,
4 => 3,
5 => 1,
6 => 80,
7 => 0,
8 => 1,
9 => 40,
10 => 3,
11 => 1,
),
'intersect_noten' =>
array (
'60|3|1' =>
array (
'r' => 1,
'g_id' => 3,
'n_id' => 60,
),
'70|3|1' =>
array (
'r' => 1,
'g_id' => 3,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
'40|3|1' =>
array (
'r' => 1,
'g_id' => 3,
'n_id' => 40,
),
),
),
2 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 70,
1 => 3,
2 => 1,
3 => 80,
4 => 0,
5 => 1,
),
'intersect_noten' =>
array (
'70|3|1' =>
array (
'r' => 1,
'g_id' => 3,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
),
),
),
4 =>
array (
1 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 60,
1 => 4,
2 => 1,
3 => 70,
4 => 4,
5 => 1,
6 => 80,
7 => 0,
8 => 1,
9 => 40,
10 => 4,
11 => 1,
),
'intersect_noten' =>
array (
'60|4|1' =>
array (
'r' => 1,
'g_id' => 4,
'n_id' => 60,
),
'70|4|1' =>
array (
'r' => 1,
'g_id' => 4,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
'40|4|1' =>
array (
'r' => 1,
'g_id' => 4,
'n_id' => 40,
),
),
),
2 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 70,
1 => 4,
2 => 1,
3 => 80,
4 => 0,
5 => 1,
),
'intersect_noten' =>
array (
'70|4|1' =>
array (
'r' => 1,
'g_id' => 4,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
),
),
),
),
13 =>
array (
1 =>
array (
1 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 60,
1 => 1,
2 => 1,
3 => 70,
4 => 1,
5 => 1,
6 => 80,
7 => 0,
8 => 1,
9 => 40,
10 => 1,
11 => 1,
),
'intersect_noten' =>
array (
'60|1|1' =>
array (
'r' => 1,
'g_id' => 1,
'n_id' => 60,
),
'70|1|1' =>
array (
'r' => 1,
'g_id' => 1,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
'40|1|1' =>
array (
'r' => 1,
'g_id' => 1,
'n_id' => 40,
),
),
),
2 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 60,
1 => 1,
2 => 2,
3 => 70,
4 => 1,
5 => 1,
6 => 80,
7 => 0,
8 => 1,
9 => 40,
10 => 1,
11 => 2,
),
'intersect_noten' =>
array (
'60|1|2' =>
array (
'r' => 2,
'g_id' => 1,
'n_id' => 60,
),
'70|1|1' =>
array (
'r' => 1,
'g_id' => 1,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
'40|1|2' =>
array (
'r' => 2,
'g_id' => 1,
'n_id' => 40,
),
),
),
),
2 =>
array (
1 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 60,
1 => 2,
2 => 1,
3 => 70,
4 => 2,
5 => 1,
6 => 80,
7 => 0,
8 => 1,
9 => 40,
10 => 2,
11 => 1,
),
'intersect_noten' =>
array (
'60|2|1' =>
array (
'r' => 1,
'g_id' => 2,
'n_id' => 60,
),
'70|2|1' =>
array (
'r' => 1,
'g_id' => 2,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
'40|2|1' =>
array (
'r' => 1,
'g_id' => 2,
'n_id' => 40,
),
),
),
2 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 70,
1 => 2,
2 => 1,
3 => 80,
4 => 0,
5 => 1,
),
'intersect_noten' =>
array (
'70|2|1' =>
array (
'r' => 1,
'g_id' => 2,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
),
),
),
3 =>
array (
1 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 60,
1 => 3,
2 => 1,
3 => 70,
4 => 3,
5 => 1,
6 => 80,
7 => 0,
8 => 1,
9 => 40,
10 => 3,
11 => 1,
),
'intersect_noten' =>
array (
'60|3|1' =>
array (
'r' => 1,
'g_id' => 3,
'n_id' => 60,
),
'70|3|1' =>
array (
'r' => 1,
'g_id' => 3,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
'40|3|1' =>
array (
'r' => 1,
'g_id' => 3,
'n_id' => 40,
),
),
),
2 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 70,
1 => 3,
2 => 1,
3 => 80,
4 => 0,
5 => 1,
),
'intersect_noten' =>
array (
'70|3|1' =>
array (
'r' => 1,
'g_id' => 3,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
),
),
),
4 =>
array (
1 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 60,
1 => 4,
2 => 1,
3 => 70,
4 => 4,
5 => 1,
6 => 80,
7 => 0,
8 => 1,
9 => 40,
10 => 4,
11 => 1,
),
'intersect_noten' =>
array (
'60|4|1' =>
array (
'r' => 1,
'g_id' => 4,
'n_id' => 60,
),
'70|4|1' =>
array (
'r' => 1,
'g_id' => 4,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
'40|4|1' =>
array (
'r' => 1,
'g_id' => 4,
'n_id' => 40,
),
),
),
2 =>
array (
'SQL' => '(`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?) OR (`note_bezeichnung_id` = ? AND `geraet_id` = ? AND `run_number` = ?)',
'values' =>
array (
0 => 70,
1 => 4,
2 => 1,
3 => 80,
4 => 0,
5 => 1,
),
'intersect_noten' =>
array (
'70|4|1' =>
array (
'r' => 1,
'g_id' => 4,
'n_id' => 70,
),
'80|0|1' =>
array (
'r' => 1,
'g_id' => 0,
'n_id' => 80,
),
),
),
),
),
);
+133
View File
@@ -0,0 +1,133 @@
<?php
return [
'default_values' => array (
10 => 0.0,
11 => 0.0,
20 => 0.0,
40 => 0.0,
50 => 0.0,
60 => 0.0,
70 => 0.0,
80 => 0.0,
),
'pro_geraet' => array (
10 => 1,
11 => 1,
20 => 1,
40 => 1,
50 => 1,
60 => 1,
70 => 1,
80 => 0,
),
'geraete_json' => array (
10 =>
array (
),
11 =>
array (
),
20 =>
array (
),
40 =>
array (
),
50 =>
array (
),
60 =>
array (
),
70 =>
array (
),
80 =>
array (
0 => 0,
),
),
'anzahl_laeufe_json' => array (
10 =>
array (
'default' => 1,
1 =>
array (
'all' => 2,
),
),
11 =>
array (
'default' => 1,
1 =>
array (
'all' => 2,
),
),
20 =>
array (
'default' => 1,
1 =>
array (
'all' => 2,
),
),
40 =>
array (
'default' => 1,
1 =>
array (
'all' => 2,
),
),
50 =>
array (
'default' => 1,
1 =>
array (
'all' => 2,
),
),
60 =>
array (
'default' => 1,
1 =>
array (
'all' => 2,
),
),
70 =>
array (
'default' => 1,
),
80 =>
array (
'default' => 0,
0 =>
array (
'all' => 1,
),
),
),
'rechnungen' => array (
10 => '',
11 => '',
20 => '({10[S]} + {11[S]}) / 2->RSGS',
40 => '',
50 => '',
60 => '10 - {20[S]} + {40[S]} - {50[S]}->RSGS',
70 => 'AVGR({60[S]})->R1GS',
80 => '{70[1]} + {70[2]} + {70[3]} + {70[4]}->R1G0',
),
'nullstellen' => array (
10 => 3,
11 => 3,
20 => 3,
40 => 2,
50 => 2,
60 => 2,
70 => 2,
80 => 2,
)
];
+163
View File
@@ -0,0 +1,163 @@
<?php
return [
'default_values' => array (
10 => 0.0,
11 => 0.0,
20 => 0.0,
40 => 0.0,
50 => 0.0,
60 => 0.0,
70 => 0.0,
80 => 0.0,
),
'pro_geraet' => array (
10 => 1,
11 => 1,
20 => 1,
40 => 1,
50 => 1,
60 => 1,
70 => 1,
80 => 0,
),
'geraete_json' => array (
10 =>
array (
),
11 =>
array (
),
20 =>
array (
),
40 =>
array (
),
50 =>
array (
),
60 =>
array (
),
70 =>
array (
),
80 =>
array (
0 => 0,
),
),
'anzahl_laeufe_json' => array (
10 =>
array (
'default' => 1,
1 =>
array (
'all' => 2,
),
),
11 =>
array (
'default' => 1,
1 =>
array (
'all' => 2,
),
),
20 =>
array (
'default' => 1,
1 =>
array (
'all' => 2,
),
),
40 =>
array (
'default' => 1,
1 =>
array (
'all' => 2,
),
),
50 =>
array (
'default' => 1,
1 =>
array (
'all' => 2,
),
),
60 =>
array (
'default' => 1,
1 =>
array (
'all' => 2,
),
),
70 =>
array (
'default' => 1,
),
80 =>
array (
'default' => 0,
0 =>
array (
'all' => 1,
),
),
),
'nullstellen' => array (
10 => 3,
11 => 3,
20 => 3,
40 => 2,
50 => 2,
60 => 2,
70 => 2,
80 => 2,
),
'zeige_in_rank_live' => array (
10 => 1,
11 => 1,
20 => 1,
40 => 1,
50 => 1,
60 => 1,
70 => 1,
80 => 1,
),
'display_string' => array (
10 => '${note}',
11 => '${note}',
20 => '${note}',
40 => 'D ${note}',
50 => '${note}',
60 => '${note}',
70 => '${note}',
80 => '${note}',
),
'store_run' => array (
10 => 'A',
11 => 'A',
20 => 'A',
40 => 'A',
50 => 'A',
60 => 'A',
70 => 1,
80 => 1,
),
'store_geraet' => array (
10 => 'A',
11 => 'A',
20 => 'A',
40 => 'A',
50 => 'A',
60 => 'A',
70 => 'A',
80 => 0,
)
];