MyBB.de Forum

Normale Version: Zugriff auf Variablen eines anderen Plugins
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich beschäftige mich seit längerer Zeit mal wieder mit der Entwicklung eines Plugins, das ich an die Game Section anhängen möchte. Leider komme ich trotz längerer Pause einfach nicht weiter.

Mit meinem Plugin hänge ich mich an einen Hook des Game Section Plugins an und sollte damit eigentlich Zugang zu Variablen haben, die zu diesem Zeitpunkt die Game Section bietet. Diese Variablen werden nicht mittels Argument über den Hook
PHP-Code:
$plugins->run_hooks("games_xxx"); 
geliefert, sollten aber doch wie folgt zugänglich sein!?

PHP-Code:
$plugins->add_hook("games_xxx""myplugin_run");

function 
myplugin_run()
{
  global 
$var1$var2$var3;
  
// und nun möchte ich mit den Variablen arbeiten....

$var1 bis $var3 sind Variablen der Game Section, die vor dem Hook "games_xxx" erzeugt werden. Ich bin bisher davon ausgegangen, dass ich mit diesen Variablen arbeiten kann, wenn ich sie in meiner Funktion als globale Variable setze. Allerdings ergibt ein var_dump() bei allen drei Variablen "NULL". Sie sind also nicht verfügbar.

Über einen Tipp, wie ich an die Variablen herankommen, wäre ich Euch dankbar.
Wenn die Variablen nicht auch im Plugin global gesetzt wurden, dann kommst du vermutlich gar nicht an sie ran.
Danke für den Hinweis! Wenn ich ich die Variablen in der Game Section auf global setze, läuft das Plugin einwandfrei.

Mist aber auch.... Undecided
Ob es den Nutzern so eines Plugins zuzumuten wäre, einen entsprechend mitgelieferten Patch zu installieren und ggf. CHMOD für die betreffende Datei zu setzen?
(12.07.2014, 21:17)Jockl schrieb: [ -> ]Ob es den Nutzern so eines Plugins zuzumuten wäre, einen entsprechend mitgelieferten Patch zu installieren und ggf. CHMOD für die betreffende Datei zu setzen?


Glaube ich mal nicht, und würde auch davon abraten.
Patches ist nur ein Frontend für die entsprechende Funktion (edit_core()) in PluginLibrary.

Dein Plugin könnte diese Änderung also eigenständig durchführen.

Aber du kannst natürlich auch beim Autor des anderen Plugins anklopfen und ganz lieb fragen ob er seinen Krempel nicht global setzen mag oder fragen ob er eine bessere Möglichkeit sieht.
(12.07.2014, 23:35)frostschutz schrieb: [ -> ]Patches ist nur ein Frontend für die entsprechende Funktion (edit_core()) in PluginLibrary.

Dein Plugin könnte diese Änderung also eigenständig durchführen.
Danke für den Tipp, frostschutz! Daran hatte ich nicht gedacht, weil ich mich mit den Möglichkeiten der PluginLibrary bislang leider viel zu wenig, eigentlich gar nicht Blush , auseinander gesetzt hatte. Aber nun habe ich das mal so in meinem Plugin eingebaut und es funktioniert. Allerdings muss man den Anwendern dann immer noch mitteilen, dass sie ggf. CHMOD der entsprechenden Datei anzupassen haben, oder? Bei meiner Server-Konfiguration ist das jedenfalls notwendig.

(12.07.2014, 23:35)frostschutz schrieb: [ -> ]Aber du kannst natürlich auch beim Autor des anderen Plugins anklopfen und ganz lieb fragen ob er seinen Krempel nicht global setzen mag oder fragen ob er eine bessere Möglichkeit sieht.
Mit dem Autor habe ich regelmäßigen Kontakt, aber ob er nur wegen meines Anliegens seinen Code anpasst und eine neue Version herausbringt, das vage ich gerade mal zu bezweifeln.... Wink
Klar, zaubern kann ich noch nicht, ohne Schreibrechte kann auch keine Datei verändert werden.

Kosten fragen nichts.
(13.07.2014, 22:41)frostschutz schrieb: [ -> ]Klar, zaubern kann ich noch nicht....
Jetzt entäuscht Du mich fast ein wenig.... Big Grin
(13.07.2014, 22:41)frostschutz schrieb: [ -> ]Kosten fragen nichts.
Bereits passiert Wink