[Gelöst]updaten von ungelesenen PN's direkt nach login
Verfasst: 24.08.2006 00:41
Hallo,
ich wollte die neue Privat Nachrichten Anzeige (Du hast 1 neue Nachricht) mit der unglesenen ersetzen (Du hast x ungelesene Nachrichten).
Das erste, das ich gemacht habe war dieses:
Da die ungelesenen Nachrichten nur updated werden (soweit ich das sehen konnte) wenn man zu den PNs geht (privmsg.php) habe ich den folgenden code zu der include/page_header.php und der index.php hinzugefügt.
Wenn ich jetzt ne neue Nachricht bekommen und Ich mich einlogge bekomme ich das normale Pop Up Fenster (Sie haben neue Nachrichten bla bla)
allerdings steht bei mir dann immer noch das ich keine ungelesene Nachrichten habe.
Nur wenn ich refresh (f5) drücke oder irgendnen link in der index page klicke ändert sich die information zu 'Du hast x ungelesene Nachrichten'.
Was ich wollte war, dass die unglesenen Nachrichten beim login updated werden und when das PopUp Fenster erscheint ich auch diese neue Nachricht in den ungelesenen Nachrichten sehe (Du hast 1 ungelesene Nachricht anstatt Du hast keine ungelesene Nachricht).
Das mag eventuell einfach sein, ich habs jetzt schon seit Stunden versucht hinzubekommen aber ohne Erfolg. Die Suche hat mir zwar schone eine Menge geholfen bei diesem Vorhaben, allerdings habe ich für dieses letzte Problem nichts finden können.
Kann mir eventuell jemand weiterhelfen?
Vielen Dank schonmal
ich wollte die neue Privat Nachrichten Anzeige (Du hast 1 neue Nachricht) mit der unglesenen ersetzen (Du hast x ungelesene Nachrichten).
Das erste, das ich gemacht habe war dieses:
Code: Alles auswählen
##---OPEN---
templates/yourtemplate/overall_header.tpl
##---FIND---
<a href="{U_PRIVATEMSGS}">{PRIVATE_MESSAGE_INFO}</a>
##
##---REPLACE WITH---
##
<a href="{U_PRIVATEMSGS}">{PRIVATE_MESSAGE_INFO_UNREAD}</a>
##
Code: Alles auswählen
//
// Update unread status
//
$sql = "UPDATE " . USERS_TABLE . "
SET user_unread_privmsg = user_unread_privmsg + user_new_privmsg, user_new_privmsg = 0, user_last_privmsg = " . $userdata['session_start'] . "
WHERE user_id = " . $userdata['user_id'];
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update private message new/read status for user', '', __LINE__, __FILE__, $sql);
}
$sql = "UPDATE " . PRIVMSGS_TABLE . "
SET privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . "
WHERE privmsgs_type = " . PRIVMSGS_NEW_MAIL . "
AND privmsgs_to_userid = " . $userdata['user_id'];
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update private message new/read status (2) for user', '', __LINE__, __FILE__, $sql);
}
allerdings steht bei mir dann immer noch das ich keine ungelesene Nachrichten habe.
Nur wenn ich refresh (f5) drücke oder irgendnen link in der index page klicke ändert sich die information zu 'Du hast x ungelesene Nachrichten'.
Was ich wollte war, dass die unglesenen Nachrichten beim login updated werden und when das PopUp Fenster erscheint ich auch diese neue Nachricht in den ungelesenen Nachrichten sehe (Du hast 1 ungelesene Nachricht anstatt Du hast keine ungelesene Nachricht).
Das mag eventuell einfach sein, ich habs jetzt schon seit Stunden versucht hinzubekommen aber ohne Erfolg. Die Suche hat mir zwar schone eine Menge geholfen bei diesem Vorhaben, allerdings habe ich für dieses letzte Problem nichts finden können.
Kann mir eventuell jemand weiterhelfen?
Vielen Dank schonmal