Erst mal hallo an alle!
Ich wollte fragen ob ihr mir bei einem problem helfen könnt. Ich komm da einfach nicht weiter.
Ich bekomme einen fehler bei einem tool von Joomla:
Fatal error: Call to a member function toArray() on a non-object in /managereve/plugins/eveapi/evewalletjournal.php on line 64
Das tool heisst joomla-to-eve, ist open source und das projekt ist leider tot. Hier ist der link zum projekt:
http://code.google.com/p/joomla-in-eve/
Ich hab schon versucht das problem zu lósen, aber ich bekomme es einfach nicht hin, den so weit gehen nicht meine kentnisse. Ich versuche noch php zu lernen. Die datei ist in pastebin: http://pastebin.com/BnXLAYPv
Wisst ihr wie ich das lösen kann? Mir reicht auch nur ein ansporn, damit ich weiss wie/wo ich suchen muss um den zu muss. Ich verstehe leider nicht so richtig davon.
MfG
Marc
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Hast Du Dir denn schon mal angeschaut was da überhaupt im Paramater $xml übergeben wird?
Call to a member function toArray() on a non-object in /managereve/plugins/eveapi/evewalletjournal.php on line 64
Das heißt ja erst mal, dass $xml->result->entries kein Objekt ist.
Wenn entries nicht mindestens einen Eintrag enthält ist der Aufruf von _storeWalletJournal(...) wenig sinnvoll. Zeile 73 schaut ein bisschen so wie ein Versuch aus bei fehlenden Einträgen auf das absenden des INSERT-Befehls an die Datenbank zu verzichten. Vielleicht sollte man den gesamten Inhalt der Funktion überhaupt nur ausführen wenn $xml->result->entries vom erwarteten Typ (der eine Methode toArray() implementieren muss) ist und die Länge des Arrays größer 0 ist...
Gruß
Borlander
ok, so weit hab ich das verstanden. Die XML die er bekommt ist von einem API server. Die XML die er sendet ist so wie in dem Beispiel hier: http://wiki.eve-id.net/APIv2_Char_JournalEntries_XML
aber trotzdem verstehe ich nicht wieso. Bekommt er etwa keine daten? Oder ist die XML falsch? Wenn ja, wie bekomme ich ihn dazu eine sinvollere fehlermeldung auszugeben, oder wenigstens den inhalt der XML? Den wenn ich manuell die API anfrage mache bekomme ich das wieder was ich will.
Es ist alles einfach zu kompliziert (aber ich hoffe dabei etwas zu lernen^^).
MfG
Marc
Die Frage ist eher was in der Variable $xml steckt, bzw. wie die XML-Daten in ein Objekt umgesetzt wurden.
Sofern das Objekt in $xml Zugriff über den DOM-Baum erlaubt (sieht ein bisschen danach aus, weil das Element result existiert), dann würde ich es eher mal mit $xml->result->rowset probieren. Wobei zu klären würde ob entries hier auf ein Element referenziert, oder auf die Menge aller Kindelemente (womit wir wieder beim ersten Ansatz wären)...
Gruß
Borlander
Statt den Thread zum Löschen vorzuschlagen, verrate doch lieber wie Du das Problem lösen konntest...
Gruß
Borlander