'1e', '09:20:00' => '2e', '11:20:00' => '4e', '12:10:00' => '5e', '14:20:00' => '7e', '15:10:00' => '8e' ); if ($s1 == $s2) return; echo("VOEGSAMEN $t1 $t2 $s1 $s2\n"); if (isset($uren[$t1])) $t1 = $uren[$t1]; if (isset($uren[$t2])) $t2 = $uren[$t2]; mdb2_exec($db, "UPDATE toetsen SET toets_surv = '%q' WHERE toets_id = $id", "$t1:$s1,$t2:$s2"); } */ /* function insert_or_merge($db, $file_id, $formula, $date, $start, $end, $afd, $vak, $grp, $lok, $surv) { echo("insert $formula $date $start $end $afd $vak $grp $lok $surv\n"); $helft1 = mdb2_single_assoc($db, "SELECT * FROM toetsen WHERE toets_end = '%q' AND file_id = $file_id AND toets_formula = '%q' AND toets_afd = '%q' AND toets_vak = '%q' AND toets_grp = '%q' AND toets_lok = '%q'", $start, $formula, $afd, $vak, $grp, $lok); $helft2 = mdb2_single_assoc($db, "SELECT * FROM toetsen WHERE toets_start = '%q' AND file_id = $file_id AND toets_formula = '%q' AND toets_afd = '%q' AND toets_vak = '%q' AND toets_grp = '%q' AND toets_lok = '%q'", $end, $formula, $afd, $vak, $grp, $lok); if ($helft1) { echo("helft 1 hebben we al\n"); // dan moeten het het tijdstip updaten en de surveillanten samenvoegen mdb2_exec($db, "UPDATE toetsen SET toets_end = '%q' WHERE toets_id = {$helft1['toets_id']}", $end); // surveillanten samenvoegen voegsamen($db, $helft1['toets_id'], $helft1['toets_start'], $start.':00', $helft1['toets_surv'], $surv); print_r($helft1); } else if ($helft2) { echo("helft 2 hebben we al\n"); mdb2_exec($db, "UPDATE toetsen SET toets_start = '%q' WHERE toets_id = {$helft2['toets_id']}", $start); // surveillanten samenvoegen voegsamen($db, $helft2['toets_id'], $start.':00', $helft2['toets_start'], $surv, $helft2['toets_surv']); print_r($helft2); } else if (!$gotit) { mdb2_exec($db, "INSERT INTO toetsen ( file_id, toets_formula, toets_date, toets_start, toets_end, toets_afd, toets_vak, toets_grp, toets_lok, toets_surv ) VALUES ( $file_id, '%q', '%q', '%q', '%q', '%q', '%q', '%q', '%q', '%q' )", $formula, $date, $start, $end, $afd, $vak, $grp, $lok, $surv); } } */ function parse_udmz($filename, $file_id) { global $db; $udmz = read_udmz_file($filename); print_r($udmz['Toets']); echo('filename='.$filename.' file_id='.$file_id."\n"); foreach ($udmz['Toets'] as $toets) { $afdvaks = explode(',', $toets['afdvak']); /* if (count($afdvaks) > 1) { if ($toets['afdvak'] != '5H.kualg,5H.kubv,5H.kumu' && $toets['afdvak'] != '6V.cen,6V.entl,5H.fatl' && $toets['afdvak'] != '5H.ak,6V.ltc' && $toets['afdvak'] != '5H.mo,6V.netl' && $toets['afdvak'] != '5H.cen,5H.entl' && $toets['afdvak'] != '5H.sptl,6V.sptl' && $toets['afdvak'] != '5H.wisA,5H.wisB' && $toets['afdvak'] != '6V.wisA,6V.wisB,6V.wisC') error_system("onbekend gecombineerd vak {$toets['afdvak']}"); }*/ //print_r($toets); if (!preg_match('/\[(\d{8}):(\d{2}):(\d{2}):(\d{2})-(\d{8}):(\d{2}):(\d{2}):(\d{2})>/', $toets['TIMESET'], $matches)) error_system('ongeldige waarde van TIMESET'); if ($matches[1] != $matches[5]) error_system('datum van begin en eind niet hetzelfde'); $date = $matches[1]; $start = "{$matches[2]}:{$matches[3]}"; $end = "{$matches[6]}:{$matches[7]}"; echo("date=$date start=$start end=$end\n"); foreach ($afdvaks as $count => $afdvak) { if ($count != 0) continue; if ($afdvak != '') { $split = explode('.', $afdvak); echo('afd = '.$split[0].' vak = '.$split[1]."\n"); // vergeet bepaalde gecombineerde vakken (moet alle varianten handelen waarop // wordt gecheckt bij if (count($afdvaks)) ... // if ($split[1] == 'cen' || // $split[1] == 'kumu' || // $split[1] == 'kubv') continue; //if ($split[1] == 'wisB' && $split[0] == '6V') $split[1] = 'wisBC'; } else { $split = array('', ''); } $aantal = 0; if ($toets['Grp'] != '') { $groepen = explode(',', $toets['Grp']); print_r($split); foreach ($groepen as $groep) { echo("groep = $groep\n"); $cat_and_name = explode('.', $groep); if (count($cat_and_name) == 2) { $grp = $cat_and_name[1]; } else { $grp = $cat_and_name[0]; } print_r($cat_and_name); $aantal += count(explode(',', $udmz['Groep'][$split[0]][$grp]['SET'])); } } print_r($groepen); //insert_or_merge($db, $file_id, $toets['FORMULA'], $date, $start, $end, $split[0], $split[1], $toets['Grp'], isset($_POST['hide_lokalen'])?'':$toets['Lok'], isset($_POST['hide_surveillanten'])?'':$toets['Doc']); mdb2_exec($db, "INSERT INTO toetsen ( file_id, toets_formula, toets_date, toets_start, toets_end, toets_afd, toets_vak, toets_afdvak, toets_grp, toets_lok, toets_surv, toets_aantal ) VALUES ( $file_id, '%q', '%q', '%q', '%q', '%q', '%q', '%q', '%q', '%q', '%q', $aantal )", $toets['FORMULA'], $date, $start, $end, $split[0], $split[1], $toets['afdvak'], $toets['Grp'], isset($_POST['hide_lokalen'])?'':$toets['Lok'], isset($_POST['hide_surveillanten'])?'':$toets['Doc']); } } /* foreach ($udmz['Mondeling'] as $mondeling) { $afdvaks = explode(',', $mondeling['afdvak']); if (count($afdvaks) != 1 || $afdvaks[0] == '') error_system("dit systeem verwacht op dit moment 1 afdvaks"); if (!preg_match('/\[(\d{8}):(\d{2}):(\d{2}):(\d{2})-(\d{8}):(\d{2}):(\d{2}):(\d{2})>/', $mondeling['TIMESET'], $matches)) error_system('ongeldige waarde van TIMESET'); if ($matches[1] != $matches[5]) error_system('datum van begin en eind niet hetzelfde'); $date = $matches[1]; $start = "{$matches[2]}:{$matches[3]}"; $end = "{$matches[6]}:{$matches[7]}"; echo("date=$date start=$start end=$end\n"); foreach ($afdvaks as $afdvak) { $split = explode('.', $afdvak); echo('afd = '.$split[0].' vak = '.$split[1]."\n"); $afdlln = explode(',', $mondeling['Lln']); echo("afdlln:\n"); print_r($afdlln); if (count($afdlln) != 1 || $afdlln[0] == '') error_system("dit systeem verwacht op dit moment 1 lln per mondeling"); echo("splitlln:\n"); $splitlln = explode('.', $afdlln[0]); print_r($splitlln); $ll = $splitlln[1]; mdb2_exec($db, "INSERT INTO mondelingen ( file_id, mondeling_date, mondeling_start, mondeling_end, mondeling_afd, mondeling_vak, mondeling_ll, mondeling_lok, mondeling_doc) VALUES ( $file_id, '%q', '%q', '%q', '%q', '%q', '%q', '%q', '%q' )", $date, $start, $end, $split[0], $split[1], $ll, isset($_POST['hide_lokalen'])?'':$mondeling['Lok'], $mondeling['Doc']); } } */ return true; } if (preg_match('/.udmz$/', $filename, $matches)) { $exists = mdb2_single_val($db, "SELECT COUNT(*) FROM files WHERE file_md5 = '%q'", $md5); echo('exists='.$exists."\n"); if (!$exists) { if (!move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $data.$md5)) { error_system('unable to store uploaded file'); } } mdb2_exec($db, "INSERT INTO files ( file_md5, file_name, file_version, file_ok ) VALUES ( '%q', '%q', %i, 0 )", $md5, $filename, $matches[1]); $file_id = mdb2_single_val($db, 'SELECT LAST_INSERT_ID()'); echo("file_id=$file_id\n"); if (parse_udmz($data.$md5, $file_id)) { echo("succes\n"); mdb2_exec($db, "UPDATE files SET file_ok = 1 WHERE file_id = $file_id"); } else { echo("fail!\n"); } } else error_system('bestandsnaam heeft onjuiste vorm'); ?>