Advanced countdown Time is wrong?

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
bill21128
Beiträge: 6
Registriert: Mo 18.Apr, 2005 21:15

Advanced countdown Time is wrong?

Beitrag von bill21128 »

Why is the advanced countdown mod giving the wrong time form what my board is set to. I belive I have the latest version installed but for some reason I keep getting the wrong time on the countdown clock. it always seems to be approximatly 4 hours off. Is there sometrhing I can do to fix this?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

On which timezone the board runs and which timezone do the user have set?
Look on the post number #4. There's the fix, I uses here, too.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

@oxpus: Hattest du schon irgendwo gepostet, habe ich seitdem bei mir so eingebaut, funktioniert hervorragend :)
Zuletzt geändert von modbo am So 24.Apr, 2005 17:40, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ist aber dennoch falsch.
Hier die richtige Korrektur:

Code: Alles auswählen

#
#-----[ OPEN ]-----
#
page_header.php

#
#-----[ FIND ]-----
#
	$b_day = date('d', $event_stop);
	$b_month = date('n', $event_stop);
	$b_year = date('Y', $event_stop);
	$b_hour = date('H', $event_stop);
	$b_minute = date('i', $event_stop);
	$b_second = date('s', $event_stop);

#
#-----[ BEFORE, ADD ]-----
#
	$sql = "SELECT config_value FROM " . CONFIG_TABLE . "
		WHERE config_name = 'board_timezone'";
	if (!$result = $db->sql_query($sql))
	{
		message_die(GENERAL_ERROR, 'Could not fetch real board timezone', '', __LINE__, __FILE__, $sql);
	}
	$row = $db->sql_fetchrow($result);
	$board_timezone = $row['config_value'];
	$db->sql_freeresult($result);

	$event_stop += ($board_timezone - $userdata['user_timezone']) * 3600;


#
#-----[ SAVE/CLOSE ALL FILES ]-----
#
# EoM
Das habe ich eben lokal bis zum Umfallen getestet und klappt nun perfekt.
Ich werden den Mod darauf hin anpassen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag von Stoebi »

Hi,

hmm, was ich nicht verstehe.
Ich hab GMT +1 im Profil. Als Admin hab ich 21:00 Uhr fürs nächste "Event" eingegeben.

Angezeigt werden: Verbleibenden Dauer: 4 Stunden 30 Minuten. Sind
aber nur 2 1/2 Stunden bis 21:00 Uhr.

Forenbeiträge, die ich gerade verfasst habe werden in jetziger Zeit angezeigt.

Das hier auf der Windows Kiste.

Und egal, welche Version ich nehme:
http://www.oxpus.de/fpost-29570.html#29570
oder
http://www.oxpus.de/fpost-29584.html#29584


Gruß Stöbi
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Welche Zeitzone hat Dein Board?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag von Stoebi »

GMT +1

ist auch bei meinem Hoster so eingestellt. Gerade mal ausgetestet.

Verbleibende Dauer: 4 Stunden und x Minuten.
Verstehe ich nicht wirklich.

In der page_header.php steht nur das drin, also von lokal nach Server noch nicht übergespielt:

Code: Alles auswählen

		$b_day = date('d', $event_stop);
		$b_month = date('n', $event_stop);
		$b_year = date('Y', $event_stop);
		$b_hour = date('H', $event_stop);
		$b_minute = date('i', $event_stop);
		$b_second = date('s', $event_stop);

Gruß Stöbi


Edit:
Ich habe die Zeile mal so abgeändert, aber ob das so logisch ist?

Code: Alles auswählen

$event_stop += ($board_timezone - $userdata['user_timezone'] -7200 );
Zuletzt geändert von Stoebi am So 24.Apr, 2005 18:55, insgesamt 4-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich habe ebenfalls Board +1 und User +1 und meine Tests haben mit dem zuletzt geposteten Code wunderbar funktioniert. Also der Code von Beitrag #4
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag von Stoebi »

Ich bin auch ratlos.

Hab cache geleert, Uhren laufen richtig (man weiß ja nie), trotzdem 2 Stunden drüber.

