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 - 06.04.2013 Naja, Problem hierbei ist halt, dass ich keine Dateien verändern will, da man ja immer mal einplanen könnte, das Plugin zu veröffentlichen.. Oder so etwas in die Richtung. Btw, gibt es eine Möglichkeit, herauszufinden ob man gerade einen "Anfangs-Post (Erster Post im Thread, also quasi der Thread selbst)" editiert? Ob man ein Thema erstellt ist ja ganz einfach mit der von frostschutz oben gesendeten Methode ausführbar, aber wie sieht das mit dem editieren aus? MfG RE: Reihenfolge der Hooks? - frostschutz - 06.04.2013 Evtl. gibts in einem der Edit-Hooks $thread['firstpost'] and $post['tid'] und wenn die gleich sind ists der erste. Habe gerade keine Zeit/Lust das durchzuchecken, sorry. Viel Erfolg. RE: Reihenfolge der Hooks? - Javatic - 06.04.2013 @frostschutz Vielen Dank ! Probiere ich sofort aus, sobald ich die Parameter der Hooks herausgefunden habe xD - In der Doku stehen zwar die Namen, aber nicht die Parameter ._. .... RE: Reihenfolge der Hooks? - frostschutz - 06.04.2013 Parameter haben die wenigsten. Meistens geht alles über die globalen Variablen. Doku benutze ich nie. Ich baue mir wenn dann direkt in class_plugins :: run_hooks(_by_ref) ne Debugmeldung ein, die mir die Namen der aufgerufenen Hooks, ggf. auch Variablen anzeigt. Ohne den Code zu lesen und ohne Debugmeldungen kann man nicht arbeiten. - was da drin steht, das kann man gar nicht dokumentieren RE: Reihenfolge der Hooks? - Javatic - 06.04.2013 Oh, okay . Dann werde ich dass mit dem Debug auch mal versuchen . Oder einfach $GLOBALS ausgeben xD Vielen Dank nochmals ^^ Ich melde mich, falls ich was finde LG EDIT: Hm, $GLOBALS enthält zwar die PID des Postes, aber sagt nicht ob es der erste Post in einem Thread ist :/ ... RE: Reihenfolge der Hooks? - frostschutz - 06.04.2013 Zur Not müsstest du dann eben selbst get_thread($tid) aufrufen. RE: Reihenfolge der Hooks? - Javatic - 06.04.2013 Okay, versuche ich mal Und theoretisch.. ganz theoretisch.. Könnte man doch gucken, ob die Query "SELECT * FROM {prefix}posts WHERE pid = '{$pid}' AND replyto = '0'" mehr als 0 Resultate zurückliefert... oder? RE: Reihenfolge der Hooks? - frostschutz - 07.04.2013 Theoretisch. Ich würde mich auf replyto nicht verlassen. In der threads Tabelle gibts den firstpost Eintrag, der dafür da ist. Der kann zwar auch falsch sein - das macht dann aber alle möglichen Probleme. Normal ist meistens wenn mit Posts gearbeitet wird der Thread eh auch irgendwo vorhanden. Ansonsten halt get_thread oder sowas. Hab es mir jetzt nicht nochmal angeschaut, du bekommst es ja eh selber hin letztendlich RE: Reihenfolge der Hooks? - Javatic - 07.04.2013 *grins* Hoffentlich ! Auf jeden Fall vielen Dank für die Hilfe ! Allerdings verstehe ich nicht so wirklich was get_thread in diesem Falle bringt; In der Cross Reference steht dies: Code: /** Das gibt einem dann ja nur all die Daten eines bestimmten Threades zurück; "tid fid subject prefix icon poll uid username dateline firstpost lastpost lastposter lastposteruid views replies closed sticky numratings totalratings notes visible unapprovedposts attachmentcount deletetime" - Aber aus welchen Daten kann ich nun entnehmen, ob die Post-ID die ich zZ editiere, ein Thread-Start-Post ist? Sorry falls ich mich etwas dümmlich anstelle .. Ahh.. Ich glaub ich habs.. firstpost mit der PID vergleichen? Müsste dann nur noch nachgucken, ob die Thread-ID im $GLOBALS Array vorhanden ist. Oder ginge es vielleicht auch so: "SELECT * FROM prefix_threads WHERE firstpost = '$pid';" ? Wenn das Resultat dann mehr als 0 Spalten zürückliefert, sollte der Post ja theoretisch ein Startpost sein.. Oder liege ich wieder mal falsch ? RE: Reihenfolge der Hooks? - frostschutz - 07.04.2013 Ja, pid == firstpost. Du willst da selber keine Datenbankabfrage machen, wenn eine MyBB-Funktion schon die entsprechenden Daten liefert. get_thread() ist schon richtig, wenn die Daten da schon gecached sind bekommst du das, ansonsten macht die Funktion die Abfrage für dich. |