Uhr geht 1 Stunde nach bei Today/Yesterday Mod

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
_KO_
Mitglied
Beiträge: 6
Registriert: 24.02.2006 23:06

Uhr geht 1 Stunde nach bei Today/Yesterday Mod

Beitrag von _KO_ »

Hallo phpBB-Gemeinde!

Bevor ich mich nun an Euch wende habe ich nun schon TAGELANG (immer wenn Zeit war) hier im Forum erst artig nach Antworten gesucht, aber keine Lösung gefunden. :cry:

Daher mein Problem, es ist ein albekanntes und anscheinend weitverbreitetes:

Ich wollte die Datumsanzeige in den Beiträgen so abändern, dass dort "Heute" und "Gestern" entsprechend angezeigt wird. Dafür habe ich den Today/Yesterday-Mod eingebaut (friendly Date). Wird auch nun schön angezeigt (leider auch im Header wo die Uhrzeit steht: Es ist: Heute, 08:50... :lol: , ich hab den Quelltext im Header entsprechend rausgeworfen).

Problem ist aber: Die Board-Uhr geht genau 1 Stunde nach! :evil:
Das nervt !!!


Was schon kontrolliert wurde:
- Uhrzeit für alle User steht auf GMT +1 Stunde, also korrekt
- alle User haben in der DB diesen Eintrag (1.00)
- die Serverzeit (Provider) ist korrekt, ich habe noch andere PHP-Anwendungen auf dem Server und sogar in derselben DB, die zeigen alle korrekt an! Nur das Forum nicht!
- Eine Änderung auf GMT +2 Stunden (inkl Anpassung der Userdaten in der DB) hat KEINERLEI Auswirkung!

Deaktiviere ich den Mod in der functions.php, geht die Uhr wieder richtig!
Also liegt der Fehler im Mod! Oder?

Ich hab mal testweise den "thetime"-Sting ganz am Anfang des Mods durch den Sommerzeit-Hack ersetzt, ohne Erfolg. Ich vermute mal, dass der Mod Probleme mit der deutschen Zeitsteuerung hat.

Habt Ihr eine Lösung für mich?
Braucht Ihr noch weitere Angaben?
Kann man den Mod irgendwie anpassen?
Gibts nen besseren Mod (einfach einzubauen!)?

Bin noch kein ausgereifter PHP-Spezi, daher bitte mich vorsichtshalber dem Prä-Noob-Status zuordnen. :D

Ich danke schon mal für Eure Hilfe (wenns denn welche gibt).
Valerie Raghnall
Mitglied
Beiträge: 3907
Registriert: 17.07.2002 14:03
Wohnort: Graz

Beitrag von Valerie Raghnall »

hi,

welche boardversion nutzt du denn?
A Bus Station is where buses stop. A Train Station is where trains stop. On my desk, there is a Work Station.
_KO_
Mitglied
Beiträge: 6
Registriert: 24.02.2006 23:06

Beitrag von _KO_ »

die aktuelle, 2.0.19
Aktuelles Forum-Projekt:
camperforum.de
Computer-Admins leben wie Katzen: Sie schleichen zur Arbeit, legen die Pfoten auf den Tisch und spielen mit der Maus!
Valerie Raghnall
Mitglied
Beiträge: 3907
Registriert: 17.07.2002 14:03
Wohnort: Graz

Beitrag von Valerie Raghnall »

hmm... wenn die gmt umstellung keine auswirkung hat... dann liegt es wohl irgendwo im code des mods... da müsstest du mal einfach nach sehen ob da irgendwo eine zeit fixiert ist. zumindest würde ich das jetzt vermuten... oder er ist fehlerhaft eingebaut.
A Bus Station is where buses stop. A Train Station is where trains stop. On my desk, there is a Work Station.
_KO_
Mitglied
Beiträge: 6
Registriert: 24.02.2006 23:06

Beitrag von _KO_ »

Ich poste mal am Besten die entsprechende Sequenz der functions.php:
//
// Create date/time from format and timezone
//
function create_date($format, $gmepoch, $tz)
{
global $board_config, $lang;
static $translate;

if ( empty($translate) && $board_config['default_lang'] != 'english' )
{
@reset($lang['datetime']);
while ( list($match, $replace) = @each($lang['datetime']) )
{
$translate[$match] = $replace;
}
}

// return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz));

// friendly date mod\\*******************

$thetime = ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz));

$L_Today = '<b>Heute</b>';
$L_Yesterday = 'Gestern';
$time_format = ", H:i"; // - hour:minute am/pm

$date = getdate();
$today = $date['mday'];
$month = $date['mon'];
$year = $date['year'];

$forum_date_today = @gmdate ("d", $gmepoch);
$forum_date_month = @gmdate ("m", $gmepoch);
$forum_date_year = @gmdate ("Y", $gmepoch);

if ($forum_date_today == $today && $forum_date_month == $month && $forum_date_year == $year)
$thetime = $L_Today . @gmdate ($time_format, $gmepoch);//today

else
if ($today != 1 && $forum_date_today == ($today-1) && $forum_date_month == $month && $forum_date_year == $year)
$thetime = $L_Yesterday . @gmdate ($time_format, $gmepoch);//yesterday

else
//if today is 1 and the month is not 1, then we have to check how many days in the previews month
//and then set $yesterday to the last day in the previews month
if ($today == 1 && $month != 1)
{
$yesterday = date ("t", mktime(0,0,0,($month-1),1,$year));//returns how many days in the previews month
if ($forum_date_today == $yesterday && $forum_date_month == ($month-1) && $forum_date_year == $year)
$thetime = $L_Yesterday . @gmdate ($time_format, $gmepoch);//yesterday
}
else
//if we are in the first day in the year
if ($today == 1 && $month == 1)
{
$yesterday = date ("t", mktime(0,0,0,12,1,($year -1)));
if ($forum_date_today == $yesterday && $forum_date_month == 12 && $forum_date_year == ($year-1))
$thetime = $L_Yesterday . @gmdate ($time_format, $gmepoch);//yesterday
}

return ($thetime);
//end friendly date \\*******************************
Ich hab den genau so eingebaut wie es in der Anleitung steht, einzige Anpassung ist die Sache mit dem eingedeutschten "Heute" (+ fett) und "Gestern". Sieht man ja oben.
Aktuelles Forum-Projekt:
camperforum.de
Computer-Admins leben wie Katzen: Sie schleichen zur Arbeit, legen die Pfoten auf den Tisch und spielen mit der Maus!
_KO_
Mitglied
Beiträge: 6
Registriert: 24.02.2006 23:06

Beitrag von _KO_ »

hmmmm...

keiner eine Lösung parat?
Aktuelles Forum-Projekt:
camperforum.de
Computer-Admins leben wie Katzen: Sie schleichen zur Arbeit, legen die Pfoten auf den Tisch und spielen mit der Maus!
shadow66

Beitrag von shadow66 »

Bei mir sieht eine Code Zeile etwas anders aus vielleicht liegt es daran,

Die ist eine Original Zeile und ist noch nicht modifiziert.
// Create date/time from format and timezone
//
function create_date($format, $gmepoch, $tz)
{
global $board_config, $lang;
static $translate;

if ( empty($translate) && $board_config['default_lang'] != 'english' )
{
@reset($lang['datetime']);
while ( list($match, $replace) = @each($lang['datetime']) )
{
$translate[$match] = $replace;
}
}

return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * ($tz+date("I")))), $translate) : @gmdate($format, $gmepoch + (3600 * ($tz+date("I"))));
Antworten

Zurück zu „phpBB 2.0: Mod Support“