Probleme mit neuen PN's

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Chickeweck
Mitglied
Beiträge: 105
Registriert: 03.10.2005 13:22

Probleme mit neuen PN's

Beitrag von Chickeweck »

Hallo,

ich hab ein neues Forum eingerichtet und Teile der alten Datenbank übernommen, auch die Tabellen für die privaten Nachrichten.

Doch wenn ich jetzt einem Benutzer eine Nachricht schreibe wird diese erst bei dem als neu angezeigt wenn ich im DB-Maintenance-MOD die Option "Prüfe Private Nachrichten-Tabellen" ausgeführt habe.

Nach dieser Prüfung kommt folgende Meldung:

Code: Alles auswählen

Aktualisiere Zähler für ungelesene Private Nachrichten

Aktualisiere Benutzer:

    * Aktualisiere Benutzer Flo (2)

Was könnte da nicht stimmen ? Wäre über Antwort sehr dankbar.
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

was hast du denn alles aus der alten DB übernommen bzw. was nicht?

Markus
Chickeweck
Mitglied
Beiträge: 105
Registriert: 03.10.2005 13:22

Beitrag von Chickeweck »

Übernommen hab ich:

- auth_access
- categories
- forums
- groups
- posts
- posts_text
- privmsgs
- privmsgs_text
- ranks
- topics
- topics_watch
- user_group
- users
- vote_desc
- vote_results
- vote_voters


Joa, das dürfte alles sein was ich übernommen hab.

Es sei vielleicht noch zu erwähnen dass ich den Animated New Message Icon-MOD eingebaut habe, vielleicht könnte es damit zusammenhängen. Hier die Installationsanleitung.
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

verlinke mal bitte deine privmsgs.php als txt-Datei.

Markus
Chickeweck
Mitglied
Beiträge: 105
Registriert: 03.10.2005 13:22

Beitrag von Chickeweck »

Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

suche:

Code: Alles auswählen

$sql = "UPDATE " . USERS_TABLE . "
	SET user_unread_privmsg = " . $sql . ", user_new_privmsg = 0, user_last_privmsg = " . $userdata['session_start'] . " 
	WHERE user_id = " . $userdata['user_id'];
ersetze mit:

Code: Alles auswählen

// fix phpbb bug (user_unread_privmsg and user_new_privmsg are unreliable if > 0)
$check_total = $userdata['user_unread_privmsg'] + $userdata['user_new_privmsg'];
if ( $check_total )
{
	$sql = "SELECT COUNT(privmsgs_id) AS total 
		FROM " . PRIVMSGS_TABLE . " 
		WHERE privmsgs_to_userid = " . $userdata['user_id'] . "
		AND privmsgs_type = " . PRIVMSGS_UNREAD_MAIL;
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query private message information', '', __LINE__, __FILE__, $sql);
	}
	$userdata['user_unread_privmsg'] = ( $row = $db->sql_fetchrow($result) ) ? $row['total'] : 0;

	$sql = "SELECT COUNT(privmsgs_id) AS total 
		FROM " . PRIVMSGS_TABLE . " 
		WHERE privmsgs_to_userid = " . $userdata['user_id'] . " 
		AND privmsgs_type = " . PRIVMSGS_NEW_MAIL;
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query private message information', '', __LINE__, __FILE__, $sql);
	}
	$userdata['user_new_privmsg'] = ( $row = $db->sql_fetchrow($result) ) ? $row['total'] : 0;
}

$sql = $userdata['user_unread_privmsg'] + $userdata['user_new_privmsg'];
$sql = ( $check_total == $sql ) ? "user_unread_privmsg + user_new_privmsg" : $sql;
$sql = "UPDATE " . USERS_TABLE . "
	SET user_unread_privmsg = " . $sql . ", user_new_privmsg = 0, user_last_privmsg = " . $userdata['session_start'] . " 
	WHERE user_id = " . $userdata['user_id'];
suche:

Code: Alles auswählen

// fix phpbb bug (user_unread_privmsg and user_new_privmsg are unreliable if > 0)
$check_total = $userdata['user_unread_privmsg'] + $userdata['user_new_privmsg'];
if ( $check_total )
{
	$sql = "SELECT COUNT(privmsgs_id) AS total 
		FROM " . PRIVMSGS_TABLE . " 
		WHERE privmsgs_to_userid = " . $userdata['user_id'] . "
		AND privmsgs_type = " . PRIVMSGS_UNREAD_MAIL;
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query private message information', '', __LINE__, __FILE__, $sql);
	}
	$userdata['user_unread_privmsg'] = ( $row = $db->sql_fetchrow($result) ) ? $row['total'] : 0;

	$sql = "SELECT COUNT(privmsgs_id) AS total 
		FROM " . PRIVMSGS_TABLE . " 
		WHERE privmsgs_to_userid = " . $userdata['user_id'] . " 
		AND privmsgs_type = " . PRIVMSGS_NEW_MAIL;
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query private message information', '', __LINE__, __FILE__, $sql);
	}
	$userdata['user_new_privmsg'] = ( $row = $db->sql_fetchrow($result) ) ? $row['total'] : 0;
}

$sql = $userdata['user_unread_privmsg'] + $userdata['user_new_privmsg'];
$sql = ( $check_total == $sql ) ? "user_unread_privmsg + user_new_privmsg" : $sql;
$sql = "UPDATE " . USERS_TABLE . "
	SET user_unread_privmsg = " . $sql . ", user_new_privmsg = 0, user_last_privmsg = " . $userdata['session_start'] . " 
	WHERE user_id = " . $userdata['user_id'];
ersetze mit:

Code: Alles auswählen

			$sql = "UPDATE " . USERS_TABLE . "
				SET user_new_privmsg = user_new_privmsg + 1, user_last_privmsg = " . time() . "  
				WHERE user_id = " . $to_userdata['user_id'];
Du hast beim Einbau die falsche Stelle erwischt :wink:

Markus
Chickeweck
Mitglied
Beiträge: 105
Registriert: 03.10.2005 13:22

Beitrag von Chickeweck »

Ups...das ist jetzt wohl etwas peinlich :oops:

Tausend Dank, Markus :wink:
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“