Hi All,
I'm really hoping someone can help me. A huge launch has been put on hold until I can fix this but It's out of my league and maybe is a bigger problem at hand?
I have got Will's Facebook connect plugin working a-ok and it's been great! BUT!
One of the testers has found quite a big glitch, I'm not sure if its Member.php or something that needs changing in the Facebook plugin code.
1. Log in as a user into the front-end using the standard SS login form
2. Click the Facebook login button
3. Enter a different user details that are both SS and Facebook registered.
4. When Facebook popup closes and refreshes the page I get the following errors.
[User Error] Uncaught ValidationException:
GET /dashboard
Line 612 in C:\wamp\www\guardian\sapphire\security\Member.php
It's cocking up here in Member.php (note the comments)
// If a member with the same "unique identifier" already exists with a different ID, don't allow merging.
// Note: This does not a full replacement for safeguards in the controller layer (e.g. in a registration form),
// but rather a last line of defense against data inconsistencies.
$identifierField = self::$unique_identifier_field;
if($this->$identifierField) {
etc etc
Whats crazy is that if I comment out the following like so:
if($existingRecord) {
/*
throw new ValidationException(new ValidationResult(false, sprintf(
_t(
'Member.ValidationIdentifierFailed',
'Can\'t overwrite existing member #%d with identical identifier (%s = %s))',
PR_MEDIUM,
'The values in brackets show a fieldname mapped to a value, usually denoting an existing email address'
),
$existingRecord->ID,
$identifierField,
$this->$identifierField
)));
*/
}
It works fine!!!!! and merges the members correctly?
Am I nutz! why is this so... someone please explain why I need the ValidationException when it seems to do what I want without this code?
Please please please someone before I loose all my hair.. lol
Cheers Everyone, great work!
Jamie