Ok, here something to test for the splitting of name into first/last:
Add that function at end of administrator/components/com_comprofiler/comprofiler.class.php:
[code:1]
function cbSplitSingleName( &$user ) {
global $ueConfig;
switch ( $ueConfig ) {
case 2:
// firstname + lastname:
$posLname = strrpos( $user->name, ' ' );
if ( $posLname !== false ) {
$user->firstname = substr( $user->name, 0, $posLname );
$user->lastname = substr( $user->name, $posLname + 1 );
} else {
$user->firstname = '';
$user->lastname = $user->name;
}
break;
case 3:
// firstname + middlename + lastname:
$posMname = strpos( $user->name, ' ' );
$posLname = strrpos( $user->name, ' ' );
if ( $posLname !== false ) {
$user->lastname = substr( $user->name, $posLname + 1 );
$user->firstname = substr( $user->name, 0, $posMname );
if ( $posMname !== $posLname ) {
$user->middlename = substr( $user->name, $posMname + 1, $posLname - $posMname -1 );
} else {
$user->middlename = '';
}
} else {
$user->firstname = '';
$user->lastname = $user->name;
}
break;
default:
// name only: nothing to do !
break;
}
}
[/code:1]
Then open components/com_comprofiler/comprofiler.php :
Search for function login
and in that function search for:
[code:1]
$foundUser = $row->loadByUsername( stripslashes( $username ) );
$row->confirmed = 1;
$row->approved = 1;
$row->store(); // synchronizes with comprofiler table
$loggedIn = true;
[/code:1]
and add a call to that function as follows there:
[code:1]
$foundUser = $row->loadByUsername( stripslashes( $username ) );
cbSplitSingleName( $row );
$row->confirmed = 1;
$row->approved = 1;
$row->store(); // synchronizes with comprofiler table
$loggedIn = true;
[/code:1]
That should solve the name-splitting issue.
Please test this and confirm back fix in next hours. Thanks.