Anzahl aller PNs ausgeben
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.
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.
Anzahl aller PNs ausgeben
Hallo, ich saß die ganze Nacht daran endlich mal eine Postbox für meine Foren zu machen, wie ich sie haben wollte, leider scheitere ich an einem kleinen Detail.
Also, ich möchte gerne, dass wenn eine neue PN ankommt, das passende Bild sich ändert, soweit hab ich das auch hinbekommen, aber ich würde gerne auch daneben zusätzlich zu dem Stadarttext "Sie haben 1 neue Nachricht" auch noch angeben "Sie haben insgesamt X neue Nachrichten, y davon ungelesen." Den ungelesen Teil bekomme ich auch hin nur wie kann ich sämtliche Nachrichten, also alle schon gelesenen anrufen.
Zur Verdeutlichung, man merkt langsam an meiner Ausdrucksweise, dass ich durch gemacht habe :-/
Du hast 1 neue Nachricht.
Insgesamt hast du 5 Nachrichten, 3 davon ungelesen.
Gibt es da scho was fertiges aller {PRIVATE_MESSAGE_INFO} oder muss man das selbst noch schreiben und wenn ja, wie und wo?
Wäre sehr dankbar für Hilfe, bevor ich die nächste Nacht durchmachen muss.
Thanks Amaya
Also, ich möchte gerne, dass wenn eine neue PN ankommt, das passende Bild sich ändert, soweit hab ich das auch hinbekommen, aber ich würde gerne auch daneben zusätzlich zu dem Stadarttext "Sie haben 1 neue Nachricht" auch noch angeben "Sie haben insgesamt X neue Nachrichten, y davon ungelesen." Den ungelesen Teil bekomme ich auch hin nur wie kann ich sämtliche Nachrichten, also alle schon gelesenen anrufen.
Zur Verdeutlichung, man merkt langsam an meiner Ausdrucksweise, dass ich durch gemacht habe :-/
Du hast 1 neue Nachricht.
Insgesamt hast du 5 Nachrichten, 3 davon ungelesen.
Gibt es da scho was fertiges aller {PRIVATE_MESSAGE_INFO} oder muss man das selbst noch schreiben und wenn ja, wie und wo?
Wäre sehr dankbar für Hilfe, bevor ich die nächste Nacht durchmachen muss.
Thanks Amaya
Re: Anzahl aller PNs ausgeben
Also mit {PRIVATE_MESSAGE_INFO_UNREAD} kannst du schonmal ausgeben wie viel ungelesene Nachrichten ein User hat.
Hoffe das hilft schon ein bisschen weiter
edit:
Hoffe das hilft schon ein bisschen weiter
edit:
Verdammt ... ich sollte mir wirklich mal angewöhnen den ganzen Beitrag zu lesen bevor ich antworte. ;)Amaya hat geschrieben:Danke, aber soweit war ich auch schon
Zuletzt geändert von punkface am 22.07.2005 08:28, insgesamt 2-mal geändert.
Dafür sind ein paar kleine Änderungen notwendig:
includes/page_header.php
Finde:
Danach einfügen:
Finde:
Danach einfügen:
Finde:
Danach einfügen:
language/lang_english/lang_main.php
Finde:
Danach einfügen:
language/lang_german/lang_main.php
Finde:
Danach einfügen:
Jetzt kannst du in jeder tpl-Datei auf die Variable {PRIVATE_MESSAGE_TOTAL} zugreifen.
Ausgabe der Variable ist (je nach Fall):
Du hast X Nachrichten
Du hast 1 Nachricht
Du hast keine Nachrichten
Wenn du den Text ändern willst einfach die Sprachvariablen anpassen.
includes/page_header.php
Finde:
Code: Alles auswählen
else
{
$l_privmsgs_text_unread = $lang['No_unread_pm'];
}
Code: Alles auswählen
$sql = "SELECT COUNT(privmsgs_id) AS total
FROM " . PRIVMSGS_TABLE . "
WHERE privmsgs_to_userid = " . $userdata['user_id'] . "
AND ( privmsgs_type = " . PRIVMSGS_NEW_MAIL . "
OR privmsgs_type = " . PRIVMSGS_READ_MAIL . "
OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . " )";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query private message information', '', __LINE__, __FILE__, $sql);
}
$pm_total = ( $row = $db->sql_fetchrow($result) ) ? $row['total'] : 0;
$db->sql_freeresult($result);
if ( $pm_total > 0 )
{
$l_message_total = ( $pm_total == 1 ) ? $lang['Total_pm'] : $lang['Total_pms'];
$l_privmsgs_text_total = sprintf($l_message_total, $pm_total);
}
else
{
$l_privmsgs_text_total = $lang['No_pm'];
}
Code: Alles auswählen
else
{
$icon_pm = $images['pm_no_new_msg'];
$l_privmsgs_text = $lang['Login_check_pm'];
$l_privmsgs_text_unread = '';
$s_privmsg_new = 0;
Code: Alles auswählen
$l_privmsgs_text_total = '';
Code: Alles auswählen
'PRIVATE_MESSAGE_NEW_FLAG' => $s_privmsg_new,
Code: Alles auswählen
'PRIVATE_MESSAGE_TOTAL' => $l_privmsgs_text_total,
Finde:
Code: Alles auswählen
$lang['You_no_new_pm'] = 'No new private messages are waiting for you';
Code: Alles auswählen
$lang['Total_pms'] = 'You have %d messages';
$lang['Total_pm'] = 'You have %d message';
$lang['No_pm'] = 'You have no messages';
Finde:
Code: Alles auswählen
$lang['You_no_new_pm'] = 'Es sind keine neuen privaten Nachrichten vorhanden';
Code: Alles auswählen
$lang['Total_pms'] = 'Du hast %d Nachrichten';
$lang['Total_pm'] = 'Du hast %d Nachricht';
$lang['No_pm'] = 'Du hast keine Nachrichten';
Ausgabe der Variable ist (je nach Fall):
Du hast X Nachrichten
Du hast 1 Nachricht
Du hast keine Nachrichten
Wenn du den Text ändern willst einfach die Sprachvariablen anpassen.
Zuletzt geändert von Mungo am 11.09.2005 15:31, insgesamt 1-mal geändert.
Ich hab ein kleines Problem durch die Änderungen bekommen, im Adminmenü ging plötzlich die Aktion "Benutzer finden" nicht mehr, es am folgende Meldung: SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND ( privmsgs_type = 1 OR privmsgs_type = 0
Daraufhin hab ich etwas gebastelt und deinen Code so umgeschrieben.
Jetzt geht zwar sowohl die Ausgabe der PNs, als auch "Benutzer finden, aber ich nehme mal an, das ist nicht eben die sauberste Lösung, schließlich ist if jetzt ja nicht wirklich definiert.
Vielleicht weiß wer, wie es richtig heißen müsste, nicht das dadurch dann ein Fehler an anderer Stelle auftaucht.
Danke nochmal.
Daraufhin hab ich etwas gebastelt und deinen Code so umgeschrieben.
Code: Alles auswählen
if( !($result = $db->sql_query($sql)) )
{
}
else
{ $pm_total = ( $row = $db->sql_fetchrow($result) ) ? $row['total'] : 0;
}
Vielleicht weiß wer, wie es richtig heißen müsste, nicht das dadurch dann ein Fehler an anderer Stelle auftaucht.
Danke nochmal.
*nachobenhol*
Gibt es hier schon was neues, hab das selbe Problem...?
Scotty's .NET Projekte: StarTrek Infos X10, e-hahn Updater 3.10, Easy Desktop Note 1.06
Also mit der Änderung, die ich oben gepostet habe funktioniert es bei mir perfekt, wo hast du denn noch Probs?
Die Änderung war übrigends für diese Stelle von Mungos Codeangabe in der page_header.php
Die Änderung war übrigends für diese Stelle von Mungos Codeangabe in der page_header.php
Code: Alles auswählen
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query private message information', '', __LINE__, __FILE__, $sql);
}
$pm_total = ( $row = $db->sql_fetchrow($result) ) ? $row['total'] : 0;
Hab’s noch nicht eingebaut, bin grade am umbauen meiner Templates, um das bei den Privaten Nachrichten übersichtlicher und moderner zu gestalten. Wollte eigentlich nur wissen was der Fachmann von oben dazu schreibt, vielleicht ist deine Lösung ja nicht optimal, auch wenn sie funktioniert ?
@Mungo, kannst du da nicht mal schauen…?
@Mungo, kannst du da nicht mal schauen…?
Scotty's .NET Projekte: StarTrek Infos X10, e-hahn Updater 3.10, Easy Desktop Note 1.06