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();
 }
Exemplo n.º 2
0
 private function generateIdentity(User $user, $service, $username, OutputInterface $output)
 {
     $em = $this->getContainer()->get('doctrine.orm.entity_manager');
     if (is_null($user->getExternalUserByService($service))) {
         $e = new ExternalUser();
         $e->setService($service)->setUser($user)->setName($user->getName())->setEmail($user->getEmail())->setUsername($username);
         $user->addExternalUser($e);
         $em->persist($e);
         $output->writeln('Generated ' . ucfirst($service) . ' external user for ' . $user->getName());
     }
 }
 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;
 }