52 lines
1.8 KiB
PHP
52 lines
1.8 KiB
PHP
<?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>
|
|
";
|
|
|
|
?>
|