public function receiveAction() { // Receives a JSON-object in a POST-request from Delta // This is all user-data, plus a token $request = Request::CreateFromGlobals(); $data = json_decode($request->request->get('json')); #$data = json_decode($request->query->get('json')); #var_dump($data); $repo = $this->getDoctrine()->getRepository('UKMDipBundle:Token'); $existingToken = $repo->findOneBy(array('token' => $data->token)); // Set token as authenticated if (!$existingToken) { throw new Exception('Token does not exist', 20005); } $existingToken->setAuth(true); $existingToken->setUserId($data->delta_id); $em = $this->getDoctrine()->getManager(); $em->persist($existingToken); $em->flush(); // Find or update user $userRepo = $this->getDoctrine()->getRepository('UKMDipBundle:User'); $user = $userRepo->findOneBy(array('deltaId' => $data->delta_id)); if (!$user) { // Hvis user ikke finnes $user = new User(); } // Vi har ikke nødvendigvis mottatt all data, så her bør det sjekkes. Kan også lagre null. $user->setDeltaId($data->delta_id); if ($data->email) { $user->setEmail($data->email); } if ($data->phone) { $user->setPhone($data->phone); } if ($data->address) { $user->setAddress($data->address); } if ($data->post_number) { $user->setPostNumber($data->post_number); } if ($data->post_place) { $user->setPostPlace($data->post_place); } if ($data->first_name) { $user->setFirstName($data->first_name); } if ($data->last_name) { $user->setLastName($data->last_name); } if ($data->facebook_id) { $user->setFacebookId($data->facebook_id); } if ($data->facebook_id_unencrypted) { $user->setFacebookIdUnencrypted($data->facebook_id_unencrypted); } if ($data->facebook_access_token) { $user->setFacebookAccessToken($data->facebook_access_token); } $time = new DateTime(); $user->setBirthdate($time->getTimestamp()); #$user->setBirthdate($data['birthdate']); // TODO: Set birthdate $em->persist($user); $em->flush(); return $this->render('UKMDipBundle:Default:index.html.twig', array('name' => 'Received')); }
<?php //tartarus-framework/web/front.php require_once __DIR__ . '/../vendor/autoload.php'; use Symfony\Component\Routing; use Symfony\Component\HttpKernel; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\EventDispatcher\EventDispatcher; $request = Request::CreateFromGlobals(); $routes = (include __DIR__ . '/../src/app.php'); $context = new Routing\RequestContext(); $matcher = new Routing\Matcher\UrlMatcher($routes, $context); $resolver = new HttpKernel\Controller\ControllerResolver(); $framework = new Tartarus\Framework($matcher, $resolver); $response = $framework->handle($request); $response->send();