Beispiel #1
0
 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();