Reihenfolge der Hooks? - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html) +--- Forum: Plugin-Entwicklung (https://www.mybb.de/forum/forum-74.html) +--- Thema: Reihenfolge der Hooks? (/thread-27799.html) |
RE: Reihenfolge der Hooks? - Javatic - 07.04.2013 Naja, aber da get_thread eine TID welche ich nicht habe als Parameter will, muss ich wohl oder übel eine Abfrage machen :/ ... Habe zumindest in $GLOBALS, $mybb, und $settings beim durchsuchen nichts gefunden... RE: Reihenfolge der Hooks? - frostschutz - 07.04.2013 ... in welchem Hook bist du da gleich nochmal? RE: Reihenfolge der Hooks? - Javatic - 07.04.2013 Ich versuche gerade die Inline-Bearbeitung, also "xmlhttp" . Danach mache ich den Hook des Editors ^^ RE: Reihenfolge der Hooks? - frostschutz - 07.04.2013 Ok, da ist es kein Wunder. Der xmlhttp Hook wird aufgerufen, bevor xmlhttp irgendwas macht. Das ist ja nicht (nur) zum editieren da. An der Stelle ist auch noch nicht geprüft worden, ob der User überhaupt die Berechtigung zum Editieren hat. Ist daher eher ungünstig. Kannst du keinen der post datahandler Hooks verwenden? RE: Reihenfolge der Hooks? - Javatic - 07.04.2013 Achso ^^ Okay, werde ich machen, sobald ich weiß was es ist xD - Gerade mal hier nachgeschaut: http://docs.mybb.com/MyBB_Plugin_Hooks.html Sollte ich also den Hook "datahandler_post_insert_post" verwenden? Oder ist dieser nur beim erstellen eines Threades? RE: Reihenfolge der Hooks? - Javatic - 12.08.2013 Ich hoffe ich habe diese Frage nicht bereits gestellt, aber beim schnellen Überfliegen dieses Themas habe ich nichts gefunden. Ich habe - wieder mal - ein Problem mit dem Benutzen der Hooks. Mein Plugin benutzt eine Parser-Klasse von Christian Seiler, welche bestimmten BBCode durch HTMLCode ersetzt; Nun habe ich aber das Problem, dass ich keine anderen Tags im Tag selber benutzen kann, da MyBB diese vorher parst, und das/der Tag danach nicht wieder erkannt wird. Wenn ich jedoch den parse_message_start hook nehme, wird alles schön umkomvertiert - Und der HTML-Code "escapt". Ich könnte jetzt natürlich $parser global machen und $parser->options['allow_html'] auf true stellen, allerdings wirft es dann die ganzen Einstellungen vom Administrator um. Was ist hier die eleganteste Art es zu lösen? RE: Reihenfolge der Hooks? - StefanT - 12.08.2013 Gute Frage, ich habe dazu spontan keine Idee. 2 Parser sind allerdings suboptimal... RE: Reihenfolge der Hooks? - Javatic - 12.08.2013 Hm, aber selbst wenn ich zwei Parser benutzen würde, müsste die ganze Nachricht nochmal durch den normalen Parser, welcher das HTML escapt (parse_message_start & parse_message) oder die anderen vorhandenen Tags nicht mitparst (parse_message_end) :/.. RE: Reihenfolge der Hooks? - frostschutz - 12.08.2013 Du könntest den HTML-Code selber escapen und dann wieder unescapen zum Schluß. Aber das ganze klingt sehr verquert. Wenn der andere Parser zuviel macht, implementiere diesen zusätzlichen BBCode selbst, wenn es nicht mit MyCode geht. RE: Reihenfolge der Hooks? - Javatic - 12.08.2013 Hab' es jetzt hinbekommen, indem ich den User die enthaltenen Tags escapen lasse, im pasrse_message Hook meinen eigenen Tag parse & die escapten [] mit normalen [] ersetze, und dann nochmal $parser->parse_mycode aufrufe. Nicht gerade elegant, aber was solls... Edit: @frostschutz Stimmt, dann bräuchte der User selbst nichts machen :o ... Edit2: Aber dann würde sich doch die Sicherheitslücke auftun, dass der User beliebigen HTML-Code in den Beitrag schreiben kann? Anfangsbeitrag ist zB so: Code: [meintag][/meintag] Code: <i>MeinTagUmgewandelt</i> Code: <i>MeinTagUmgewandelt</i> Code: <i>MeinTagUmgewandelt</i> Selber implementieren wird wohl etwas schwerer, da der BBCode alle möglichen Argumente hat, und der Parser von Christian Seiler bereits alles macht :/ |