'zondag', 1 => 'maandag', 2 => 'dinsdag', 3 => 'woensdag', 4 => 'donderdag', 5 => 'vrijdag', 6 => 'zaterdag' ); $r_months = array( 1 => 'januari', 2 => 'februari', 3 => 'maart', 4 => 'april', 5 => 'mei', 6 => 'juni', 7 => 'juli', 8 => 'augustus', 9 => 'september', 10 => 'oktober', 11 => 'november', 12 => 'december' ); function deform_date($date) { global $r_days, $r_months; if (!$date) return ''; $r_timestamp = strtotime($date); $r_dm = date('j', $r_timestamp); $r_dw = date('w', $r_timestamp); $r_m = date('n', $r_timestamp); return $r_date = $r_days[$r_dw].' '.$r_dm.' '.$r_months[$r_m]; } $db = mdb2_open($dsn); // pak het nieuwste basisrooster $lijst_id = mdb2_single_val($db, "SELECT MAX(lijst_id) FROM tijdverlengers.lijst"); $lijst_time = mdb2_single_val($db, "SELECT t_creat FROM tijdverlengers.lijst WHERE lijst_id = $lijst_id"); $herinfo = get_better_herinfo($db, $_GET); if ($herinfo === NULL) { unset($_SESSION['type']); error_user('Geen aankomende herkansingsperiode', 'Het is momenteel niet mogelijk om te zien welke leerlingen zich voor welke herkansing heeft opgegeven. Klopt dit niet? Neem contact op met de beheerder, '.$sysop.' <'.$sysop_email.'>'); } $year = mdb2_single_val($db, "SELECT year_long FROM $kldv.years WHERE year_id = %i", $herinfo['year_id']); if ($_GET['ppl_id'] == '') $or = '1=1'; else $or = '1=0'; if ($_GET['pta_id'] == '') $or2 = '1=1'; else $or2 = '1=0'; $groepeer = 'LESGROEP'; if (isset($_GET['rooster'])) { $rooster_id = get_rooster_id($db, $herinfo['period_id']); if ($rooster_id) { $rooster_info = mdb2_single_assoc($db, "SELECT * FROM rooster_ids WHERE rooster_id = $rooster_id"); //print_r($rooster_info); } else error_user("Rooster niet beschikbaar", "Het rooster kan niet worden getoond, omdat het nog niet beschikbaar is."); if (isset($_GET['groepeer'])) { if ($_GET['groepeer'] == 'LESGROEP') { $groepeer = 'LESGROEP'; } else if ($_GET['groepeer'] == 'DOCENT') { $groepeer = 'DOCENT'; } else if ($_GET['groepeer'] == 'LOKAAL') { $groepeer = 'LOKAAL'; } else error_system("invalid value for groepeer"); } } else $rooster_id = 0; switch ($groepeer) { case 'LESGROEP': $order_by = 'ORDER BY doc.ppl_login, grp_home, grp_name, info, ppl.ppl_surname, ppl.ppl_forename, ppl.ppl_prefix'; break; case 'DOCENT': $order_by = 'ORDER BY info, lok, doc.ppl_login, ppl.ppl_surname, ppl.ppl_forename, ppl.ppl_prefix'; break; case 'LOKAAL': $order_by = 'ORDER BY info, lok, ppl.ppl_surname, ppl.ppl_forename, ppl.ppl_prefix'; break; } $result2 = mdb2_query($db, << {$herinfo['period_deadline']} JOIN $kldv.grp USING (grp_id) JOIN $kldv.subj USING (subj_id) JOIN $kldv.grp2subj ON grp2subj.grp_id = ppl2grp.grp_id AND grp2subj.subj_id = rex.subj_id JOIN $kldv.ppl2grp2subj ON ppl2grp2subj.grp2subj_id = grp2subj.grp2subj_id AND ppl2grp2subj.ppl_enter <= {$herinfo['period_deadline']} AND ppl2grp2subj.ppl_exit > {$herinfo['period_deadline']} JOIN $kldv.ppl AS doc ON doc.ppl_id = ppl2grp2subj.ppl_id JOIN ptas USING (pta_id) JOIN $kldv.ppl ON ppl.ppl_id = rex.ppl_id LEFT JOIN roosterdetail ON roosterdetail.rooster_id = $rooster_id AND roosterdetail.pta_id = rex.pta_id AND roosterdetail.grp_id = grp.grp_id LEFT JOIN ( SELECT llnr, text FROM tijdverlengers.lijst JOIN tijdverlengers.opm USING (opm_id) LEFT JOIN tijdverlengers.lijst AS next_lijst ON next_lijst.prev_lijst_id = lijst.lijst_id WHERE next_lijst.prev_lijst_id IS NULL ) AS opm ON opm.llnr = ppl.ppl_login WHERE rex.period_id = %i AND (doc.ppl_id = '%q' OR $or) AND (rex.pta_id = '%q' OR $or2) AND stvt != 'BLOKKADE' GROUP BY rex_id $order_by -- ORDER BY doc.ppl_login, grp_home, grp_name, info, ppl.ppl_surname, ppl.ppl_forename, ppl.ppl_prefix EOQ , $herinfo['period_id'], $_GET['ppl_id'], $_GET['pta_id']); $header = $herinfo['period_desc'].' '.$year; if (isset($_GET['debug'])) { mdb2_res_table($result2); } if (!$result2->numRows()) { error_user('Geen herkansingen gevonden voor selectie', 'Gevraagde toetsen hebben geen herkansers'); } $row = $result2->fetchRow(MDB2_FETCHMODE_ASSOC); $out = array(); $doc = $row['doc']; $docs = explode(',', $doc); $st = $row['info']; $date = $row['date']; $start = $row['start']; $surv = $row['surv']; $lok = $row['lok']; $end = $row['end']; $lok = $row['lok']; $vak = $row['subj_abbrev']; $groep = $row['grp_name']; $groeps = array($groep); $home = $row['grp_home']; $lln = array(); $first = true; function merge_groups($groups) { sort($groups); $compressed = array(); foreach ($groups as $group) { $number = substr($group, -1); $root = substr($group, 0, -1); if (!isset($groups[$root])) { $groups[$root] = array(); } $compressed[$root][] = $number; } $output = array(); foreach ($compressed as $key => $values) { $output[] = $key.implode(',', $values); } $ret = implode(',', $output); return $ret; } do { if ($st != $row['info'] || $lok != $row['lok'] || ($groepeer == 'LESGROEP' && $groep != $row['grp_name']) || ($groepeer == 'DOCENT' && $doc != $row['doc']) ) { sort($groeps); sort($docs); merge_groups($groeps); $out[] = array( 'doc' => implode(',', $docs), 'groepkaal' => merge_groups($groeps).($home?'/'.$vak:''), //'groepkaal' => implode(',', $groeps).($home?'/'.$vak:''), 'lijst' => $lln, 'st' => $st, 'date' => $date, 'start' => $start, 'end' => $end, 'lok' => $lok, 'surv' => $surv ); $doc = $row['doc']; $docs = explode(',', $doc); $st = $row['info']; $date = $row['date']; $start = $row['start']; $end = $row['end']; $vak = $row['subj_abbrev']; $groep = $row['grp_name']; $groeps = array($groep); $home = $row['grp_home']; $lok = $row['lok']; $surv = $row['surv']; $lln = array(); } else if ($groepeer != 'LESGROEP') { if ($groep != $row['grp_name']) { $groep = $row['grp_name']; $home &= $row['grp_home']; if (!in_array($row['grp_name'], $groeps)) $groeps[] = $row['grp_name']; } if ($groepeer == 'LOKAAL') { if ($doc != $row['doc']) { $doc = $row['doc']; foreach (explode(',', $doc) as $newdoc) { if (!in_array($newdoc, $docs)) $docs[] = $newdoc; } } } } $first = false; $lln[] = array('llnr' => $row['ppl_login'], 'naam' => $row['naam'], 'text' => $row['text'], 'grp' => $row['grp_name']); } while (($row = $result2->fetchRow(MDB2_FETCHMODE_ASSOC))); sort($docs); sort($groeps); $out[] = array( 'doc' => implode(',', $docs), //'groepkaal' => implode(',', $groeps).($home?'/'.$vak:''), 'groepkaal' => merge_groups($groeps).($home?'/'.$vak:''), //'doc' => $doc, //'groepkaal' => $groep, //.($home?'/'.$vak:''), 'lijst' => $lln, 'st' => $st, 'date' => $date, 'start' => $start, 'end' => $end, 'lok' => $lok, 'surv' => $surv ); $a3 = false; $landscape = false; $toetsweek = true; $lege_hokjes = 0; switch ($_GET['submit']) { case 'Beide': $frontje = true; $geenlijst = false; break; case 'Alleen lijst(en)': $frontje = false; $geenlijst = false; break; case 'Alleen frontje(s)': $frontje = true; $geenlijst = true; break; case 'Wolf (A4/landscape)': $toetsweek = false; $frontje = false; $geenlijst = false; $landscape = true; $lege_hokjes = 26; break; } ?> klassenlijst(en)
Wil je enkelzijdig printen? Kies als printer 'followme-zwart-enkelzijdig'...

nrnaam/llnr/klastijdverlenging?presenttijd
Gebaseerd op tijdsverlengerslijst versie en herkansingsrooster versie ().

$row['llnr'], 'text' => $row['text']); } } ?>
TOETS
GROEP/VAK
DOCENT
DATUM
TIJD
TOEGESTANE HULPMIDDELEN EN EVENTUELE OPMERKINGEN
LOKAAL
SURVEILLANT
AANTALLEN
NOOD?
bel toestelnummr
VERR/RIJS: 436/102
FOLE: ???
ICT helpdesk: 488
MEYR: 420 (of 06-41917541)

Gebaseerd op tijdsverlengerslijst versie en herkansingsrooster versie () .