[solved] Merkwürdiges Verhalten OOAddon::isAvailable()

Alles über die Anwendung und Entwicklung von AddOns.

[solved] Merkwürdiges Verhalten OOAddon::isAvailable()

Beitragvon Markus.Lorch » 24. Nov 2011, 19:27

Hi,

ich hab hier ein seeeeeeeehhhr Merkwürdiges Verhalten von OOAddon::isAvailable() - ich kann mir das nicht erklären und weiß nicht wo ich was falsch mache

Problem: Ich erhalte von OOAddon::isAvailable('addonname') keinen Rückgabewert, wenn ich die Funktion innerhalb eines Plugins ausführe. Schreib ich das z.B. in die Config des AddOns selbst - dann gehts. Stehts in der config.inc.php des Plugins (selbst an aller erster stelle) - dann erhalte ich keine Rückgabe mehr. Ich weiß nicht warum - mir gehen die Ideen aus.

Ich hab spaßeshalber auch mal in ein wildfremdes Plugin eines föllig anderen AddOns kopiert. Auch da gehts nicht. Hat zufällig das Problem schon mal jemand beobachtet?
Zuletzt geändert von Markus.Lorch am 24. Nov 2011, 23:13, insgesamt 1-mal geändert.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 634
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Re: Merkwürdiges Verhalten OOAddon::isAvailable()

Beitragvon Markus.Staab » 24. Nov 2011, 20:02

Hi,

Php error hast du aktiviert und das error reporting entsprechend eingestelt?

Gruß Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Re: Merkwürdiges Verhalten OOAddon::isAvailable()

Beitragvon Markus.Lorch » 24. Nov 2011, 20:19

Hoho,

jop. Definitiv ;) E_ALL | E_STRICT
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 634
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Re: Merkwürdiges Verhalten OOAddon::isAvailable()

Beitragvon Markus.Lorch » 24. Nov 2011, 20:27

Ohhhhhh^^^Hilfe. display_startup_errors hats gebracht^^ Moment. Das dauert. Mir fliegen die Fehlermeldungen um die Ohren^^

Non-static method rex_addon::isAvailable() should not be called statically in /var/www/redaxo/include/addons/community/plugins/facebook/config.inc.php on line 35


Aber das ist ja eigentlich nur Strict Standards meldung. Sollte ja nix machen.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 634
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Re: Merkwürdiges Verhalten OOAddon::isAvailable()

Beitragvon Gregor.Harlan » 24. Nov 2011, 20:56

Das Problem ist folgendes:
Die Addon-Daten liegen in $REX['ADDON'][$key][$addonName].
Die Plugin-Daten liegen eigentlich in $REX['ADDON']['plugins'][$addonName][$key][$pluginName].
Innerhalb der config.inc.php kannst du jedoch mittels $REX['ADDON'][$key][$pluginName] die Plugin-Daten setzen.
Um das zu erreichen, wird vor dem Einbinden der config.inc.php das $REX['ADDON']-Array in der Variable $ADDDONSsic gesichert, und $REX['ADDON'] komplett geleert. Nach dem Include werden die gesetzten Werte in $REX['ADDON'] in das eigentliche Format umgewandelt, mit dem gesicherten Array zusammengeführt und wieder in $REX['ADDON'] gespeichert.
OOAddon greift auf $REX['ADDON'] zu und funktioniert daher nicht in der config.inc.php des Plugins.

Du kannst daher dort nur so abfragen, ob ein Addon verfügbar ist:
Code: Alles auswählen
if($ADDONSsic['status'][$addonName])
{
  //...
}


In REDAXO 5 wurden diese Probleme beseitigt und es kann normal die Api benutzt werden.

Gruß, Gregor
Benutzeravatar
Gregor.Harlan
Entwickler
 
Beiträge: 825
Registriert: 4. Jun 2007, 09:35
Wohnort: Dresden

Re: Merkwürdiges Verhalten OOAddon::isAvailable()

Beitragvon Markus.Lorch » 24. Nov 2011, 23:13

Yes ;) Es geht. Das langt so.

Danke Dir!
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 634
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Re: [solved] Merkwürdiges Verhalten OOAddon::isAvailable()

Beitragvon Markus.Staab » 25. Nov 2011, 17:04

Hi,

Nur nochmal zur klarstellung: dieser workaround wird in R5 nicht funktionieren!

Gruß Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Re: [solved] Merkwürdiges Verhalten OOAddon::isAvailable()

Beitragvon Markus.Lorch » 25. Nov 2011, 18:31

Ja ;) Dacht ich mir schon. Das ist grade für die Community Version, da ist erst mal R4 wichtig.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 634
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim


Zurück zu AddOns [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast