Hi Bayaro,
Mix aus Feiertag und Ferien.
Ferien:
<?
/*
Dieses Skript ermittelt über die Webseite von www.schulferien.org ob aktuell Ferien sind.
Die Anpassung für die einzelnen Bundesländer ist denkbar einfach. Einfach unter http://www.schulferien.org/iCal/
den passenden Kalender suchen und den Link kopieren. Die Anpassung der Jahreszahl bitte beachten, diese
passt sich automatisch an und muss im Link entsprechend entfernt werden.
*/
$jahr = date("Y");
$tag = date("d");
$monat = date("m");
if (($tag<5 && $monat==1)) $jahr=$jahr-1; //Korrektur z.B. der 2.Januar gehört noch zum ical-Kalender des Vorjahres
$link = "http://www.schulferien.org/iCal/Ferien/icals/Ferien_Thueringen_".$jahr.".ics";
$ferien = "Keine Ferien";
$meldung = file($link);
$anzahl = (count($meldung)-1);
for ($count = 0; $count < $anzahl; $count++)
{
if (strstr($meldung[$count], "SUMMARY:")) {
$name = trim(substr($meldung[$count],8));
$start = trim(substr($meldung[$count+1],19));
$ende = trim(substr($meldung[$count+2],17));
$jetzt = date("Ymd")."
";
/*$jetzt= 20140217; //zum Test ein Feriendatum
echo $jetzt;*/
if ($jetzt >= $start and $jetzt <= $ende)
{
$ferien = $name;
}
}
}
if ($ferien == "Keine Ferien") // Flag für Ferienmodus setzten
{
SetValueBoolean(18526 /*[Tools, Service\An/Abwesend Feiertage Ferien\Schulferien\Ferien in Thüringen]*/, false);
}
else
{
SetValueBoolean(18526 /*[Tools, Service\An/Abwesend Feiertage Ferien\Schulferien\Ferien in Thüringen]*/, true);
}
?>
Feiertag:
<?
/*
***********************************************************
Berechnet den freie Tage, Feiertage
und setzt die Variablen
***********************************************************
*/
//Aktuelles Datum (Format "JJJJMMTT")
$today = date ("md"); // aktueller Tag
$todayy = date ("Ymd"); // aktuelles Datum
$year = date ("Y"); // aktuelles Jahr
//
//
$schulfrei1 = "20080502"; // schulfreier Tag #1
$schulfrei2 = "20080502"; // schulfreier Tag #2
$schulfrei3 = "20080502"; // schulfreier Tag #3
//
// *** Wochentag setzen (Sonntag = 7, Montag = 1) ***
$wday = date("w");
$wday1 = array("7","1","2","3","4","5","6");
$wday2 = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
echo "Heute ist Wochentag ", $wday1[$wday], " ($wday2[$wday])","
";
//SetValueString(24833 /*[Objekt #24833 existiert nicht]*/ , $wday1[$wday]);
//SetValueString(53384 /*[Objekt #53384 existiert nicht]*/ , $wday2[$wday]);
// *** Tag des Jahres setzen ***
//SetValueString(46827 /*[Fenster+Türen\Haustür-Raspberry-IPS\LifeBit\LifeBit\ÜberprüfungAktualisierungszeit_besser_kein_Reboot_da_5Volt_sehr_knapp\]*/ , date("z"));
// *** Kalenderwoche setzen ***
//SetValueString(14535 /*[Objekt #14535 existiert nicht]*/ , date("W"));
// *** bewegliche Feiertage ***
if ( ($today == strftime("%m%d",(easter_date() - 2 * 86400))) // Karfreitag
//or ($today == "0512") // Test-Tag (aktuellen Tag eintragen zum Funktionstest)
or ($today == strftime("%m%d",(easter_date() ))) // Ostersonntag
or ($today == strftime("%m%d",(easter_date() + 1 * 86400))) // Ostermontag
or ($today == strftime("%m%d",(easter_date() + 39 * 86400))) // Christi Himmelfahrt
or ($today == strftime("%m%d",(easter_date() + 49 * 86400))) // Pfingstsonntag
or ($today == strftime("%m%d",(easter_date() + 50 * 86400))) // Pfingstmontag
//or ($today == strftime("%m%d",(easter_date() + 60 * 86400))) // Fronleichnam
//or (($wochentag == 3) and ($today >= "1116") and ($today <= "1122")) // Buß u. Bettag
// *** feste Feiertage ***
or ($today == "0101") // Neujahr
or ($today == "0106") // Heilige Drei Könige
or ($today == "0501") // 1. Mai
or ($today == "1003") // Tag der dt. Einheit
or ($today == "1031") // Reformationstag
//or ($today == "1101") // Allerheiligen
or ($today == "1225") // 1. Weihnachtsfeiertag
or ($today == "1226") // 2. Weihnachtsfeiertag
// *** freie Tage ***
or ($today == "1224") // Heiliger Abend
or ($today == "1231") // Silvester
// ***schulfreie Tage***
or ($todayy == $schulfrei1) // schulfreier Tag #1
or ($todayy == $schulfrei2) // schulfreier Tag #2
or ($todayy == $schulfrei3) // schulfreier Tag #3
)
// *** "Freier Tag"-Variable setzen ***
{
SetValueBoolean(45788 /*[Tools, Service\An/Abwesend Feiertage Ferien\An-/Abwesend - Funktion\Freier Tag]*/ , true); // Es ist ein freier Tag
// echo "Heute sind ein schulfreier Tag, ein freier Tag oder ein Feiertag. ","
";
}
else
{
SetValueBoolean(45788 /*[Tools, Service\An/Abwesend Feiertage Ferien\An-/Abwesend - Funktion\Freier Tag]*/ , false); // Es ist kein freier Tag
// echo "Heute sind kein schulfreier Tag, kein freier Tag und kein Feiertag. ","
";
}
// 1. Advent berechnen - Weihnachtsbeleuchtung 2 Tag(e) vorher einschalten
$adventbel = date("md",mktime(0,0,0,11,(26+(7-date("w",mktime(0,0,0,11,26,$year))))))-2;
$advent = date("d.m.Y",mktime(0,0,0,11,(26+(7-date("w",mktime(0,0,0,11,26,$year))))));
if ($adventbel == "1200") $adventbel = "1130";
if ($adventbel == "1199") $adventbel = "1129";
if ($adventbel == "1198") $adventbel = "1128";
if ($adventbel == "1197") $adventbel = "1127";
if ($adventbel == "1196") $adventbel = "1126";
if ($adventbel == "1195") $adventbel = "1125";
//echo "1. Advent ist am ", $advent, "
";
/*
if ( ( ("$today") >= ("$adventbel") // ab dann einschalten
or ("$today") <= ("0105") ) ) // bis 5.Januar einschalten
{
SetValueBoolean(ID , true);
// echo "Es ist Adventszeit und die Weihnachtsbeleuchtung wird eingeschaltet.","
";
}
else
{
SetValueBoolean(ID , false);
// echo "Es ist keine Adventszeit und die Weihnachtsbeleuchtung wird nicht eingeschaltet.","
";
}
*/
?>
Habe ich alles hier aus dem Forum …
herbertf