<?php

// Verwijdert een record uit een databse als hij gehiglight was en daardoor de value "verwijder" kreeg.
if(isset($_POST['verwijder'])){
    for ($i=0; $i < count($_POST['event_id']); $i++) {
        $answer = strip_tags($_POST['verwijder'][$i]);
        $event_id = strip_tags($_POST['event_id'][$i]);

        if($answer == 'verwijder'){
            $update_status = $db->prepare("DELETE FROM Events WHERE event_id = ?");
            $update_status->bindValue(1, $event_id, PDO::PARAM_INT);

            $update_status->execute();
        }
    }
}

// Zorgt ervoor dat er gebladerd kan worden door de records
if (isset($_POST['submit'])){
    if($_POST['submit'] == "submit"){
        // Update alles wat gewwijzigd was.
        for ($i=0; $i < count($_POST['title']); $i++) {

            $event_text = strip_tags($_POST['event_text'][$i]);
            $title = strip_tags($_POST['title'][$i]);
            $id = strip_tags($_POST['event_id'][$i]);

            //Past de tijd aan in de database.
            $datum = strip_tags($_POST['datum'][$i]);
            $begin_tijd = strip_tags($_POST['begin_tijd'][$i]);
            $eind_tijd = strip_tags($_POST['eind_tijd'][$i]);

            $new_begin_tijd = $datum . " " . $begin_tijd;
            $new_eind_tijd = $datum . " " . $eind_tijd;

            $update_start_date = $db->prepare("UPDATE Events SET start_date = ? WHERE event_id = ? LIMIT 1");
            $update_start_date->bindValue(1, $new_begin_tijd, PDO::PARAM_STR);
            $update_start_date->bindValue(2, $id, PDO::PARAM_INT);

            $update_end_date = $db->prepare("UPDATE Events SET end_date = ? WHERE event_id = ? LIMIT 1");
            $update_end_date->bindValue(1, $new_eind_tijd, PDO::PARAM_STR);
            $update_end_date->bindValue(2, $id, PDO::PARAM_INT);

            $update_start_date->execute();
            $update_end_date->execute();

            $count_labels = $db->prepare("SELECT COUNT(label_id) FROM Labels");
            $count_labels->execute();
            $aantal_labels = $count_labels->fetch()[0];

            // Zorgt dat er labels gekoppelt of ontkoppelt kunnnen worden van aantal-labels
            for ($j=($aantal_labels * $i); $j < $aantal_labels * ($i + 1); $j++) {

                $labels = strip_tags($_POST['label_selected'][$j]);
                $labels_id = strip_tags($_POST['label_db'][$j]);

                // echo $j ."+". $aantal_labels * ($i + 1) . "<br>";

                if($labels == "selected"){

                    $aanwezig = $db->prepare("SELECT COUNT(*) From Event_labels WHERE event_id = $id AND label_id = $labels_id");
                    $aanwezig->execute();
                    $aanwezig_aantal = $aanwezig->fetchAll(PDO::FETCH_COLUMN);

                    if($aanwezig_aantal[0] == 0){
                        $update_labels = $db->prepare("INSERT INTO Event_labels SET event_id = ?, label_id = ?");
                        $update_labels->bindValue(1, $id, PDO::PARAM_INT);
                        $update_labels->bindValue(2, $labels_id, PDO::PARAM_INT);

                        $update_labels->execute();
                    }
                } else {
                    $update_labels = $db->prepare("DELETE FROM Event_labels WHERE event_id = ? AND label_id = ? ");
                    $update_labels->bindValue(1, $id, PDO::PARAM_INT);
                    $update_labels->bindValue(2, $labels_id, PDO::PARAM_INT);

                    $update_labels->execute();
                }
            }

            $update_gebruiker = $db->prepare("UPDATE Events SET title = ? WHERE event_id = ?");
            $update_gebruiker->bindValue(1, $title, PDO::PARAM_STR);
            $update_gebruiker->bindValue(2, $id, PDO::PARAM_INT);

            $update_event_text = $db->prepare("UPDATE Events SET event_text = ? WHERE event_id = ?");
            $update_event_text->bindValue(1, $event_text, PDO::PARAM_STR);
            $update_event_text->bindValue(2, $id, PDO::PARAM_INT);

            $update_event_text->execute();
            $update_gebruiker->execute();
        }
    }
}
?>
