/** * Sync the new data from a users Facebook profile to the member database. * * @param GraphUser $result * @param bool $sync Flag to whether we override fields like first name */ public function updateFacebookFields(GraphUser $result, $override = true) { $this->owner->FacebookLink = $result->getProperty('link'); $this->owner->FacebookUID = $result->getProperty('id'); $this->owner->FacebookTimezone = $result->getProperty('timezone'); if ($override) { $email = $result->getProperty('email'); if ($email && !$this->owner->Email || !Email::validEmailAddress($this->owner->Email)) { $this->owner->Email = $email; } $this->owner->FirstName = $result->getProperty('first_name'); $this->owner->Surname = $result->getProperty('last_name'); } $this->owner->extend('onUpdateFacebookFields', $result); }