Seite 2 von 2
Verfasst: 23.09.2005 21:47
von Markus67
steffi1977 hat geschrieben:wo setzt man den den code ein udn was bewirkt der jetzt direkt ???
Ich habe meinen code so :
<a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="{PRIVMSG_IMG}" width="13" height="13" border="0" alt="{PRIVATE_MESSAGE_INFO}" hspace="3" /><b>{PRIVATE_MESSAGE_INFO}</b></a>
Der Code bewirkt diese Anzeige ...
Keine neuen Nachrichten | Du hast keine ungelesenen Nachrichten
Die werden also auch die ungelesenen Nachrichten angezeigt.
Du kannst das ganze in die overall_header.tpl setzen.
Markus
Verfasst: 24.09.2005 10:51
von makue
Also, für die Korrektur der "ungelesenen Nachrichten" habe ich in die privmsg.php nach "// start main" folgendes eingebaut:
Code: Alles auswählen
$sql = "SELECT u.user_id AS user_id_1, u2.user_id AS user_id_2, u.user_from, pm.*
FROM " . PRIVMSGS_TABLE . " pm, " . PRIVMSGS_TEXT_TABLE . " pmt, " . USERS_TABLE . " u, " . USERS_TABLE . " u2
WHERE pmt.privmsgs_text_id = pm.privmsgs_id
AND pm.privmsgs_to_userid = " . $userdata['user_id'] . "
AND pm.privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . "
AND u.user_id = pm.privmsgs_from_userid
AND u2.user_id = pm.privmsgs_to_userid";
if (!($result = $db->sql_query($sql))) message_die(GENERAL_ERROR, 'Could not query private message post information', '', __LINE__, __FILE__, $sql);
$unread_msg = mysql_num_rows($result);
$sql = "UPDATE ".USERS_TABLE." SET user_unread_privmsg = ".$unread_msg." 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);
Auf der Index-Seite habe ich nun links auch stehen, wieviel ungelesene und wieviel neue PNs es gibt. Auch auf der PN-Seite selbst habe ich über der Tabelle deutlich hervorgeheben "Du hast x ungelesene Nachrichten". Nun bin ich zufrieden!

Anmerkung: die Variablen nach SELECT hätte man sicher auch weglassen können.