/**
  * 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);
 }