Antwort #25 am: 01. November 2011, 23:02:48
Ich möchte das Thema nochmals auffrischen.
Soeben rief mich ein Kunde an, dass all seine neue registrierten Kunden den Status "Admin" hätten.
Übeltäter ist wirklich die "create_account.php" bzw. "create_guest_account.php" aus dem SP1.
Die Ausgabe von
echo 'User-Status ' . DEFAULT_CUSTOMERS_STATUS_ID;
ergab auch 2, was dem Status "Neuer Kunde" entspricht. Aber in der Datenbank stand "customers_status" "0".
Nun habe ich die alten Dateien wieder eingespielt und es funktioniert tadellos.
Knackpunkt ist definitiv diese Abfrage
if (!isset($customers_status) || $customers_status == 0) { //$customers_status = DEFAULT_CUSTOMERS_STATUS_ID; //BOF - DokuMan - 2011-02-07 - additional security check for status "0" = Admin, use "2" customer here! if (DEFAULT_CUSTOMER_STATUS_ID
!= 0) { $customers_status = DEFAULT_CUSTOMERS_STATUS_ID
; } else { $customers_status = 2; } //EOF - DokuMan - 2011-02-07 - additional security check for status "0" = Admin, use "2" customer here! } Wenn ich die Abfrage dahingehend abändere, funktioniert alles einwandfrei, nur verstehe ich noch nicht so recht warum.
if (!isset($customers_status) || $customers_status == 0) { //$customers_status = DEFAULT_CUSTOMERS_STATUS_ID; //BOF - DokuMan - 2011-02-07 - additional security check for status "0" = Admin, use "2" customer here! if (DEFAULT_CUSTOMER_STATUS_ID
!= 0) { $customers_status = DEFAULT_CUSTOMERS_STATUS_ID
; } else { $customers_status = 2; } //EOF - DokuMan - 2011-02-07 - additional security check for status "0" = Admin, use "2" customer here! } Gruß
Ronny