Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Hallo zusammen,
ich würde gerne den MyBB-Code um eine Funktion erweitern oder ggf. ein Plugin erstellen. Dabei soll nach dem Absenden eines neuen Threads oder eines Beitrags die Nachricht nach externen Links durchsucht und wenn vorhanden, eine Mail an den Admin geschickt werden.
Bin ich da auf dem richtigen Weg, das in der class_parser.php (Funktion parse_message) unterzubringen?
Wenn ich das als Plugin ausführen wollte, müsste ich mich wohl in entsprechende Hooks einklinken. Ist es richtig, dass diese hier in Betracht kommen würden?
Zitat:./newreply.php
545 newreply_do_newreply_end
1210 newreply_end
./newthread.php
445 newthread_do_newthread_end
921 newthread_end
Was ist denn eigentlich z.B. der Unterschied zwischen dem Hook "newreply_do_newreply_end" und "newreply_end"?
Vielen Dank schon mal im Voraus für Eure Antworten.
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Ich verstehe deinen Wunsch nicht ganz.
newreply_end wird am Ende der newreply.php ausgeführt, also vor dem Abschicken, bei der Vorschau etc.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
01.12.2010, 20:16
(Dieser Beitrag wurde zuletzt bearbeitet: 01.12.2010, 20:18 von frostschutz.)
Die class_parser.php wird beim erstellen eines Beitrags glaube ich nicht unbedingt aufgerufen (niemand zwingt dich, dein Posting anschließend auch zu lesen). Dafür wird es dann jedes Mal aufgerufen wenn einer das Posting aufmacht. Der class_parser ist somit die falsche Stelle zum einklinken (wenn auch die richtige Stelle um herauszufinden, ob Links im Posting sind).
Dir bleibt also nichts anderes als dich direkt im Antwort-, und vollständigkeitshalber auch Edit-Prozess für nachträglich eingefügte Links, einzuklinken. Vielleicht hab ich dich aber auch falsch verstanden und du wolltest es sowieso richtig machen, da du ja die Reply Hooks erwähnst.
Zitat:Was ist denn eigentlich z.B. der Unterschied zwischen dem Hook "newreply_do_newreply_end" und "newreply_end"?
newreply_do_newreply_end wird aufgerufen, relativ direkt nachdem der Post in die Datenbank gesetzt wurde. Das ist wahrscheinlich der Hook den du willst denn dann ist der Beitrag geschrieben.
newreply_end wird am Ende der Antwortseite aufgerufen (die Seite die kommt wenn du auf antworten klickst). Da du da noch keine Mail schicken kannst / willst, ist das nicht das was du suchst.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
(01.12.2010, 20:10)StefanT schrieb: Ich verstehe deinen Wunsch nicht ganz.
Kann passieren...
Wenn ein User einen Beitrag schreibt (entweder über "Antworten" oder "Neuer Thread") oder editiert (Danke für den Hinweis, frostschutz!) und in der Nachricht einen Link zu einer Webseite außerhalb unseres Forums enthalten ist, soll der Beitragslink per E-Mail an mich versendet werden. Idealerweise könnte die E-Mail auch noch den entsprechenden Link aus der Nachricht enthalten.
@frostschutz: hm, das soll natürlich nicht passieren, dass bei jedem Aufruf eines Beitrages eine Mail losgeschickt wird.
Das ist ein guter Punkt.
Demnach müsste ich mich eher an die newreply.php, newthread.php, editpost.php und xmlhttp.php halten und daraus die parse_message-Fkt. ausführen, oder?
Danke für Erklärungen zu den Hooks. Demnach wäre ich wohl mit den Hooks
- newreply_do_newreply_end
- newthread_do_newthread_end
- editpost_do_editpost_end (funktioniert dieser Hook auch über die Inlinebearbeitung?)
gut beraten?
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Du kannst auch die Hooks im Datahandler verwenden, da kannst du auch leicht auf die Eingaben zugreifen.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Du sprichst vom post.php Datahandler? Wird der in den Fällen verwendet, die ich oben beschrieben habe oder kommt der auch bei der bloßen Ansicht eines Beitrages zur Anwendung?
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Der kommt nur beim Erstellen und Bearbeiten von Beiträgen zum Einsatz. Die Verifikation läuft auch darüber, aber die Funktionen sind von einander getrennt.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Dann werde ich mir das mal zu Gemüte führen. Wenn ich irgendwo hänge, dann melde ich mich ganz sicher wieder....
Beiträge: 962
Themen: 97
Registriert seit: 20.03.2010
MyBB-Version: 1.8.x
Sowas wäre echt Prakisch, so kann man jedenfalls das Impressum immer richtig halten!
Nur ich würde es als PM nehmen, so kriegt nen Moderator und Admin sofort die PM mit nen selbstgemachten Satz und den Link, den man dann kontrollieren kann ob da nichts schlimmes ist und evt. dagegen vorgehen
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Naja, mir ist eine E-Mail lieber, dann muss ich nicht online gehen. Aber prinzipiell ist eine PM statt einer E-Mail dann auch kein Problem.
Jetzt kommt ja bald der Weihnachtsurlaub und dann werde ich dafür hoffentlich Zeit haben....