require_once("include/init.php");
if (isset($_SESSION['ppl_id']) && (!isset($_GET) || !isset($_GET['lock_by']))) {
check_login();
} else {
// laat zo nodig loginscherm zien
if (!isset($_SESSION['ppl_id']) || $load_time - $_SESSION['last_load_time'] > 60*$_SESSION['timeout']) {
include("include/login.php");
} else $_SESSION['last_load_time'] = $load_time;
}
// check if url variables are set, otherwise set reasonable defaults and reload
$reload = 0;
$http_get = "";
$week_options = gen_week_select($_GET['week'], 1, &$week);
$http_get['week'] = "$week";
$grp2vak_select = sprint_grp2vak_select($_GET['grp2vak_id'], " onchange=\"document.select.doelgroep[1].checked = true; document.select.submit();\"", &$grp2vak_id, 0);
if ($grp2vak_select) {
if ($_GET['doelgroep'] == "lesgroep") {
$doelgroep = "lesgroep";
} else if ($_GET['doelgroep'] == 'leerling') {
$doelgroep = "leerling";
} else {
$doelgroep = "zelf";
}
if ($_SESSION['type'] == 'ouder') $lln_options = sprint_leerling_select($_GET['lln'], " onchange=\"document.select.submit();\"", &$lln_id, 0, $grp2vak_id);
else $lln_options = sprint_leerling_select($_GET['lln'], " onchange=\"document.select.doelgroep[2].checked = true; document.select.submit();\"", &$lln_id, 0, $grp2vak_id);
if ($lln_options) {
$http_get['doelgroep'] = $doelgroep;
$http_get['grp2vak_id'] = $grp2vak_id;
$http_get['lln'] = $lln_id;
} else {
if ($doelgroep == 'leerling') {
$reload = 1;
}
$doelgroep = 'lesgroep';
$http_get['grp2vak_id'] = $grp2vak_id;
$http_get['doelgroep'] = 'lesgroep';
}
} else {
if ($_GET['doelgroep'] != 'zelf') {
$reload = 1;
}
$doelgroep = 'zelf';
$http_get['doelgroep'] = 'zelf';
}
if ($_SESSION['type'] == 'ouder' && $doelgroep != 'leerling' && $lln_options) {
$doelgroep = 'leerling';
$http_get['doelgroep'] = 'leerling';
$reload = 1;
}
if ($reload == 1) {
$send = "?";
foreach ($http_get as $key => $value) {
$send .= "$key=$value&";
}
$send = substr($send, 0, strlen($send) - 1);
header("Location: index.php$send");
exit;
}
if ($_SESSION['type'] == 'ouder') {
$doelgroep = 'leerling';
if (!$lln_options) {
header('Location: ouder_auth_request.php');
exit;
}
}
mysql_query_safe("SET SESSION group_concat_max_len = 65536");
$no_issues = sprint_singular(<< Je hebt if(count($issues_links) == 1) { ?>1 openstaand issue } else { echo(count($issues_links)) ?> openstaande issues } ?> met echo($lln_naam) ?>.
echo($issues_friendly) ?>
} ?>
if ($week < 30) {
$year = substr($schooljaar_long, 5);
} else {
$year = substr($schooljaar_long, 0, 4);
}
$day_in_week = strtotime(sprintf("$year-01-04 + %d weeks", $week - 1));
$thismonday = $day_in_week - ((date('w', $day_in_week) + 6)%7)*24*60*60;
?>
';
$issues_links[$row[0] - 1] = ' '.$row[0].'';
}
$lln_naam = sprint_singular("SELECT KB_NAAM(naam0, naam1, naam2) FROM ppl WHERE ppl_id = '$lln_id'");
}
$plus_end = "$common\">+";
$grp_id = NULL;
switch ($doelgroep) {
case 'zelf';
$plus_start =<<
';
//echo($val['sd'].' '.strtolower($vakaf[1]).': '.$val['sa'].'
');
//print_r($val); echo("
\n");
}
}
}
$testresult = mysql_query_safe(<<
');
//}
function print_dag($dag) {
switch ($dag) {
case 0: return 'zo';
case 1: return 'ma';
case 2: return 'di';
case 3: return 'wo';
case 4: return 'do';
case 5: return 'vr';
case 6: return 'za';
}
}
function print_rev($time, $rev = 0) {
return 'r'.$rev.' '.date('W', $time).print_dag(date('w', $time)).date('G:i', $time);
}
function print_diff($row) {
$bla = array();
if ($row['f_dag'] != $row['s_dag'] || $row['f_uur'] != $row['s_uur'])
$bla[] = print_dag($row['s_dag']).$row['s_uur'];
if ($row['f_lesgroepen'] != $row['s_lesgroepen'])
$bla[] = $row['s_lesgroepen'];
if ($row['f_vakken'] != $row['s_vakken'])
$bla[] = $row['s_vakken'];
if ($row['f_docenten'] != $row['s_docenten'])
$bla[] = $row['s_docenten'];
if ($row['f_lokalen'] != $row['s_lokalen'])
$bla[] = $row['s_lokalen'];
return implode('/', $bla);
}
$wijz_id = sprint_singular("SELECT MAX(rooster_id) FROM roostertest.weken2roosters JOIN roostertest.weken USING (week_id) WHERE week = $week");
if ($wijz_id) {
$basis_id = sprint_singular("SELECT MAX(rooster_id) FROM roostertest.weken2roosters JOIN roostertest.weken USING (week_id) WHERE wijz_id = 0 AND week = $week");
} else {
$wijz_id = $basis_id = sprint_singular("SELECT MAX(rooster_id) FROM roostertest.weken2roosters WHERE week_id < ( SELECT week_id FROM roostertest.weken WHERE week = $week ) AND wijz_id = 0");
}
if (!$basis_id) {
$roosterstatus = 'GEEN';
goto out; // geen rooster
}
$result4 = mysql_query_safe("SELECT basis_id, wijz_id, timestamp FROM roostertest.weken2roosters JOIN roostertest.weken USING (week_id) WHERE rooster_id = $wijz_id");
$test = mysql_fetch_row($result4);
$roosterstatus = print_rev($test[2], $test[0].','.$test[1]);
if ($basis_id == $wijz_id) $wijz_id = 0;
function rquery_inner($where, $id1, $id2, $wijz) {
return <<
maandag echo date("j-n", $thismonday) ?>
dinsdag echo date("j-n", $thismonday + 86400) ?>
woensdag echo date("j-n", $thismonday + 172800) ?>
donderdag echo date("j-n", $thismonday + 259200) ?>
vrijdag echo date("j-n", $thismonday + 345600) ?>
$row = mysql_fetch_row($testresult);
if ($result4) {
$rosterrow = mysql_fetch_array($result4);
} else $rosterrow = NULL;
for ($i = 1; $i <= 9; $i++) { ?>
echo ''.$i.'' ?>
for ($j = 1; $j <= 5; $j++) {
echo('');
if (is_array($row) && $row[0] == $j && $row[1] == $i) {
echo($row[2]);
$row = mysql_fetch_row($testresult);
}
$dayanduur = $j.'&lesuur='.$i;
echo($plus_start.$dayanduur.$plus_end);
if (is_array($issues_links)) foreach ($issues_links as $value) echo(sprintf($value, $dayanduur));
while (is_array($rosterrow) && $rosterrow['f_dag'] == $j && $rosterrow['f_uur'] == $i) {
$extra = '';
$text = '';
if ($rosterrow['s_zermelo_id'] && !$rosterrow['s_dag'] && $rosterrow['wijz']) $extra = ' uitval';
else if (!$rosterrow['s_zermelo_id'] && !$rosterrow['wijz']) $extra = ' extra';
else if ($rosterrow['f_dag'] == $rosterrow['s_dag'] && $rosterrow['f_uur'] == $rosterrow['s_uur'] && $rosterrow['vis']) {
// les is niet in tijd verplaatst, maar wel gewijzigd, beide zijn zichtbaar
if ($rosterrow['wijz']) { // dit is de oude les, skip
$rosterrow = mysql_fetch_array($result4);
continue;
} else if ( $rosterrow['f_vakken'] != $rosterrow['s_vakken'] ||
$rosterrow['f_docenten'] != $rosterrow['s_docenten'] ||
$rosterrow['f_lokalen'] != $rosterrow['s_lokalen'] ||
$rosterrow['f_lesgroepen'] != $rosterrow['s_lesgroepen']) {
$extra = ' gewijzigd';
$text = ' <- '.print_diff($rosterrow);
}
} else if ($rosterrow['wijz'] && $rosterrow['s_zermelo_id']) {
$text = ' -> '.print_diff($rosterrow);
$extra = ' verplaatstnaar';
} else if (!$rosterrow['wijz'] && $rosterrow['s_zermelo_id']) {
$text = ' <- '.print_diff($rosterrow);
$extra = ' verplaatstvan';
}
$info = array();
if ($rostertype != 1) {
$grp_naam = NULL;
if ($rosterrow['f_grp_naam']) {
if ($grp_id != $rosterrow['f_grp_id'])
$grp_naam = $rosterrow['f_grp_naam'];
//$info[] = $rosterrow['f_grp_naam'].'('.$rosterrow['f_grp_id'].')';
} else if ($rosterrow['f_lesgroepen']) $grp_naam = $rosterrow['f_lesgroepen'];
if ($grp_naam) $info[] = $grp_naam;
// check of het vak al in de naam van de lesgroep zit
if (!$grp_naam || !preg_match("/{$rosterrow['f_vakken']}[0-9]?/i", $grp_naam)) $info[] = $rosterrow['f_vakken'];
} else if ($rosterrow['f_vakken']) $info[] = $rosterrow['f_vakken'];
if ($rostertype != 2) if ($rosterrow['f_docenten']) $info[] = $rosterrow['f_docenten'];
if ($rosterrow['f_lokalen']) $info[] = $rosterrow['f_lokalen'];
echo(' '.implode('/', $info).$text.'');
//print_r($rosterrow);
$rosterrow = mysql_fetch_array($result4);
}
}
}
if ($ttinfo) { ?>
TT® for ($j = 1; $j <= 5; $j++) echo(' '.$ttinfo[$j]); } ?>
Persoonlijke notities zijn blauw. Roosterupdate: echo $roosterstatus ?>. gen_html_footer(); ?>