$tmp) { if (!$tmp['ignore']) $conditions[$type] = get_condition_set($type); } return implode('-', $conditions); } function get_hide_set($stuff) { $hide = ''; foreach ($stuff as $type => $tmp) { if (!$tmp['ignore']) $hide .= ($tmp['hidden']?'V':'T'); } return $hide; } function get_group_set($stuff) { $group = ''; foreach ($stuff as $type => $tmp) { if (!$tmp['ignore']) $group .= (isset($tmp['group_by'])?'S':'G'); } return $group; } function get_filter_checkboxen_helper($type, $ids) { global $db; return mdb2_single_val($db, <<', eq_weergave) ORDER BY eq_weergave ) FROM eq JOIN eq_type USING (eq_type_id) WHERE eq_type = '%q' EOQ , $type); } function get_stuff(&$stuff) { global $db; foreach ($stuff as $type => $tmp) { $eq_type_id = mdb2_single_val($db, "SELECT eq_type_id FROM eq_type WHERE eq_type = '%q'", $type); $stuff[$type]['condition'] = get_condition_helper($type); $stuff[$type]['filter_checkboxen'] = get_filter_checkboxen_helper($type, $stuff[$type]['condition']); if (isset($_GET['i_'.$type]) && isset($tmp['magnegeer'])) { $checked = ' checked'; $stuff[$type]['ignore'] = 1; } else { $checked = ''; $stuff[$type]['ignore'] = 0; } $stuff[$type]['ignore_checkbox'] = << EOHTML; if (!$stuff[$type]['ignore']) $stuff[$type]['join'] = << EOHTML; if (isset($_GET['g_'.$type])) { if (!$stuff[$type]['hidden'] && !$stuff[$type]['ignore']) $stuff[$type]['select'] = "GROUP_CONCAT(DISTINCT $type) $type"; $checked = ' checked'; } else { if (!$stuff[$type]['hidden'] && !$stuff[$type]['ignore']) $stuff[$type]['select'] = $type; if (!$stuff[$type]['ignore']) $stuff[$type]['group_by'] = $type; $checked = ''; } $stuff[$type]['group_checkbox'] = << EOHTML; } } function show_checkbox_helper($type, $info) { if (isset($info['magnegeer'])) { echo("
$type: ".$info['ignore_checkbox'].' negeer,'.$info['hide_checkbox'].' verberg, '.$info['group_checkbox'].' groepeer, filter: '.$info['filter_checkboxen']."\n"); } else { echo("
$type: ".$info['hide_checkbox'].' verberg, '.$info['group_checkbox'].' groepeer, filter: '.$info['filter_checkboxen']."\n"); } } function show_checkboxen($stuff) { foreach ($stuff as $type => $info) { show_checkbox_helper($type, $info); } } function get_sgj($stuff) { $sgj = array ( 'select' => '', 'group_by' => '', 'join' => '' ); foreach ($stuff as $type => $data) { if (isset($data['join'])) $sgj['join'] .= $data['join']."\n"; if (isset($data['select'])) $sgj['select'] .= ', '.$data['select']; if (isset($data['group_by'])) $sgj['group_by'] .= ', '.$data['group_by']; } return $sgj; } function bril_add_tel(&$bril, $vak) { global $vak_eq_type_id; if (!$vak_eq_type_id) fatal("invalid global value for vak_eq_type_id"); $bril['select'][] = "COUNT({$vak}_tel) {$vak}"; $bril['join'][] = << array( 'mvt' => array('type' => 'vakken', 'vakken' => 'dutl,fatl,sptl'), 'kct' => array('type' => 'vakken', 'vakken' => 'lakc,grkc'), 'beta' => array('type' => 'vakken', 'vakken' => 'wisa,wisb,wisc,nat,schk,nlt'), 'zaak' => array('type' => 'vakken', 'vakken' => 'ges,ak,econ,mo,fi,biol,maw'), 'kunst' => array('type' => 'vakken', 'vakken' => 'kubv,kumu'), 'bsm' => array('type' => 'vakken', 'vakken' => 'bsm'), ), 'H.CM' => array( 'pa' => array('type' => 'vakken', 'vakken' => 'ges'), 'pbc_v' => array('type' => 'vakken', 'vakken' => 'dutl,fatl,sptl'), 'pc_v' => array('type' => 'vakken', 'vakken' => 'kubv,kumu'), 'pd_v' => array('type' => 'vakken', 'vakken' => 'ak,maw,econ'), 'v' => array('type' => 'vakken', 'vakken' => 'wisa,wisb,wisc,fi,biol,bsm,mo,nat,nlt,schk,lakc,grkc') ), 'A.CM' => array( 'pa' => array('type' => 'vakken', 'vakken' => 'wisa,wisb,wisc'), 'pb' => array('type' => 'vakken', 'vakken' => 'ges'), 'pc_g' => array('type' => 'vakken', 'vakken' => 'dutl,fatl,sptl'), 'pc_v' => array('type' => 'vakken', 'vakken' => 'kubv,kumu,fi'), 'pd_v' => array('type' => 'vakken', 'vakken' => 'ak,maw,econ'), 'v' => array('type' => 'vakken', 'vakken' => 'biol,bsm,mo,nat,nlt,schk,grkc,lakc') ), 'G.CM' => array( 'pa' => array('type' => 'vakken', 'vakken' => 'wisa,wisb,wisc'), 'pb' => array('type' => 'vakken', 'vakken' => 'ges'), 'pc_g' => array('type' => 'vakken', 'vakken' => 'lakc,grkc'), 'pc_v' => array('type' => 'vakken', 'vakken' => 'dutl,fatl,sptl,kubv,kumu,fi'), 'pd_v' => array('type' => 'vakken', 'vakken' => 'ak,maw,econ'), 'v' => array('type' => 'vakken', 'vakken' => 'biol,bsm,mo,nat,nlt,schk') ), 'H.EM' => array( 'pa' => array('type' => 'vakken', 'vakken' => 'wisa,wisb'), 'pb' => array('type' => 'vakken', 'vakken' => 'econ'), 'pc' => array('type' => 'vakken', 'vakken' => 'ges'), 'pd_v' => array('type' => 'vakken', 'vakken' => 'dutl,fatl,sptl,mo,ak,maw'), 'v' => array('type' => 'vakken', 'vakken' => 'fi,wisc,kumu,kubv,biol,bsm,nat,nlt,schk,grkc,lakc'), ), 'A.EM' => array( 'pa' => array('type' => 'vakken', 'vakken' => 'wisa,wisb'), 'pb' => array('type' => 'vakken', 'vakken' => 'econ'), 'pc' => array('type' => 'vakken', 'vakken' => 'ges'), 'pd_v' => array('type' => 'vakken', 'vakken' => 'mo,ak,maw'), 'pd_g' => array('type' => 'vakken', 'vakken' => 'dutl,fatl,sptl'), 'v' => array('type' => 'vakken', 'vakken' => 'fi,wisc,kumu,kubv,biol,bsm,nat,nlt,schk,grkc,lakc'), ), 'G.EM' => array( 'pa' => array('type' => 'vakken', 'vakken' => 'econ'), 'pb' => array('type' => 'vakken', 'vakken' => 'ges'), 'pc' => array('type' => 'vakken', 'vakken' => 'wisa,wisb'), 'pd_gv' => array('type' => 'vakken', 'vakken' => 'lakc,grkc'), 'pd_v' => array('type' => 'vakken', 'vakken' => 'mo,ak,maw,dutl,fatl,sptl'), 'v' => array('type' => 'vakken', 'vakken' => 'fi,wisc,kumu,kubv,biol,bsm,nat,nlt,schk'), ), 'H.NG' => array( 'pa' => array('type' => 'vakken', 'vakken' => 'wisa,wisb'), 'pb' => array('type' => 'vakken', 'vakken' => 'biol'), 'pc' => array('type' => 'vakken', 'vakken' => 'schk'), 'pd_v' => array('type' => 'vakken', 'vakken' => 'nlt,ak,nat'), 'v' => array('type' => 'vakken', 'vakken' => 'dutl,fatl,sptl,fi,wisc,ges,econ,mo,kubv,kumu,maw,bsm,grkc,lakc'), ), 'A.NG' => array( 'pa' => array('type' => 'vakken', 'vakken' => 'wisa,wisb'), 'pb' => array('type' => 'vakken', 'vakken' => 'biol'), 'pc' => array('type' => 'vakken', 'vakken' => 'schk'), 'pd_v' => array('type' => 'vakken', 'vakken' => 'nlt,ak,nat'), 'gv' => array('type' => 'vakken', 'vakken' => 'dutl,fatl,sptl'), 'v' => array('type' => 'vakken', 'vakken' => 'fi,wisc,ges,econ,mo,kubv,kumu,maw,bsm,grkc,lakc'), ), 'G.NG' => array( 'pa' => array('type' => 'vakken', 'vakken' => 'wisa,wisb'), 'pb' => array('type' => 'vakken', 'vakken' => 'biol'), 'pc' => array('type' => 'vakken', 'vakken' => 'schk'), 'pd_v' => array('type' => 'vakken', 'vakken' => 'nlt,ak,nat'), 'gv' => array('type' => 'vakken', 'vakken' => 'lakc,grkc'), 'v' => array('type' => 'vakken', 'vakken' => 'dutl,fatl,sptl,fi,wisc,ges,econ,mo,kubv,kumu,maw,bsm'), ), 'H.NT' => array( 'pa' => array('type' => 'vakken', 'vakken' => 'wisb'), 'pb' => array('type' => 'vakken', 'vakken' => 'nat'), 'pc' => array('type' => 'vakken', 'vakken' => 'schk'), 'pd_v' => array('type' => 'vakken', 'vakken' => 'nlt,biol'), 'v' => array('type' => 'vakken', 'vakken' => 'dutl,fatl,sptl,fi,wisc,wisa,ak,ges,econ,mo,kubv,kumu,maw,bsm,lakc,grkc'), ), 'A.NT' => array( 'pa' => array('type' => 'vakken', 'vakken' => 'wisb'), 'pb' => array('type' => 'vakken', 'vakken' => 'nat'), 'pc' => array('type' => 'vakken', 'vakken' => 'schk'), 'pd_v' => array('type' => 'vakken', 'vakken' => 'nlt,biol'), 'gv' => array('type' => 'vakken', 'vakken' => 'dutl,fatl,sptl'), 'v' => array('type' => 'vakken', 'vakken' => 'fi,wisc,wisa,ak,ges,econ,mo,kubv,kumu,maw,bsm,lakc,grkc'), ), 'G.NT' => array( 'pa' => array('type' => 'vakken', 'vakken' => 'wisb'), 'pb' => array('type' => 'vakken', 'vakken' => 'nat'), 'pc' => array('type' => 'vakken', 'vakken' => 'schk'), 'pd_v' => array('type' => 'vakken', 'vakken' => 'nlt,biol'), 'gv' => array('type' => 'vakken', 'vakken' => 'lakc,grkc'), 'v' => array('type' => 'vakken', 'vakken' => 'dutl,fatl,sptl,fi,wisc,wisa,ak,ges,econ,mo,kubv,kumu,maw,bsm'), ), ); function bril_add(&$bril, $b) { foreach ($b as $key => $info) { if ($info['type'] == 'vak') bril_add_vak($bril, $key); else if ($info['type'] == 'vakken') bril_add_vakken($bril, $key, $info['vakken']); } } function get_bril_type() { global $brillen; $bril_type = 'Alg'; if (isset($_GET['bril'])) $bril_type = $_GET['bril']; if (!isset($brillen[$bril_type])) fatal("impossible value for bril {$_GET['bril']}"); return $bril_type; } function show_bril_checkboxen($bril_type) { global $brillen; $checkboxen = array(); echo('
Bril: '); foreach ($brillen as $type => $tmp) { $checkboxen[] = ' '.$type; } echo(implode(', ', $checkboxen)); } ?>