Import von Benutzeroptionen schlägt fehl

  • Affected App
    WoltLab Suite Forum

    Der Import von Benutzeroptionsfeldern schlägt fehl, wenn die Benutzeroption mit der maximalen ID bereits eine Bezeichnung a la "userOptionXY" besitzt


    Man möchte einen import starten und hat zuletzt eine Benutzeroption über das ACP angelegt, die beispielsweise die ID 42 hat und in der Datenbank den Namen userOption42 bekommt. D.h. 42 ist nun die maximale userOptionID in der Tabelle wcf1_user_option. Die userOption42 ist zudem der PaketID des WBBs, also im Standardfall 48 zugeordnet.


    Nun sorgt beim Import folgender Codeschnippsel in der lib/system/Importer.class.php Zeile 1171-1175 für Probleme:


    PHP
    // get next id
    		$sql = "SELECT	MAX(optionID) AS optionID
    			FROM	wcf".WCF_N."_user_option";
    		$row = WCF::getDB()->getFirstRow($sql);
    		$name = "userOption".$row['optionID'];


    Der Importer möchte nun also eine UserOption importieren. Anstatt jedoch nun die maximale ID auszulesen (42) und der neuen Option den Namen userOption43 zu geben, vergobt er wieder den Namen userOption42. Diese existiert aber bereits und ist auch schon mit der WBB PaketID verknüpft. Ergo gibt es aufgrund des UNIQUE INDEX auf die Felder packageID und optionName einen SQL Fehler und der Import bricht ab.

Participate now!

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