I think the problem is somewhere around the JUser object.
I fill the registration form, I send it. The user is created but it is inactive. My activation link looks like this:
http://mydomain/index.php?option=com_users&task=registration.activate&token=7d2d465698571b0416fd7ff1e266766bIf I check the activate() method in UsersControllerRegistration class (components/com_users/controllers/registration.php), there is a code:
if ($user->get('id')) {
$this->setRedirect('index.php');
return true;
}
That's ok because you don't want to activate a user who is logged in. But check the $user object. This is filled with my new user's data, there is a username and id too but the guest param is 1.
The correct check is maybe !$user->get('guest']) instead $user->get('id')
So this is a VirtueMart problem with the JUser object or a Joomla problem during the activation? Basically is there a valid situation when the guest user has an id?
And if you change your domain with www, the JUser object is empty because you changed your session too with your domain.