Hallo,
mein erster Beitrag und gleich mit einer Frage. Ich hoffe, ich habe alle Regeln hierfür beachtet.
Ich bin Administrator von diesem Forum:
Forum von Star Wars: Battlefields
Das Forum lief früher auf dem Webspace eines ehemaligen Mitspielers, der eine Menge Hacks und Mods eingebaut hat, die ich gar nicht alle im Code wiederfinden konnte. Nachdem ich es endlich hingekriegt hatte, die (seit Jahren) ausstehenden Updates (momentan müsste es Version 2.0.14 sein) und Korrekturen im Code durchzuführen, habe ich nun ein letztes Problem: Der Birthday Mod, der (vermutlich mit einer alten Version) bereits installiert war, hatte eine Fehlfunktion und bisher nichts weiter geliefert als an den zugehörigen Stellen leere Zeilen.
Ich habe jetzt den im Mod-Forum propagierten Birthday Mod der neuesten Version installiert, wie es in der Anleitung steht und auch das deutsche Sprachpaket dazugefügt.
Nur in den Template-Dateien (ich benutze das von dem ehemaligen Admin installierte W4F-Template "grau") habe ich keine Korrekturen durchgeführt, da der dortige Code schon überall vorhanden war (und zwar buchstäblich gleich).
Dennoch taucht in den Beiträgen zwar die richtige Altersangabe, aber kein Geburtsdatum auf. Auch im Profil stimmt da etwas nicht: Man kann sein Geburtsdatum einstellen, ruft man es aber auf, gibt es nur eine vierstellige Zahl wieder. Es wird erstaunlicherweise bei fast allen die 0101 angezeigt.
Woran könnte das liegen? Ich hoffe, ich muss nicht wieder alles neu installieren. Bei diesem stark selbstgemoddeten Forum käme das einer Katastrophe gleich.
[Nachtrag: Außerdem taucht auch auf der Indexseite der übliche Geburtstagstext nicht auf.]
Birthday Mod liefert vierstellige Zahlen statt Datum
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.
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.
- Dwarf Androx
- Mitglied
- Beiträge: 9
- Registriert: 03.03.2005 17:09
- Wohnort: Androx Hydrofarming
- Kontaktdaten:
Re: Birthday Mod liefert vierstellige Zahlen statt Datum
Völlig normal! Wozu denn Alter + Geburtsdatum?Dwarf Androx hat geschrieben:Dennoch taucht in den Beiträgen zwar die richtige Altersangabe, aber kein Geburtsdatum auf.
Dazu geh nochmal die Install genau durch...Dwarf Androx hat geschrieben:Auch im Profil stimmt da etwas nicht: Man kann sein Geburtsdatum einstellen, ruft man es aber auf, gibt es nur eine vierstellige Zahl wieder. Es wird erstaunlicherweise bei fast allen die 0101 angezeigt.
speziell den Part für includes/usercp_viewprofile.php
Mit Sicherheit fehlt da was... easy
- Dwarf Androx
- Mitglied
- Beiträge: 9
- Registriert: 03.03.2005 17:09
- Wohnort: Androx Hydrofarming
- Kontaktdaten:
Re: Birthday Mod liefert vierstellige Zahlen statt Datum
Allerdings... okay, irgendwo war da ein Denkfehlereasygo hat geschrieben:Völlig normal! Wozu denn Alter + Geburtsdatum?
Die habe ich jetzt durchgearbeitet. Müsste alles korrekt sein. Vermutlich habe ich wirklich woanders Mist gebaut. Gibt es da nicht irgendwo eine Umrechnungsfunktion für die vierstelligen Zahlenwerte aus der DB in ein gescheites Datum?easygo hat geschrieben:Dazu geh nochmal die Install genau durch...
speziell den Part für includes/usercp_viewprofile.php
Danke schon mal soweit.
Re: Birthday Mod liefert vierstellige Zahlen statt Datum
Sollte schon mehr als vierstellig sein (UNIX Timestamp hat 9)Dwarf Androx hat geschrieben:Gibt es da nicht irgendwo eine Umrechnungsfunktion für die vierstelligen Zahlenwerte aus der DB in ein gescheites Datum?
Umgerechnet wird in der usercp_viewprofile.php damit...
Code: Alles auswählen
$user_birthday = realdate($lang['DATE_FORMAT'], $profiledata['user_birthday']);
hab bei mir auch gemerkt, dass es plötzlich alles in vierstelligen zahlen ausgegeben werden und ich hab den mod schon etwas länger eingebaut und vorher lief auch alles gut.
Ich begebe mich mal auf die suche nach dem Fehler, falls jemand was gefunden hat, kann er/sie es ja hier posten
thx in advance
sqrt
Ich begebe mich mal auf die suche nach dem Fehler, falls jemand was gefunden hat, kann er/sie es ja hier posten
thx in advance
sqrt
Da wo Männer denken, haben Frauen ein Loch!
- Dwarf Androx
- Mitglied
- Beiträge: 9
- Registriert: 03.03.2005 17:09
- Wohnort: Androx Hydrofarming
- Kontaktdaten:
Also inzwischen habe ich immerhin herausgefunden, dass die Funktion realdate() (steht in der functions.php) in meiner Installation an sich korrekt läuft und dass auch in der usercp_viewprofile.php alles korrekt funktioniert (indem ich einfach mal die Variable $user_birthday direkt ausgebe).
Der Fehler muss irgendwo unterwegs zwischen der usercp_viewprofile.php und dem zugehörigen Template auftreten. *weitersuch*
Der Fehler muss irgendwo unterwegs zwischen der usercp_viewprofile.php und dem zugehörigen Template auftreten. *weitersuch*
- Dwarf Androx
- Mitglied
- Beiträge: 9
- Registriert: 03.03.2005 17:09
- Wohnort: Androx Hydrofarming
- Kontaktdaten:
!
Hallo!
Habe das Problem endlich gefixt und tatsächlich lief es auf ein Problem mit den früheren (alten) Mods hinaus; das wird es bei dir auch sein @SQRT.
In der usercp_viewprofile wurde tatsächlich unterwegs (bei mir und meinen mistigen Files) die Variable $user_birthday durch diese Zeile korrumpiert:
Durch das include wird ja die page_header.php aufgerufen und in der steht (vmtl auch bei SQRT, da er das Mod ja auch länger schon einsetzt) der nicht in den Mod-Anweisungen genannte Code:
Ich nehme an, dass dieser Codeschnipsel noch vom früheren Modding übrig war. Nach dem Rauskommentieren (bzw. jetzt Rauslöschen) dieses letzten Codeabschnitts hat sich das Problem erledigt; das konnte natürlich außer mir selber niemand finden, weil ihr ja alle Files einsetzt, die nicht von 'nem anderen Admin früher mit allerhand heute nicht mehr funktionierendem Müll vollgecodet wurden . THX dennoch für alle bereitwilligen Codespürhunde.
Habe das Problem endlich gefixt und tatsächlich lief es auf ein Problem mit den früheren (alten) Mods hinaus; das wird es bei dir auch sein @SQRT.
In der usercp_viewprofile wurde tatsächlich unterwegs (bei mir und meinen mistigen Files) die Variable $user_birthday durch diese Zeile korrumpiert:
Code: Alles auswählen
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
Code: Alles auswählen
// Birthday Mod, Show users with birthday
$sql = "SELECT user_id, username, user_birthday,user_level FROM " . USERS_TABLE. " WHERE user_birthday!=999999 ORDER BY username";
if($result = $db->sql_query($sql))
{
$birthdayrow = $db->sql_fetchrowset($result);
if (!empty($birthdayrow))
{
$date_today = create_date('Ymd', time(), $board_config['board_timezone']);
$date_forward = create_date('Ymd', time()+($board_config['birthday_check_day']*86400), $board_config['board_timezone']);
for($i = 0; $i < count($birthdayrow); $i++)
{
//echo date("md",$birthdayrow[$i]['user_birthday'])." ";
// $user_birthday=realdate("md",$birthdayrow[$i]['user_birthday']);
$user_birthday=date("md",$birthdayrow[$i]['user_birthday']);
$user_birthday2=(($year.$user_birthday<$date_today)? $year+1:$year).$user_birthday;
if ($user_birthday2==$date_today)
{
//user have birthday today
// $user_age=$year- realdate ('Y',$birthdayrow[$i]['user_birthday']);
$user_age=$year- date ('Y',$birthdayrow[$i]['user_birthday']);
$style_color = ($birthdayrow[$i]['user_level'] == ADMIN )?'style="color:#' . $theme['fontcolor3'] . '"':(( $birthdayrow[$i]['user_level'] == MOD )?'style="color:#' . $theme['fontcolor2'] . '"':'');
$birthday_today_list .= ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $birthdayrow[$i]['user_id']) . '"' . $style_color .'><b>' . $birthdayrow[$i]['username'] . ' ('.$user_age.')</b></a>';
}
else if ($user_birthday2>$date_today && $user_birthday2<=$date_forward)
{
// user are having birthday within the next days
// $user_age=($year.$user_birthday<$date_today)?$year- realdate ('Y',$birthdayrow[$i]['user_birthday'])+1:$year- realdate ('Y',$birthdayrow[$i]['user_birthday']);
$user_age=($year.$user_birthday<$date_today)?$year- date ('Y',$birthdayrow[$i]['user_birthday'])+1:$year- date ('Y',$birthdayrow[$i]['user_birthday']);
$style_color = ($birthdayrow[$i]['user_level'] == ADMIN )?'style="color:#' . $theme['fontcolor3'] . '"':(( $birthdayrow[$i]['user_level'] == MOD )?'style="color:#' . $theme['fontcolor2'] . '"':'');
$birthday_week_list .= ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $birthdayrow[$i]['user_id']) . '"' . $style_color .'><b>' . $birthdayrow[$i]['username'] . ' ('.$user_age.')</b></a>';
}
}
}
}