So, ich habe das Problem mittlerweile behoben. Der Fehler besteht aber schon seit VM2.?? Damals wurde der Fehler wie folgt behoben:
Das Problem lässt sich in der Datei
"mein Verzeichnis"/components/com_users/models/registration.php
lösen.
Dort ergibt sich aus
$db->setQuery(
'SELECT '.$db->quoteName('id').' FROM '.$db->quoteName('# users') .
* WHERE '.$db->quoteName('activation').' = '.$db->Quote($token) .
' AND '.$db->quoteName('block').' = 1' .
' AND '.$db->quoteName('lastvisitDate').' = '.$db->Quote($db->getNullDate())
);
der Query
SELECT 'id' FROM 'MEINDBPREFIX_users' WHERE 'activation' = ' xxxx ' AND
^block' = 1 AND 'lastvisitDate' = '0000-00-00 00:00:00'
Der 'activation'-Key ist in der DB vorhanden.
Nur 'lastvisitDate' ist nicht "0000-00-00 00:00:00' sondern enthält ein
aktuelles Datum.
Das ist das Problem.
Verkürzt man also die Abfrage auf
$db->setQuery(
'SELECT '.$db->quoteName('id').' FROM '.$db->quoteName('# users') .
' WHERE '.$db->quoteName('activation').' = '.$db->Quote($token) .
' AND '.$db->quoteName('block').' = 1"
);
funktioniert es prächtig. Mir scheint die Verkürzung der Abfrage nicht sicherheitsrelevant. Man könnte noch erforschen warum 'lastvisitDate' nicht '0000-00-00 00:00:00' ist.
Bei meine aktuellen VM Version 3.0.16 habe ich in der oben angegebenen Datei (in Zeile 46) auch die 'lastvisitdate' Abfrage gelöscht und schon gehts.
Sollte man evtl. nachbessern...