Neue Update class?

  • Hey,

    Ich habe in der Version 5.1 ein Cronjob gehabt der die Avatare aktualisiert.

    Code
    public static function fetchAvatar($user, $avatarUrl) {
            $action = new UserAvatarAction([$user->userID], 'fetchRemoteAvatar', [
                'userEditor' => new UserEditor($user),
                'url'        => $avatarUrl
            ]);
            
            $action->executeAction();
        }
        
    }


    Dieser Funktioniert leider nicht mehr in der 5.2 kann mir vielleicht einer sagen warum?


    Es wird beim User einfach kein Avatar gesetzt :(

  • bzw das ist der cronjob code:

  • hatte 3.1.12 damals

    • Offizieller Beitrag

    Hallo,

    ich habe das ganze lokal getestet und konnte keinen Fehler feststellen, der Avatar wird ohne Probleme übernommen (mit einem ähnlichem Code-Beispiel [siehe Ahnhang], aber der exakt gleichen URL). Hier wäre dann natürlich interessant, wo genau die Ausführung bei dir abbricht. Wird überhaupt die externe Verbindung zugelassen? Bricht der Cronjob irgendwann ab, weil du zu viele Daten verarbeitest, etc.

    PHP
    (new \wcf\data\user\avatar\UserAvatarAction([], 'fetchRemoteAvatar', [
        'userEditor' => new \wcf\data\user\UserEditor(new \wcf\data\user\User(1)),
        'url'        => 'https://visage.surgeplay.com/head/128/06b8f220a9244b4e81d67b5cbf510086'
    ]))->executeAction();

    Grüße

    Josh

  • habe mit var_dump($user); bischen geguckt und habe festgestellt das das hier rauskommt: NULL {"actionName":"execute","objectIDs":[43],"returnValues":{"43":{"time":1603317601,"formatted":"22. Oktober 2020, 00:00"}}}

    Ist das normal?

  • Ich habe jetzt deinen Code hinzugefügt:

    der geht leider auch nicht so wie ich es geändert habe. :(

    und mit wcfDebug(); konnte ich keine Fehler feststellen da ich bei allen variablen richtige Ergebnisse bekommen habe und der Code wird vollständig ausgeführt.

    Vielleicht hast du mal zeit über teamviewer, anydesk oder selber mit acp rechten drüber zu gucken weil ich kann keine fehler finden :(

  • Es ist kein Packet. es sind derzeit nur zwei dateien.

    Einmal der Cronjob:

    und einmal die MinecraftAvatar.class.php

    • Offizieller Beitrag

    Und woher kommt die uuid? Ist die korrekt eingetragen (ohne Leerzeichen am Anfang oder Ende)?

    Deine fetchAvatar-Funktion kann auch nicht funktionieren, da du dort ein neues User-Objekt auf Grundlage eines Benutzer-Objektes initialisierst. Das geht in die Hose (und hinterlässt auch eine entsprechende Fehlermeldung). Wie hast du den Cronjob registriert?

  • Und das wird vielleicht mein Fehler gewesen sein das ich vergessen habe das es damals ein plugin war :D

    Habe gedacht ich kann einfach so einen Cronjob hinzufügen aber das geht ja nicht so einfach :D ich probiere es gleich mit einem plugin :D

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!