Wie gesagt, wenn ich anstelle von '* 3600' '- 7200' ersetze, wird die
Ablaufzeit bis 21:00 Uhr korrekt wieder gegeben. Ich weiss nicht, ob
das Allgemeingültigkeit hat.

Gruß Stöbi
Zuletzt geändert von Stoebi am So 24.Apr, 2005 19:28, insgesamt 5-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Beides falsch. Zumindest nach meinen Tests. Ich bekomme hier eine Stunde zuviel oder "Tage" zuviel.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag von Stoebi »

Ich will dir ja gerne glauben.

Aber die Zeile sieht so bei mir aus:

Code: Alles auswählen

$event_stop += ($board_timezone - $userdata['user_timezone']) - 7200;
Und der Countdown zeigt mir 1 Stunde und 29 Minuten bis 21:00 Uhr.

Sieht die Zeile so aus:

Code: Alles auswählen

$event_stop += ($board_timezone - $userdata['user_timezone']) * 3600;
oder auch so:

Code: Alles auswählen

$event_stop += ($board_timezone - $userdata['user_timezone']) * 7200;
Zeigt der Countdown mir 3 Stunden und 29 Minuten bis 21:00 Uhr an.



Gruß Stöbi


Edit:
Oxpus, verstehe mich bitte nicht falsch. Soll keine Kritik gegen dich sein.
Vielleicht ist ja auch bei mir irgendetwas zerschossen. ich versuche ja auch dahinter zu kommen.

Edit2:
Der Wert bleibt gleich. Ob du

Code: Alles auswählen

($board_timezone - $userdata['user_timezone']) - 7200;
oder
nur

Code: Alles auswählen

($userdata['user_timezone']) - 7200;
zu stehen hast.
Zuletzt geändert von Stoebi am So 24.Apr, 2005 19:52, insgesamt 3-mal geändert.
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

>Ist aber dennoch falsch.

Ich sehs grad :( 2 h zuviel bei mir, mit der "alten Version".


//edit: Allerdings ändert sich mit der "neuen" Version gar nichts. Immer noch 2h zuviel :confused:

Code: Alles auswählen

$event_stop += ($board_timezone - $userdata['user_timezone']) * 3600;
Ich bin ja absoluter Laie, aber ich versuch den Code grad mal zu interpretieren.
$board_timezone: Ist bei mir GMT +1, also Wert 1 in der DB
user_timezone: Ist ebenfalls GMT +1, Wert 1.00 in der DB
Was heisst +=?

Eingesetzt steht dann dort: $event_stop += (1-1) * 3600
Ergebnis: NULL
Zuletzt geändert von modbo am So 24.Apr, 2005 23:52, insgesamt 5-mal geändert.
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag von Stoebi »

Ich hab eben mit meiner Version, also

Code: Alles auswählen

$event_stop += ($board_timezone - $userdata['user_timezone']) - 7200;
mal im Profil GMT +4 gesetzt. Der Countdown zeigte immer noch die
korrekte Ablaufzeit bis 21:00 Uhr an.

Aber ich bin mir nicht sicher, ob das wirklich so korrekt ist.

Wobei aber die Forenbeiträge alle zurückdatiert waren.


:confused:
Zuletzt geändert von Stoebi am So 24.Apr, 2005 20:03, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Zum Verständnis:
Ändert mal Eure User-Zeitzone auf eine, die von der Board-Zeitzone abweicht, dann sehr Ihr den Fehler.
Mit meinem "Original"-Fix, wohlgemerkt!!!
Wenn der User die gleiche Zeitzone wie das Board hat, ist der Countdown ja auch korrekt.
Zumindest bei mir...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

>Ändert mal Eure User-Zeitzone auf eine, die von der Board-Zeitzone abweicht, dann sehr Ihr den Fehler.
Ne, will ich ja gar nicht. Ich glaub dir auch so :)

>Wenn der User die gleiche Zeitzone wie das Board hat, ist der Countdown ja auch korrekt.
Und hier differieren wir. Siehe meinen vorigen Post, bzw. die Anzeige in meinem Portal.
Zuletzt geändert von modbo am So 24.Apr, 2005 21:33, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Lokaler Rechner oder Server?
Serverzeit = aktuelle Zeit oder GMT 0?

