/**
  * Creates an empty sfGuardUser with profile field Facebook UID set
  *
  * @param Integer $facebook_uid
  * @return sfGuardUser
  * @author fabriceb
  * @since 2009-05-17
  * @since 2009-08-11 ORM-agnostic version
  */
 public function createSfGuardUserWithFacebookUidAndCon($facebook_uid, $con)
 {
     $sfGuardUser = new sfGuardUser();
     $sfGuardUser->setUsername('Facebook_' . $facebook_uid);
     $this->setUserFacebookUid($sfGuardUser, $facebook_uid);
     sfFacebookConnect::newSfGuardConnectionHook($sfGuardUser, $facebook_uid);
     // Save them into the database using a transaction to ensure a Facebook sfGuardUser cannot be stored without its facebook uid
     try {
         if (method_exists($con, 'begin')) {
             $con->begin();
         } else {
             $con->beginTransaction();
         }
         $sfGuardUser->save();
         $sfGuardUser->getProfile()->save();
         $con->commit();
     } catch (Exception $e) {
         $con->rollback();
         throw $e;
     }
     $this->setDefaultPermissions($sfGuardUser);
     return $sfGuardUser;
 }