News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

[Tutorial] PM Lesebestätigung für gesendete Nachrichten

Started by noex, February 28, 2006, 08:04:30 AM

Previous topic - Next topic

acherontic

#20
hey, es funktioniert - auch in Version 1.1.4! aber nur, wenn ihr beim schreiben einer pm das häckchen bei "Kopie im Ausgang speichern" angeklickt habt. dann könnt ihr im ordner "postausgang" sehen, ob jemand die nachricht schon gelesen hat oder nicht ...

ich hab den code (fast) genauso eingefügt, wie es noex weiter oben beschrieben hat.
- in sources/PersonalMessage.php wird der erste teil ab Zeile 482 und der zweite Teil wird zwischen die Zeilen 492 und 493 eingefügt, sodass
der Code (ab Zeile 476) so aussehen müsste
mysql_free_result($request);

if (!empty($pms))
{
// Get recipients (don't include bcc-recipients for your inbox, you're not supposed to know :P).
$request = db_query("
SELECT pmr.ID_PM, mem_to.ID_MEMBER AS ID_MEMBER_TO, mem_to.realName AS toName, pmr.bcc, pmr.labels, pmr.is_read" . ($context['folder'] == 'outbox' ? ", pmr.is_read" : '') . "
FROM {$db_prefix}pm_recipients AS pmr
LEFT JOIN {$db_prefix}members AS mem_to ON (mem_to.ID_MEMBER = pmr.ID_MEMBER)
WHERE pmr.ID_PM IN (" . implode(', ', $pms) . ")", __FILE__, __LINE__);
$context['message_labels'] = array();


und ab Zeile 490 so:

if ($context['folder'] == 'outbox' || empty($row['bcc']))
$recipients[$row['ID_PM']][empty($row['bcc']) ? 'to' : 'bcc'][] = empty($row['ID_MEMBER_TO']) ? $txt[28] : '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER_TO'] . '">' . $row['toName'] . '</a>';

if($context['folder'] == 'outbox')
$recipients[$row['ID_PM']]['is_read'] = $row['is_read'];

if ($row['ID_MEMBER_TO'] == $ID_MEMBER && $context['folder'] != 'outbox')


- in Themes/default/PersonalMesssage.template.php wird der code ab Zeile 371 eingefügt, sodass der Code (beginnend ab Zeile 359) so aussehen müsste:

// Show who the message was sent to.
echo '
<div class="smalltext">&#171; <b> ', $txt['sent_to'], ':</b> ';

// People it was sent directly to....
if (!empty($message['recipients']['to']))
echo implode(', ', $message['recipients']['to']);
// Otherwise, we're just going to say "some people"...
elseif ($context['folder'] != 'outbox')
echo '(', $txt['pm_undisclosed_recipients'], ')';

echo ' <b> ', $txt[30], ':</b> ', $message['time'], ' &#187;</div>';

if($context['folder'] == 'outbox')
{
echo '<br />';
foreach($message['recipients']['to'] as $person)
{
echo $person . ' hat diese Nachricht ' . ($message['recipients']['is_read'] == '1' ? 'gelesen' : 'NICHT gelesen') . '.<br />';
}
}

// If we're in the outbox, show who it was sent to besides the "To:" people.


Ergänzen möchte ich :
das funktioniert nur, wenn man beim Absenden einer PM auch angibt, dass eine Kopie im Postausgang gespeichert werden soll. Dann sieht man dort bei den gesendeten PM's über dem geschriebenen Text "xxxx hat diese Nachricht gelesen" bzw. "... NICHT gelesen"

Jessikard


atrsc2003

#22
hallo!

Ich habe das versucht nach zu vollziehen und bekomme folgende Fehlermeldung :
-----------------------------------------------------
Parse error: syntax error, unexpected T_STRING in /is/htdocs/wp1072687_2XYCC92U7J/quasselbox/Sources/PersonalMessage.php on line 489
------------------------------------------------------

Andreas


B-S-G

Hallo,

nette Sache, funktioniert soweit auch.

Problem: Sobald der Empfänger auf die PM antwortet (egal ob 'antworten' oder 'zitieren'), wandert der Status wieder auf "Nicht gelesen".

Ist das bei euch auch so (V. 1.1.5)?

atrsc2003

Quote from: atrsc2003 on April 20, 2008, 11:06:10 AM
hallo!

Ich habe das versucht nach zu vollziehen und bekomme folgende Fehlermeldung :
-----------------------------------------------------
Parse error: syntax error, unexpected T_STRING in /is/htdocs/wp1072687_2XYCC92U7J/quasselbox/Sources/PersonalMessage.php on line 489
------------------------------------------------------

Andreas



Hallo!

Habe den Fehler gefunden.....da ich den zu suchenden String wohl irgendwie nicht hatte konnte der auch nicht ersetzt werden. Scheint also Super einwandfrei zu funktionierten. Herzliches danke!:-)

Andreas

B-S-G

Quote from: B-S-G on May 15, 2008, 02:11:38 AM
Problem: Sobald der Empfänger auf die PM antwortet (egal ob 'antworten' oder 'zitieren'), wandert der Status wieder auf "Nicht gelesen".

Hat dazu noch jemand eine Idee?  ???

halfmoon

Hallo Zusammen,

ich habe das gleiche Problem, Nachrichten werden in den Status "NICHT gelesen" versetzt sobald eine
Antowert oder Zitat erfolgt.

Änderungen habe ich laut der ersten How To durchgeführt.

Ich verwende SMF 1.1.5

Hoffe es kann jemand helfen und weis eine Lösung oder einen Ansatz.

Gruss HalfMoon


Quote from: B-S-G on May 19, 2008, 06:41:19 AM
Quote from: B-S-G on May 15, 2008, 02:11:38 AM
Problem: Sobald der Empfänger auf die PM antwortet (egal ob 'antworten' oder 'zitieren'), wandert der Status wieder auf "Nicht gelesen".

Hat dazu noch jemand eine Idee?  ???

Nachtfalke

Also DAS möchte ich auch haben  8)

Ich benutze SMF 1.1.5

Gibt es da schon ne gut funktionierende Lösung???

Gruß, Thorsten
>>> Tanja Gräff, Studentin aus Trier, wird seit 14 Monaten vermisst | http://www.findet-tanjagraeff.de <<<

Jessikard

 :( wir haben auch das Problem mit dem Status, dass der wieder auf ungelesen geht - help please

joker

Gibt es eine aktuellere version zu diesem MOD oder paßt sie auch zu 1.1.8?
joker ;-)

dieter4

Probiere es mal lokal aus. Vllt funktioniert es noch in 1.1.8.

daGroove

funktioniert bei mir einwandfrei mit 1.1.8... bis auf das problem das gelesene messages bei antwort wieder als ungelesen erscheinen... was allerdings nicht auf einen bug dieser modifikation zurück zu führen ist...

ergo das ding macht unter 1.1.8 genau das was es machen soll :) ob einem das ergebnis dann gefällt ist halt geschmacksache...

mir recihts erstmal  8)
wer zum teufel bin ich und wenn ja wieviele?

Shorti25


Nightwish76

Funktioniert das auch mit SMF 2.0.1 bzw. gibt es vielleicht sogar eine Mod (Paket) dafür?

Advertisement: