MyBB.de Forum

Normale Version: Neue Nachrichten (PM's) extern anzeigen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallöchen,

Ich mach es mal kurz und knapp.

Ich bräuchte einen Code, der mir extern anzeigt, wieviele NEUE Nachrichten (PM's) sich bei dem eingeloggten User im Posteingang befinden.

Wäre euch sehr dankbar.

MfG, Waluigi
Ich weiß nicht ob ich dich richtig verstanden habe aber meinst du das?

PHP-Code:
<a href="{$mybb->settings['bburl']}/private.php">{$lang->welcome_pms}</a> {$lang->welcome_pms_usage

ergibt:
Zitat:Private Nachrichten (x ungelesen, x insgesamt)
Ich möchte nur die Anzahl der ungelesenen ausgeben.

Mit dem oben genannten Code funktioniert das ja nicht ganz, da dort die ungelesenen und die Anzahl der gesamten PM's angezeigt werden. Ich brauche jedoch nur die Zahl der ungelesenen.

Wäre nett, wenn mir jemand weiterhelfen könnte.

MfG, Waluigi
Hallo Waluigi,

sieh dir mal das Plugin > Ajax PM Notification an.
Naja, der Sinn meiner Angelegenheit ist, dass ich wenn zum Beispiel keine neuen Nachrichten vorhanden sind (als beispiel) ein Bärenbild anzeigen möchte. Wenn eine neue Nachricht ein Entenbild, wenn drei ein Elefantenbild undsoweiter.

if (anzahl der pm == '0')
{
echo '<img src="Bild" width="xxx" height="xxx" />';
}
else
{
if (anzahl der pm == '1')
{
echo '<img src="Bild2" width="xxx" height="xxx" />';
}
else
{
if (anzahl der pm == '2')
{
echo '<img src="Bild3" width="xxx" height="xxx" />';
}
}
}

Wenn ihr jetzt versteht Rolleyes
ohhh ich befürchte das ist nicht so einfach wie du das auflistest.

Aber mal schauen was die könner dazu sagen Wink
Kann mir ein anderer weiterhelfen?

Wäre demjenigen sehr dankbar...
(21.06.2009, 08:06)Waluigi schrieb: [ -> ]Ich möchte nur die Anzahl der ungelesenen ausgeben...
(21.06.2009, 10:08)Waluigi schrieb: [ -> ]Naja, der Sinn meiner Angelegenheit ist, dass ich wenn zum Beispiel keine neuen Nachrichten vorhanden sind (als beispiel) ein Bärenbild anzeigen möchte. Wenn eine neue Nachricht ein Entenbild, wenn drei ein Elefantenbild undsoweiter...
Ich verstehe das noch nicht so recht. Huh

Willst du anstatt der "PN-Hinweisbox" lediglich ein anzahlabhängiges Bild ausgeben? Oder soll das Bild an anderer Stelle ausgegeben werden?
Genau, ein anzahlabhäniges Bild möchte ich ausgeben.

Dafür brauche ich ja die Anzahl der neuen Nachrichten (nur die Zahl).

Wenn man eine Nachricht hat, erscheint ein Bär, wenn man zwei hat eine Ente, wenn man drei hat, ein Elefant, wenn man vier.....usw..

Diese Bilder kann ich dann ja mittels PHP ganz einfach ausgeben (wenn ich die Zahl der ungelesenen Nachrichten habe).

Wäre echt cool, wenn mir dabei einer helfen könnte, mir den Code zusammen zu basteln, denn ich habe von dem MyBB Zeugs (Datenbank etc.) noch nicht wirklich durchgeblickt.

MfG,
Waluigi
Versuche es einmal auf diesem Weg:

(!! sichere ggf. die Datei "global.php" !!) und ersetze hierin (~ Zeile 418)
PHP-Code:
    if($mybb->user['pms_unread'] == 1)
    {
        
$privatemessage_text $lang->sprintf($lang->newpm_notice_oneget_profile_link($pm['fromuid']), htmlspecialchars_uni($pm['fromusername']), $pm['pmid'], htmlspecialchars_uni($pm['subject']));
    }
    else
    {
        
$privatemessage_text $lang->sprintf($lang->newpm_notice_multiple$mybb->user['pms_unread'], get_profile_link($pm['fromuid']), htmlspecialchars_uni($pm['fromusername']), $pm['pmid'], htmlspecialchars_uni($pm['subject']));
    } 
durch
PHP-Code:
    if($mybb->user['pms_unread'] == 0)
    {
        
$privatemessage_img "<a href=\"private.php\"><img src=\"images/bild_00.gif\" alt=\"\" /></a>";
    }
    elseif(
$mybb->user['pms_unread'] == 1)
    {
        
$privatemessage_text $lang->sprintf($lang->newpm_notice_oneget_profile_link($pm['fromuid']), htmlspecialchars_uni($pm['fromusername']), $pm['pmid'], htmlspecialchars_uni($pm['subject']));
        
$privatemessage_img "<div align=\"center\"><a href=\"private.php\"><img src=\"images/bild_01.gif\" alt=\"\" /></a></div>";
    }
    elseif(
$mybb->user['pms_unread'] == 2)
    {
        
$privatemessage_text $lang->sprintf($lang->newpm_notice_multiple$mybb->user['pms_unread'], get_profile_link($pm['fromuid']), htmlspecialchars_uni($pm['fromusername']), $pm['pmid'], htmlspecialchars_uni($pm['subject']));
        
$privatemessage_img "<div align=\"center\"><a href=\"private.php\"><img src=\"images/bild_02.gif\" alt=\"\" /></a></div>";
    }
    else
    {
        
$privatemessage_text $lang->sprintf($lang->newpm_notice_multiple$mybb->user['pms_unread'], get_profile_link($pm['fromuid']), htmlspecialchars_uni($pm['fromusername']), $pm['pmid'], htmlspecialchars_uni($pm['subject']));
        
$privatemessage_img "<div align=\"center\"><a href=\"private.php\"><img src=\"images/bild_03.gif\" alt=\"\" /></a></div>";
    } 
Die Namen der Grafikdateien musst du entsprechend anpassen. Falls gewünscht, kannst du weitere "elseif() {...}"-Bedingungen hinzufügen.

Ersetze (als Ersatz für die "PN-Hinweisbox") in "Admin-CP > Templates > Template-Set > Global Templates > global_pm_alert" den kpl. Code durch
Code:
{$privatemessage_img}<br />

Sollen die Bilder an beliebiger Stelle ausgegeben werden, verwende lediglich die Variable "{$privatemessage_img}" im entsprechenden Template.
Seiten: 1 2