Liebe Typo3 Community,
ich kämpfe schon seit einigen Studen mit mm_forum auf der Seite www.teatro.at und habe folgendes Problem.
Die User werden nicht benachrichtigt, wenn ein neuer Beitrag zu ihrem Post gemacht wird.
Nach der ersten Installation (damals noch Version 0.1.5) wurde zwar ein Email versendet aber erstens von einer seltsamen Emailadresse (teatro@www62.world4you.com) und zweites wurde der Link nicht richtig dargestellt:
http%3A%2F%2Fwww.teatro.at%2Fcms%2Fmitmachen%2Fforum%2Fdas-teatro-forum%2Fopen_topic.html%3Ftx_mmforum_pi1%255Bid%255D%3D5
Nach einem Update auf mm_forum 0.1.6. wurden dann überhaupt keine Emails versendet. Interessanter Weise werden sonst alle Emails richtig versendet.
Hat jemand einen Hinweis?
Danke im voraus und liebe Grüße,
Thomas
HAT JEMAND VON EUCH EINE ÄLTERE VERSION?
Noch eine Frage: Könnte mir jemand zu Testzwecken eine ältere Version von mm_forum zur Verfügung stellen? Dann könnte ich es mal damit testen. Hat jemand vielleicht 0.1.5?
Danke,
Thomas
du brauchst jetzt aber nicht in jeden deiner posts die gleichen postings absetzen!
http://typo3.org/extensions/repository/view/mm_forum/0.1.6/ > in der url die versionsnummer austauschen > downloaden
georg
Bei mir werden ebenfalls keine Mail-Benachrichtigungen verschickt und ich bin ebenfalls noch auf der Problemsuche. Ich habe diesbezüglich auch einen Beitrag eröffnet (@Thomas: nur 6 Einträge unter Deinem):
#76804
Ich vermute, dass es ein Bug ist. Ich habe in der Datei pi1/class.tx_mmforum_pi1.php in der Funktion send_newpost_mail (ab Zeile 3304) vor der if-Abrage...
if (!empty($row['email']) && $row['user_id'] <> $GLOBALS['TSFE']->fe_user->user['uid']) {
...mal die abgefragten Werte in eine Textdatei zwischengespeichert...
$contentsave = "\n(IP: ".getenv("REMOTE_ADDR").") mail versenden an(3): ".$row['email']." user_id: ".$row['user_id']." uid ".$GLOBALS['TSFE']->fe_user->user['uid'];
$myfile = fopen('forum-debug.txt',"a+");
fwrite($myfile,$contentsave);
fclose($myfile);
...und die Mailadresse ($row['email']) war leider leer. Eventuell liegt es an eine DB-Abfrage weiter oben. Ich recherchiere weiter... Falls vor mir jemand etwas findet, bitte hier posten. Danke!
Ben
Hi Ben!
Irgend so etwas habe ich auch vermutet.
Seltsam nur, dass diese Fehler nicht bei allen anderen auch auftritt.
Danke, dass du dich da mal schlau machst!
Liebe Grüße,
Thomas
Ich bin leider nicht so fit, was Datenbankabfragen angeht...
Jedoch folgendes finde ich merkwürdig
list($to_username, $to_usermail) = $GLOBALS['TYPO3_DB']->sql_fetch_row($GLOBALS['TYPO3_DB']->exec_SELECTquery($this->getUserNameField().',email','fe_users','uid="'.$row['user_id'].'"'));
-> das Komma vor "email"
In einer alten Version stand vor dem Komma noch "username", aber sowohl ohne Komma, als auch mit "username" davor komme ich nicht weiter.
Im Bugtracker ist das Problem auch schon bekannt: http://bugs.typo3.net/view.php?id=195
Hi!
Bin leider auch kein Profi aber:
Sollte diese Zeile nicht eher so aussehen:
list($to_username, $to_usermail) = $GLOBALS['TYPO3_DB']->sql_fetch_row($GLOBALS['TYPO3_DB']->exec_SELECTquery($this->getUserNameField().'username','email','fe_users','uid="'.$row['user_id'].'"'));
Ich frage mich auch, was in folgender Funktion gemacht wird:
$this->getUserNameField()
Noch eine Frage an dich. Wo genau legst du das debug textfile an? Oder wird das File durch das php Script angelegt? Dannkann ich auch leichter Test machen...
Danke!
Thomas
Noch eine Frage:
weißt du ob user_id richtig übergeben wird.
Davon hängt nämlich ab, b in der DB etwas gefunden wird.
Ich habe das kleine PHP-Snippet für die Textdatei direkt vor die if-Abfrage eingebaut und das Textdokument ist dann in meinem /html/ Ordner gelandet. Wofür die Funktion genau gut ist habe ich auch noch nicht verstanden. Jedenfalls ist sie in dieser Version neu hinzugekommen.
Die user_id scheint richtig übergeben worden zu sein.
thomas_vienna schriebSollte diese Zeile nicht eher so aussehen:
list($to_username, $to_usermail) = $GLOBALS['TYPO3_DB']->sql_fetch_row($GLOBALS['TYPO3_DB']->exec_SELECTquery($this->getUserNameField().'username','email','fe_users','uid="'.$row['user_id'].'"'));
Nein. Wie in der Quelltextdokumentation zu entnehmen, liefert getUserNameField() den Namen des Datenbankfeldes, in welchem der Benutzername steht, also in aller Regel "username". Daher muss auch das Komma vor "email" stehen (sonst würde ja schließlich das Feld "usernameemail" abgefragt) und daher ist auch das hinzufügen des "username"-Feldes überflüssig (noch dazu ohne Komma und als eigener String).
Im Bugtracker wurde das Problem bereits korrekt erkannt; ein Patch steht im SVN zur Verfügung.
Martin
aha danke!
Würde mir gerne die bereits gepachte Entwicklerversion runterladen.
http://svn.typo3.net/
Kriege aber immer eine Fehlermeldung...
@Thomas: Ich habe nur die kleine Änderung vorgenommen, daher brauchgte ich nicht die ganze Datei.
@Martin: Besten Dank, jetzt funktioniert es! Eine Frage: warum hast Du die Änderung nicht entsprechend dem Vorschlag im Bugtracker gemacht, sondern die !empty($to_usermail)-Abfrage rausgeworfen? Wenn beim user keine Adresse hinterlegt ist, braucht das Forum doch erst keinen Mailversuch zu starten, oder wird das an anderer Stelle breits überprüft?
Hi!
Es klappt danke für den Hinweis...
LG Thomas
Benjamecho schrieb
@Martin: Besten Dank, jetzt funktioniert es! Eine Frage: warum hast Du die Änderung nicht entsprechend dem Vorschlag im Bugtracker gemacht, sondern die !empty($to_usermail)-Abfrage rausgeworfen? Wenn beim user keine Adresse hinterlegt ist, braucht das Forum doch erst keinen Mailversuch zu starten, oder wird das an anderer Stelle breits überprüft?
Hallo,
die Abfrage ist doch noch drin...?
Martin
Ja bei mir schon.
Ich habe nur die variable ausgetauscht...
Danke noch mal für die rasche Hilfe.
Thomas
m.helmich schrieb
die Abfrage ist doch noch drin...?
Jetzt sehe ich es auch, sorry, habe offensichtlich in der falschen Version geschaut.
Muss die Änderung auch bei der darauf folgenden Funktion send_newpost_mail_forum durchgeführt werden? Da fehlt jedenfalls in der if-Abfrage die $to_usermail-Variable.
Ben