Ja ist es ja auch. S_LET_IT_SNOW
Und nun, da heute Sonntag ist, wird mir auch die erste Adventkerze unten auf der Hauptseite angezeigt.
Die Kerzen werden so angezeigt:
<!-- IF SONNTAG -->
<!-- IF ADVENT == 1 -->
Kerze 1
etc etc etc
Ob das jetzt exakt so geschrieben ist oder nicht habe ich nicht überprüft...
Wie in deinem Code ersichtlich greift man auf die Timezone und DST zurück. Womöglich ist hier der Hund begraben. denn ich benutze den AUTO_DST Mod.
Dort gibt es keine DST mehr...
Wie müsste ich den Code umschreiben, damit er mit dem AUTO_DST Mod funktioniert?
Code: Alles auswählen
function advent($data = '')
{
global $user;
$data = (!(int)$data) ? time() : $data;
$advent = 0;
$year = date('Y', $data);
$xmas_eve_midnight = gmmktime(0, 0, 0, 12, 24, $year);
$xmas_eve_day = date('w', $xmas_eve_midnight);
$first_advent = $xmas_eve_midnight - (26 - $xmas_eve_day) * 86400;
$first_advent_date = date('nd', $first_advent);
$user_recent_time = $data + $user->timezone + $user->dst * 3600;
$user_recent_date = $user->format_date($user_recent_time, 'nd', true);
if ($first_advent_date <= $user_recent_date && $user_recent_date <= 1224)
{
$advent = (($user_recent_time - $first_advent) / 86400);
$advent = (int)($advent / 7) + 1;
}
return $advent;
}
'ADVENT' => advent(),
'SUNDAY' => (date('w')) ? false : true,
Denn Eigentlich steht in der timezone ja nur 0.00 oder 1.00 oder 2.00 je nachdem in welcher Zone man eben ist
Beim AUTO_DST Mod steht dort Europe/Berlin Europe/Vienna Europe/Paris etc...
falls es daran liegt, und nicht so einfach zu ändern sein sollte, würde es mir auch reichen, wenn der Code anhand der Boardzeit funktioniert. Im Grunde registrieren sich bei mir keine Leute von Übersee und in Wahrheit interessiert es mich auch nicht, ob für irgendwen aus Amerika oder China die Adventtage richtig angezeigt werden