[Gelöst]updaten von ungelesenen PN's direkt nach login

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
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
lefty74
Mitglied
Beiträge: 250
Registriert: 01.07.2006 11:26
Kontaktdaten:

[Gelöst]updaten von ungelesenen PN's direkt nach login

Beitrag von lefty74 »

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:

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>
##
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.

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);
}
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
Zuletzt geändert von lefty74 am 27.08.2006 17:44, insgesamt 2-mal geändert.
lefty74
Mitglied
Beiträge: 250
Registriert: 01.07.2006 11:26
Kontaktdaten:

Beitrag von lefty74 »

Oh, hätte gedacht dass dies eventuell gar nicht soo schwer ist....

kann mir vielleicht jemand in die richtige richtung weisen? ich krieg diesen letzten schritt einfach nicht hin.

Vielen Dank
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“