<?php

if(!empty($_POST)){
    if($_POST['submit'] == "submit"){
        /* Update de database als de rijen gewijzigd zijn*/
        for ($i=0; $i < count($_POST['user_id']); $i++) {

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

            /* Kijkt of er op een rij het verwijder knopje is gehighlight
             * en verwijdert de rij als dat zo is.
             */
            $answer = strip_tags($_POST['verwijder'][$i]);
            $user_id = strip_tags($_POST['user_id'][$i]);

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

                $update_status->execute();
            }

            // 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]);

                if($labels == "selected"){

                    $aanwezig = $db->prepare("SELECT COUNT(*) From User_labels WHERE user_id = $user_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 User_labels SET user_id = ?, label_id = ?");
                        $update_labels->bindValue(1, $user_id, PDO::PARAM_INT);
                        $update_labels->bindValue(2, $labels_id, PDO::PARAM_INT);

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

                    $update_labels->execute();
                }
            }

            $privilege = strip_tags($_POST['privilege'][$i]);
            $name = strip_tags($_POST['username'][$i]);
            $id = strip_tags($_POST['user_id'][$i]);
            $update_gebruiker = $db->prepare("UPDATE Users SET username = ? WHERE user_id = ?");
            $update_gebruiker->bindValue(1, $name, PDO::PARAM_STR);
            $update_gebruiker->bindValue(2, $id, PDO::PARAM_INT);

            $update_status = $db->prepare("UPDATE Users SET privilege_id = ? WHERE user_id = ?");
            $update_status->bindValue(1, $privilege, PDO::PARAM_INT);
            $update_status->bindValue(2, $id, PDO::PARAM_INT);

            $update_status->execute();
            $update_gebruiker->execute();
        }
    }
}


?>
