public function loadFunction(User $user, $functionId) { $player = $user->getPlayer(); $client = $user->getClient(); if ($client instanceof Client) { $achievement = $this->container->get('doctrine')->getRepository('BoundCoreBundle:Achievement')->findOneByFunctionId($functionId); $this->load($achievement, $player, $client); $this->manager->persist($player); $this->manager->flush(); } return $player; }
private function link(UserResponseInterface $response, User $user) { $service = $response->getResourceOwner()->getName(); $password = $response->getUsername(); $setter = 'set' . ucfirst($service); $setter_id = $setter . 'Id'; $setter_token = $setter . 'AccessToken'; $client = $user->getClient(); $client->{$setter_id}($password); $client->{$setter_token}($response->getAccessToken()); $this->manager->persist($client); $this->manager->flush(); $this->container->get('bound.notification_manager')->add($user->getPlayer(), "Compte associé", "Vous avez associé votre compte " . ucfirst($service) . " !", $service); }