Frage zur Zeitanzeige bei PNs

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!
Antworten
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Frage zur Zeitanzeige bei PNs

Beitrag von Dungeonwatcher »

Hi großer Meister! :cool:

Ich habe den Formel 1 Mod und den Cash Mod zusammengebracht. D.h. ein bestimmter Wetteinsatz wird vom Punktekonto des Tippers bei der Tippabgabe abgezogen und bei Löschung des Tipps auch wieder zurückgebucht. Das klappt auch perfekt.
Zu jeder dieser Aktionen wird auch eine entsprechende PN versendet. Auch das klappt perfekt. Doch beim anschauen der PN fällt mir auf, das nur der Tag des Versendens der PN angezeigt wird. Die Uhrzeit fehlt in der Anzeige. Die Zeitangabe lasse ich mittels time() in die Datenbank schreiben. Der Code für das ganze sieht so aus:

Code: Alles auswählen

	// PN versenden
	$sql = "INSERT INTO " . PRIVMSGS_TABLE . " (privmsgs_id, privmsgs_type, privmsgs_subject, privmsgs_from_userid, privmsgs_to_userid, privmsgs_date, privmsgs_ip, privmsgs_enable_bbcode, privmsgs_enable_html, privmsgs_enable_smilies, privmsgs_attach_sig, privmsgs_attachment, privmsgs_track_id)
		VALUES (NULL, '0', '" . $lang['formel_pn_2_subject'] . "', '6', " . $user_id . ", " . time() . ", '', '1', '0', '1', '1', '0', '0')";
	if ( !($result = $db->sql_query($sql, BEGIN_TRANSACTION)) )
	{
		message_die(GENERAL_ERROR, "Could not insert/update private message sent info.", "", __LINE__, __FILE__, $sql_info);
	}
	$privmsg_sent_id = $db->sql_nextid();

	$sql = "INSERT INTO " . PRIVMSGS_TEXT_TABLE . " (privmsgs_text_id, privmsgs_text)
		VALUES ($privmsg_sent_id, '" . $lang['formel_pn_2'] . "')";
	if ( !$db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, 'Could not insert private message sent text', '', __LINE__, __FILE__, $sql);
	}
	
	$sql = "UPDATE " . USERS_TABLE . "
		SET user_new_privmsg = user_new_privmsg + 1, user_last_privmsg = " . time() . "
		WHERE user_id = $user_id";
	if ( !$status = $db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, 'Could not update private message new/read status for user', '', __LINE__, __FILE__, $sql);
	}
	//
Fehler im Code? Andereseits steht in der DB das kplt. Datum im Unixformat und müsste auch korrekt umgerechnet/angezeigt werden.

Bye
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Frage zur Zeitanzeige bei PNs

Beitrag von oxpus »

Wie wäre es mal mit den Einstellungen im eigenen Benutzerprofil?
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!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Re: Frage zur Zeitanzeige bei PNs

Beitrag von Dungeonwatcher »

Hmmm, du meinst das Datumsformat? Das steht auf "d. M. Y G:i".
PNs die händisch geschrieben werden, zeigen auch das kplt. Datum inkl. der Uhrzeit. Nur eben automatisch erstellte nicht.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Frage zur Zeitanzeige bei PNs

Beitrag von oxpus »

Wenn du einen Zeitstempel mit time() erstellst und diesen in die Datenbank in das betreffende dafür vorgesehene Feld schreibst, wird die Zeitangabe so formatiert, wie im Benutzerprofil angegeben.
Außer: Du verwendest an besagter Stelle nicht die board-eigene Funktion für die Formatierung, sondern verwendest eine eigene Form. Dann musst du selbstverständlich auch darauf achten, dass die Zeitangaben mit im Format-String stehen, sonst lässt deine Funktion die logischerweise weg.
Da ich jetzt aber auch nicht sehen kann, ob und was du an der entsprechenden Stelle verwendest, kann ich hier nur raten, denn dein Code, die PM zu speichern, ist ja so zumindest korrekt.
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!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Re: Frage zur Zeitanzeige bei PNs

Beitrag von Dungeonwatcher »

Moin! :cool:
oxpus hat geschrieben:Wenn du einen Zeitstempel mit time() erstellst und diesen in die Datenbank in das betreffende dafür vorgesehene Feld schreibst, wird die Zeitangabe so formatiert, wie im Benutzerprofil angegeben.
In der DB steht die korrekte Zeit. Ich hab's eben nochmal getestet: 1327833715 was 29.01.2012 11:41:55 entspricht.
Außer: Du verwendest an besagter Stelle nicht die board-eigene Funktion für die Formatierung, sondern verwendest eine eigene Form. Dann musst du selbstverständlich auch darauf achten, dass die Zeitangaben mit im Format-String stehen, sonst lässt deine Funktion die logischerweise weg.
Ok, Ich habe mich von einer Erweiterung zum Album inspirieren lassen. Aber auch dort fehlt die Uhrzeit in den PNs. Hmmmm...
Wenn ich das mit der privmsg.php vergleiche, wird auch dort nur time() verwendet.

Oder was meinst du mit "board-eigene Funktion für die Formatierung"? Das betrifft doch nur die Anzeige von Datum und Uhrzeit?

Nachtrag:

Ich habe nun auch die Variable $user_ip mit eingefügt. Warum auch immer, nun tut auch die Anzeige von Datum/Uhrzeit in den PNs stimmen. Ominös, ominös das ganze. Egal, hauptsache es funktioniert nun. :)

Bye
Antworten