"); #print_r($_POST); #echo("
");
#exit;

$db = mdb2_open($dsn);
$herinfo = get_herinfo($db);

if ($herinfo['period_regime'] == 1) error_system("impossible to be here?!?!?!");

if ($_SESSION['admin']) $herinfo['expired'] = 0;
if ($herinfo['expired']) {
	logit('probeert na de deadline een her op te geven');
	logdb('poging in na deadline herkansing op te geven');
	apache_note('phplib_action', 'poging in na deadline herkansing op te geven');
	error_user('De termijn voor het opgeven en/of wijzigen van herkansingen is verstreken');
}
$ppl_id = mdb2_single_val($db, "SELECT ppl_id FROM $kldv.ppl WHERE ppl_login = '%q' AND ppl_active = 0", $_SESSION['username']);
if (!$ppl_id) fatal_error("unable to get ppl_id for {$_SESSION['username']}");

if (!isset($_POST['pta_id']) || !is_numeric($_POST['pta_id']) || (int)$_POST['pta_id'] != $_POST['pta_id'] || $_POST['pta_id'] < 0) {
	apache_note('phplib_action', 'geen ST geselecteerd bij opgeven herkansing');
	error_user('Selecteer een toets', 'Selecteer een toets voordat je op "Opslaan" drukt.', 'her.php');
}

$gedaan = 0;

if ($_POST['submit'] == 'Wijzig' || $_POST['submit'] == 'Verwijder') {
	if (!isset($_POST['rex_id']) || !is_numeric($_POST['rex_id']) || (int)$_POST['rex_id'] != $_POST['rex_id'] || $_POST['rex_id'] < 0) {
		logdb('poging niet-bestaande herkansing te wijzigen');
		apache_note('phplib_action', 'poging niet-bestaande herkansing te wijzigen');
		error_user('rex wijzigen zonder rex_id', 'het is onmogelijk om een niet bestaande herkansing te wijzigen');
	}
	$old_rex_id = mdb2_single_val($db, "SELECT rex_id FROM rex WHERE rex_id = %i AND ppl_id = $ppl_id AND period_id = {$herinfo['period_id']}", $_POST['rex_id']);
	if (!$old_rex_id) {
		logdb('poging herkansing die niet van hem/of haar is, of niet bij deze periode hoort');
		apache_note('phplib_action', 'poging herkansing die niet van hem/of haar is, of niet bij deze periode hoort');
		error_user('ACCESS DENIED', 'je mag alleen bestaande herkansingen van jezelf in deze herkansingsperiode wissen');
	}

	$fixed = mdb2_single_val($db, "SELECT fixed FROM rex WHERE rex_id = $old_rex_id");
	if ($fixed && !$_SESSION['admin']) error_user('ACCESS DENIED', 'Deze herkansing mag niet verwijderd of gewijzigd worden');
	mdb2_exec($db, "DELETE FROM rex WHERE rex_id = %i AND ppl_id = $ppl_id AND period_id = {$herinfo['period_id']}", $_POST['rex_id']);
	logit('heeft rex_id='.$_POST['rex_id'].' verwijderd');
	$gedaan = 1;
}

if ($_POST['submit'] == 'Opslaan' || $_POST['submit'] == 'Opslaan (fixeer en gratis)' || $_POST['submit'] == 'Wijzig') {
	if (($_POST['submit'] == 'Opslaan' || $_POST['submit'] == 'Opslaan (fixeer en gratis)' ) && isset($_POST['rex_id'])) {
		logdb('rex_id is ten onrechte meegegeven ONMOGELIJK');
		apache_note('phplib_action', 'rex_id is ten onrechte meegegeven ONMOGELIJK');
		error_user('impossible', "Bij opslaan kan er geen rex_id meegegeven zijn");
	}

	$subj_id = mdb2_single_val($db, "SELECT subj_id FROM ptas WHERE pta_id = %i", $_POST['pta_id']);
	$subj_abbrev = mdb2_single_val($db, "SELECT subj_abbrev FROM ptas JOIN $kldv.subj ON subj.subj_id = ptas.subj_id WHERE pta_id = %i", $_POST['pta_id']);
	if (!$subj_id) {
		logdb('gegeven pta_id staat niet in PTA?!?!!?!?');
		apache_note('phplib_action', 'gegeven pta_id staat niet in PTA?!?!!?!?');
		error_user("Impossible", "gegeven pta_id {$_POST['pta_id']} niet gevonden in PTA?!?!?!");
	}
	$info = mdb2_single_val($db, <<checkvalid;
	if (!$check($db, $ppl_id, $herinfo, $_POST['pta_id'])) {
		mdb2_exec($db, "DELETE FROM rex WHERE rex_id = $rex_id AND ppl_id = $ppl_id AND period_id = {$herinfo['period_id']}");
		logdb('opgegeven herkansing is niet geldig '.$info);
		apache_note('phplib_action', 'opgegeven herkansing niet geldig '.$info);
		error_user("Impossible", "Opgegeven herkansing niet geldig");
	}

	logit('heeft her opgegeven rex_id='.$rex_id.' '.$subj_abbrev.'/'.$info);

	$gedaan = 1;
}

if (!$gedaan) error_system('onmogelijke submit');

	if ($_POST['submit'] == 'Opslaan' || $_POST['submit'] == 'Opslaan (fixeer en gratis)') {
		logdb('heeft her opgegeven '.$rex_id.':\''.$info.'\'');
		apache_note('phplib_action', 'heeft her opgegeven '.$rex_id.':\''.$info.'\'');
	} else if ($_POST['submit'] == 'Verwijder') {
		logdb('heeft her '.$old_rex_id.' verwijderd');
		apache_note('phplib_action', 'heeft her '.$old_rex_id.' verwijderd');
	} else {
		apache_note('phplib_action', 'heeft her '.$old_rex_id.' gewijzigd in '.$rex_id.':\''.$info.'\'');
		logdb('heeft her '.$old_rex_id.' gewijzigd in '.$rex_id.':\''.$info.'\'');
	}

header('Location: '.dirname($_SERVER['PHP_SELF']).'/');
?>