Das Script benutzt für die aktuelle Zeit immer die Zeit des Rechners, auf dem es gerade läuft...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag von Stoebi »

Serverzeit = aktuelle Zeit.
ACP -> Konfiguration GMT + 1
Profil -> GMT +1

Countdown bis 23:00 Uhr 3 Stunden 39 Minuten.

Ändere ich das Profil, ändert sich auch die Countdown Zeit.
Aber sämtliche Zeiten der Forenbeiträge sind dann auch "verfälscht".


Gruß Stöbi


Edit:
Mit deinem Fix (Beitrag Nr. 4) getestet.
Zuletzt geändert von Stoebi am So 24.Apr, 2005 21:22, insgesamt 1-mal geändert.
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

Server
Serverzeit = aktuelle Zeit, Abfrage per echo time()
Boardzeitzone: GMT +1
Userzeitzone: GMT +1
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ist es denn ohne meinen Fix besser?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

[quote="oxpus - So 24.Apr, 2005 21:27";p="29629"]Ist es denn ohne meinen Fix besser?[/quote]
Aktuell läuft der "neue" Fix, bringt aber zum "falschen" keinerlei Änderung.
/cache hab ich gelöscht gehabt.
Uhrzeit im Board korrekt.
Zuletzt geändert von modbo am So 24.Apr, 2005 23:51, insgesamt 3-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Oh man.
Ich hab mit dem Fix keinerlei Probleme. Sei es lokal, online, mit gleichen oder abweichenden Zeitzonen (Board <-> User) oder auch GMT 0 für Board und/oder User.
Langsam bereue ich, überhaupt einen Countdown-Mod gemacht zu haben...

Aber zurück ans Reisbrett. Werde den die Tage nochmal angehen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

Es gibt noch so ein ähnliches Phänomen, vielleicht hängt das ja irgendwie damit zusammen, oder man kann dort einen Ansatz ableiten.
Wenns Bullshit ist tuts mir leid ...

Also, ich hatte immer das Problem, dass die Wochentage im Profil, bzw. beim registrieren trotz deutschem Sprachpaket in englischer Sprache angezeigt wurden. Behoben habe ich es hiermit: http://www.phpbb2.de/viewtopic.php?p=135119#135119

Entscheidend ist jetzt aber folgendes:
Einzig das Problem bleibt, das die Uhrzeit im Forum korrekt, im Profil 1h vor und im ACP -1h steht :x
Profil und ACP meine ich das Auswahlmenü für das Datumsformat.
Da der Countdown Mod über das ACP eingestellt wird, dort die Zeit ggf. -1h ist (warum auch immer), rechnet er bei mir eine Stunde drauf :idee:

Somit liegt der Fehler vielleicht gar nicht am Countdown Mod, sondern am phpBB Plus Board.

//edit: Der Counter lief auch korrekt. Vielleicht die Sommerzeitumstellung? Man achtet ja nicht jeden Tag drauf, grade wenn der Counter noch wissentlich lange läuft.

Code: Alles auswählen

$stop = $b_month.' '.$b_day.', '.$b_year.' '.$b_hour.':'.$b_minute.':'.$b_second.' GMT'.$ctimesign;
Wofür ist diese Codezeile? Die stammt doch fürs ACP. Ich werd nur stutzig, weil dort GMT auftaucht.
Zuletzt geändert von modbo am Mo 25.Apr, 2005 00:01, insgesamt 6-mal geändert.
bill21128
Beiträge: 6
Registriert: Mo 18.Apr, 2005 21:15

Beitrag von bill21128 »

i'm getting very confused, do I do all the code changes I see here? because I only speak english...hahaha
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

@bill21128
Try the code changes from post #4. If this will work for you, I must fix the problems on the other boards...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
bill21128
Beiträge: 6
Registriert: Mo 18.Apr, 2005 21:15

Beitrag von bill21128 »

thank you, i will let you know if that does it.
Antworten