AccountManagementForm.class.php

  • Beim Plugin programmieren musste ich zwei Probleme (gewissermaßen) feststellen, bzw. über ein paar Zeilen in der AccountManagementForm.class.php stutzen.


    Ich gehe davon aus, additionalFields wird hier in der save Methode gemerged, damit man u.a. via Eventlistener auch eigene Infos updaten lassen kann:

    PHP: AccountManagementForm.class.php
    if (!empty($updateParameters)) {
    			$data['data'] = array_merge($this->additionalFields, $updateParameters);
    		}

    Jedenfalls wollte ich additionalFields genau dazu nutzen (ansonsten erschließt sich mir das mergen nicht, da additionalFields dort ansonsten nirgends verwendet wird oder Daten beinhaltet). Leider fehlt hier die Abfrage ob additionalFields Daten enthält und somit erfüllt der merge derzeit keinen Zweck, bzw. funktioniert auch nicht zuverlässig. Eigentlich müsste es wohl so aussehen:

    PHP: AccountManagementForm.class.php
    if (!empty($updateParameters) || !empty($this->additionalFields)) {


    Außerdem erfüllt folgendes ebenfalls keinen Zweck, da $updateOptions nach Initialisierung nicht weiter verwendet wird:

    PHP: AccountManagementForm.class.php
    if (!empty($updateOptions)) {
    			$data['options'] = $updateOptions;
    		}


    Bitte schaut euch das mal an, ich kann mir gerade nicht vorstellen, wozu diese Zeilen im aktuellen Zustand dienen :)


    ______________________


    Noch was:

    PHP: AccountManagementForm.class.php
    $success = array_merge($success, WCF::getTPL()->get('success') ?: array());

    ->

    PHP: AccountManagementForm.class.php
    $success = array_merge($success, WCF::getTPL()->get('success') ? WCF::getTPL()->get('success') : array());

    Edit: Letzteres hat sich erledigt, wusste nicht, dass es bei PHP mit der obigen Schreibweise (Zeile 455) ebenfalls gesetzt wird.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!