Exemplo n.º 1
0
 /**
  * @Given /^the external "([^"]*)" user:$/
  */
 public function createExternalUser($service, TableNode $table)
 {
     $external_user = new ExternalUser();
     $external_user->setService(strtolower($service));
     $em = $this->getEntityManager();
     foreach ($table->getRowsHash() as $field => $value) {
         switch ($field) {
             case 'name':
                 $external_user->setName($value);
                 break;
             case 'id':
                 $external_user->setRemoteId($value);
                 break;
             case 'email':
                 $external_user->setEmail($value);
                 break;
             case 'username':
                 $external_user->setUsername($value);
                 break;
             case 'picture':
                 $external_user->setProfilePictureUrl($value);
                 break;
             case 'user':
                 $user = $em->getRepository('ActsCamdramSecurityBundle:User')->findOneByEmail($value);
                 $external_user->setUser($user);
                 break;
         }
     }
     $em->persist($external_user);
     $em->flush();
 }
 public function persistUser($userinfo, $service, $access_token)
 {
     $user = new ExternalUser();
     $user->setService($service);
     $user->setEmail($userinfo['email']);
     $user->setRemoteId($userinfo['id']);
     $user->setUsername($userinfo['username']);
     $user->setName($userinfo['name']);
     if (is_string($access_token)) {
         $user->setToken($access_token);
     }
     if ($service == 'facebook') {
         $user->setProfilePictureUrl('https://graph.facebook.com/' . $userinfo['id'] . '/picture?type=large');
     } elseif (isset($userinfo['picture'])) {
         $user->setProfilePictureUrl($userinfo['picture']);
     }
     $this->em->persist($user);
     $this->em->flush();
     return $user;
 }