Beiträge: 42
Themen: 6
Registriert seit: 25.01.2013
Hi!
Ich hätte eine Frage zu den Hooks. Wenn ein Hook gesetzt wird, wird dann erst der Code vom Plugin ausgeführt, und dann der Code der von MyBB an sich stammt, oder erst der Code von MyBB, und dann die Plugins? Denn es kann ja eine Bild-Begrenzung geben, nun könnte man doch eine Plugin-Erweiterung machen, um diese für manche User aufzuheben, oder?
LG
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
Die Hooks ersetzen keinen Code von MyBB, sondern das wird einfach zusätzlich aufgerufen. Sozusagen als Funktionsaufruf mitten im MyBB-Code. Es ist also kein so ausgefeiltes Hook-System wie manche anderen Softwares haben, die über solche Hooks Aktionen erlauben, verbieten, abfragen wer fuer die Aktion zuständig ist, mitteilen daß die Aktion stattgefunden hat, etc.
Es gibt teilweise Hooks für davor und danach (die _start _end Hooks), aber oft muß man einfach Glück haben, daß ein Hook an einer Stelle aufgerufen wird, wo man seine eigene Aktion einschieben kann. Und da muß man einfach den MyBB-Code von der entsprechenden Codestelle studieren und sich was überlegen.
Beiträge: 42
Themen: 6
Registriert seit: 25.01.2013
@frostschutz Vielen Dank! Denkst du denn, es ist möglich, per Plugin die Bildbegrenzung für manche User zu erhöhen? Btw, wo wird die Bilder-Grenze "benutzt"? Beim parsen eines Posts?
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Was meinst Du denn mit "Bildbegrenzung"? Die Anzahl der Anhänge, die ein User in einen Beitrag einbinden kann? Das müsste dann ja bereits bei der newthread.php, newreply.php und editpost.php abgefragt werden. $settings['maxattachments'] wäre da meiner Meinung nach zu berücksichtigen.
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
Um die Bildergrenze können sich ja normale User schon herummogeln (wenn die Einstellung aktiv ist, daß kurz hintereinander gemachte Beiträge zusammgefügt werden). Da kann man dann einfach in einem zweiten Beitrag weitere Bilder nachschicken.
Spricht was dagegen die Grenze einfach allgemein höher anzusetzen?
Ansonsten, evtl. mit dem global_start Hook
PHP-Code:
global $mybb, $settings;
if( (THIS_SCRIPT == "newreply.php" || THIS_SCRIPT == "newthread.php" || THIS_SCRIPT == "editpost.php")
&& $mybb->user['uid'] == 123)
{
$settings['maxattachments'] = 42;
}
Die maxattachments sind in diesen drei Dateien fest verankert, daher gibts keinen direkten Hook dafür. Und die $settings Variable zu verändern, fällt schon unter "Tricks"...
Wenn du kein eigenes Plugin dafür schreiben willst, kannst auch mein Hooks-Plugin dafür hernehmen.
Beiträge: 42
Themen: 6
Registriert seit: 25.01.2013
@Jockl
@frostschutz
Vielen Dank für die schnellen Antworten
!
Ja, ich meine die Bildergrenze, um die man sich quasi herummogeln kann; Also die Bilder in [img]-Tags - Allerdings will ich sie nicht global hochsetzen, und auch nicht für eine bestimmte Gruppe, sondern für bestimmte User / Posts, welche dynamisch wechseln können :/ ... Ich habe bereits versucht, irgendwo in der Cross-Reference etwas zu finden, aber bis jetzt ergebnislos xD...
LG
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Dann müsstest Du vermutlich mit einem Plugin arbeiten, das sich an die bereits von frostschutz erwähnten Hooks anhängt (editpost_start, newreply_start, newthread_start). Die User-ID, die auch variabel gehalten werden kann, hat frostschutz ja schon in dem Code eingebaut. Das würde sich auch noch um die thread-ID ergänzen lassen. Bei newthread_start existiert die aber noch nicht...
Beiträge: 42
Themen: 6
Registriert seit: 25.01.2013
@Jockl Vielen Dank! Dann werde ich es mir mal angucken.
Allerdings vorerst eine Frage: Ich habe mir mal $settings ausgeben lassen, und dabei dies hier gefunden:
[maxpostimages] => NeZahl
Könnte man jetzt nicht mit der von frostschutz oben erwähnten Methode statt maxattachments einfach maxpostimages verändern?
LG
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Kommt darauf an, was Du willst. $settings['maxpostimages'] beinhaltet, wenn ich mich recht erinnere, alle img-Tags und auch Smilies. $settings['maxattachments'] bezieht sich nur auf die Attachments.
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
(06.04.2013, 20:32)Jockl schrieb: (editpost_start, newreply_start, newthread_start)
Die reichen nicht, daher der Vorschlag mit global_start.
maxpostimages wird da wohl auch funktionieren, wobei der posts Datahandler theoretisch auch an anderen Stellen aufgerufen werden kann. Da müsste this_script weggelassen werden.
Da würde ich dann eher zu einer Codeänderung im post datahandler (verify_images_count) tendieren.