Current directory: /home/klas4s23/domains/585455.klas4s23.mid-ica.nl/public_html/Gastenboek/uploads
<?php
require_once 'config.php';
include_once 'class/class.php';
session_start();
// Functies voor taakbeheer
functions::taakAanmelden();
// Verkrijg de maand, jaar en weergave (week/maand) van de URL
$current_month = isset($_GET['month']) ? (int) $_GET['month'] : (int) date('m');
$current_year = isset($_GET['year']) ? (int) $_GET['year'] : (int) date('Y');
$view = isset($_GET['view']) ? $_GET['view'] : 'month'; // Default is 'month'
// Bereken de start- en einddatum van de week (zondag tot zaterdag)
$first_day_of_month = "$current_year-$current_month-01";
if ($view === 'week') {
$week_start_date = isset($_GET['week_start']) ? strtotime($_GET['week_start']) : strtotime("last sunday", strtotime("$current_year-$current_month-01"));
$week_end_date = isset($_GET['week_end']) ? strtotime($_GET['week_end']) : strtotime("next saturday", $week_start_date);
} else {
// Maandweergave
$week_start_date = strtotime("$current_year-$current_month-01"); // Eerste dag van de maand
$week_end_date = strtotime("last day of this month", $week_start_date); // Laatste dag van de maand
}
// Verwerk navigatieacties
if (isset($_GET['action'])) {
if ($view === 'week') {
if ($_GET['action'] === 'week_up') {
// Volgende week (1 week verder)
$week_start_date = strtotime("+1 week", $week_start_date);
$week_end_date = strtotime("+1 week", $week_end_date);
} elseif ($_GET['action'] === 'week_down') {
// Vorige week (1 week terug)
$week_start_date = strtotime("-1 week", $week_start_date);
$week_end_date = strtotime("-1 week", $week_end_date);
}
} elseif ($view === 'month') {
if ($_GET['action'] === 'month_up') {
$current_month++;
if ($current_month > 12) {
$current_month = 1;
$current_year++;
}
} elseif ($_GET['action'] === 'month_down') {
$current_month--;
if ($current_month < 1) {
$current_month = 12;
$current_year--;
}
} elseif ($_GET['action'] === 'year_up') {
$current_year++;
} elseif ($_GET['action'] === 'year_down') {
$current_year--;
}
}
// Verwerk jaar navigatie
if ($_GET['action'] === 'year_up') {
$current_year++;
} elseif ($_GET['action'] === 'year_down') {
$current_year--;
}
}
// Verkrijg de taken voor de maand/week
$start_date = date('Y-m-d', $week_start_date); // Start van de week
$end_date = date('Y-m-d', $week_end_date); // Eind van de week
// Verkrijg de taken voor de maand
$stmt = $pdo->prepare("
SELECT tasks.*,
(SELECT COUNT(*) FROM task_registrations WHERE task_id = tasks.id) AS registrations_count
FROM tasks
WHERE date BETWEEN :start_date AND :end_date
");
$stmt->bindParam(':start_date', $start_date); // Bind startdatum
$stmt->bindParam(':end_date', $end_date); // Bind einddatum
$stmt->execute();
$tasks = $stmt->fetchAll(PDO::FETCH_ASSOC);
// Verkrijg de geregistreerde taken van de ingelogde gebruiker
$registered_task_ids = [];
if (isset($_SESSION['user_id'])) {
$user_id = $_SESSION['user_id'];
$registration_stmt = $pdo->prepare("SELECT task_id FROM task_registrations WHERE user_id = :user_id");
$registration_stmt->bindParam(':user_id', $user_id, PDO::PARAM_INT);
$registration_stmt->execute();
$registered_task_ids = $registration_stmt->fetchAll(PDO::FETCH_COLUMN);
}
// Functie om taken voor een specifieke dag te verkrijgen
function getTasksForDay($day, $tasks)
{
$tasks_for_day = [];
foreach ($tasks as $task) {
if (date('j', strtotime($task['date'])) == $day) {
$tasks_for_day[] = $task;
}
}
return $tasks_for_day;
}
?>