Hilfe bzgl. Plugin-Ausführung - 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: Hilfe bzgl. Plugin-Ausführung (/thread-36251.html) |
Hilfe bzgl. Plugin-Ausführung - itsmeJAY - 13.02.2019 Guten Tag zusammen, ich habe bereits einige PHP Projekte hinter mir gelassen (kleinere) und widme mich momentan Stück für Stück MyBB. Ich blicke bei dem Plugin-Schema aber noch nicht so ganz durch. Ich versuche mein Problem mal grob zu beschreiben: Ich habe ein Plugin gefunden für MyBB, welches Gästen nicht erlaubt Links zu sehen - sondern nur Registrierten Benutzern. Dies nehme ich derzeit als Referenz für den Aufbau (unter anderem!). Dazu folgender Code unten im PlugIn: PHP-Code: // Run plugin Ich denke folgender Abschnitt ist für jeden klar: PHP-Code: if ($mybb->settings['hidelinks_enabled'] == "1") Nur verstehe ich nicht, was danach kommt - zumindest von der Logik nicht. Die Variable $message - wo wird diese denn definiert bzw. woher weiß das Plugin, dass es sich um Beiträge handelt? Wir schreiben in $message rein wenn die if-Bedingung zutrifft und ersetzen Links durch reguläre Ausdrücke - ok! Aber was ist $message in dem Fall? Woher kommt diese Variable und vorallem: Woher weiß das Script, dass es sich um Beiträge handelt? Ich finde den Zusammenhang einfach nicht. Ich hoffe ich konnte es irgendwie verständlich erklären und mir kann das erklärt werden. Grüße, JAY Ach im Anhang ist das Plugin von welchem ich schrieb. Habe ich irgendwo im MyBB Archiv gefunden. RE: Hilfe bzgl. Plugin-Ausführung - doylecc - 13.02.2019 Am leichtesten kann man das sehen, wenn man nachschaut, welchen Hook das Plugin verwendet, in diesem Fall ist es parse_message (Zeile 15 im Plugin) Dann kann man zB. in der Doku nachsehen und entdeckt, dass dieser Hook sich in der Datei inc/class_parser.php in der Funktion parse_message() befindet, die für die Verarbeitung von BBCodes usw. zuständig ist. Die Variable $message enthält den zu verarbeitenden Inhalt, das können Posts sein, aber auch Signaturen oder PN's usw. In diesem Inhalt $message ersetzt das Plugin für Gäste alles, was sich zwischen den <a> Tags befindet, also die Links durch einen Text. RE: Hilfe bzgl. Plugin-Ausführung - itsmeJAY - 13.02.2019 (13.02.2019, 17:07)doylecc schrieb: Am leichtesten kann man das sehen, wenn man nachschaut, welchen Hook das Plugin verwendet, in diesem Fall ist es parse_message (Zeile 15 im Plugin) Danke. Sehr verständlich erklärt. Kurz und schmerzfrei. Eine Frage bleibt noch, weshalb steht in PHP-Code: // Run plugin ein &-Zeichen vor $message? Liebe Grüße RE: Hilfe bzgl. Plugin-Ausführung - itsmeJAY - 14.02.2019 Okay. Das mit dem & hat sich geklärt. Ich habe das ganze Plugin nochmal neu für 1.8 geschrieben mit paar zusätzlichen Feldern in den Einstellungen. Kriege es nur nicht hochgeladen hier. Steht immer wieder, dass ein internet Fehler auftritt. War ein kleines gutes Plugin zum Verständnis. Danke nochmal für die Hilfe. RE: Hilfe bzgl. Plugin-Ausführung - StefanT - 14.02.2019 Bei technischen Problemen mit der Website wende dich bitte direkt an mich. Lange herumprobieren bringt nichts. Den Thread kann ich dann wohl löschen? https://www.mybb.de/forum/thread-36252.html RE: Hilfe bzgl. Plugin-Ausführung - itsmeJAY - 14.02.2019 Hi ja - klar, gerne. Ich lade es später nochmal neu hoch. Grüsse jay RE: Hilfe bzgl. Plugin-Ausführung - StefanT - 14.02.2019 Was stimmt mit diesem hier nicht? https://www.mybb.de/erweiterungen/18x/plugins-verschiedenes/verstecke-url-vor-benutzergruppen-hide-url/ RE: Hilfe bzgl. Plugin-Ausführung - itsmeJAY - 14.02.2019 Hi, ist das richtige - kann natürlich drin bleiben. Ich hatte das normal hochgeladen, es wurde mir ständig ein "interner Fehler" angezeigt - ich dachte dadurch wäre die Datei nie am Server angekommen. Aber dann passt es ja. Grüße RE: Hilfe bzgl. Plugin-Ausführung - itsmeJAY - 14.02.2019 (13.02.2019, 17:07)doylecc schrieb: Die Variable $message enthält den zu verarbeitenden Inhalt, das können Posts sein, aber auch Signaturen oder PN's usw. Was genau mache ich denn, wenn ich nur Beiträge bearbeiten will und keine Signaturen. Ist das möglich? Scheint die gleiche Klasse zu sein? Grüsse RE: Hilfe bzgl. Plugin-Ausführung - doylecc - 14.02.2019 (14.02.2019, 15:47)itsmeJAY schrieb:(13.02.2019, 17:07)doylecc schrieb: Die Variable $message enthält den zu verarbeitenden Inhalt, das können Posts sein, aber auch Signaturen oder PN's usw. Dann würde ich stattdessen wahrscheinlich eher den Hook "postbit" verwenden und den Inhalt von $post['message'] ersetzen anstatt von $message. Das betrifft dann nur die Posts. |