<?php

require_once("./zapcallib.php");
include './../inc/config.inc.php';

$startdate= date('Y-m-d',(strtotime ( '-180 days' ) ));
// SQL-Abfrage, um Urlaubstermine abzurufen
$sql = 'SELECT DATE_ADD(start, INTERVAL 1 DAY) AS stadate , DATE_ADD(ende, INTERVAL 1 DAY) AS enddate FROM urlaub WHERE start >= "' . $startdate . '"';
$sql = 'SELECT start AS stadate , DATE_ADD(ende, INTERVAL 1 DAY) AS enddate FROM urlaub WHERE start >= "' . $startdate . '"';
#echo $sql;
$result = mysqli_query($con, $sql);

// create the ical object
$icalobj = new ZCiCal();

$title = "Urlaub";

// Iteriere durch die Ergebnisse und füge Events zur iCal-Datei hinzu
while ($row = mysqli_fetch_assoc($result)) {
	// create the event within the ical object
	$eventobj = new ZCiCalNode("VEVENT", $icalobj->curnode);
	
	// add title
	$eventobj->addNode(new ZCiCalDataNode("SUMMARY:" . $title));

	// add start date
	$eventobj->addNode(new ZCiCalDataNode("DTSTART:" . ZCiCal::fromSqlDateTime($row["stadate"])));

	// add end date
	$eventobj->addNode(new ZCiCalDataNode("DTEND:" . ZCiCal::fromSqlDateTime($row["enddate"])));

}

// iCal-Datei ausgeben
file_put_contents("kalender.ics", $icalobj->export());
file_put_contents("kalender.ical", $icalobj->export());
echo "Aktualisierung angestossen. Bitte Kalender pruefen.<br>Wenn in dieser Liste der Eintrag steht, dann sind Anfragen und Telefonanlage vorbereitet!<br><br>";
#echo file_get_contents('./kalender.ical', true);
$handle = fopen("./kalender.ical", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        // process the line read.
		echo $line . "<br>";
    }

    fclose($handle);
}
echo"<br>Der letzte oder vorherige Eintrag bei DTSTART und DTEND sollte das gewuenschte Urlaubsdatum plus einen Tag haben.<br>
20240330 steht fuer den 30.03.2024.<br>
"; 

?>