<commit_before><?php 

namespace i52gagrj\LaTejedora\TPVFrontendBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use \Doctrine\Common\Collections\ArrayCollection;
use FOS\RestBundle\Controller\Annotations\View;

use i52gagrj\LaTejedora\TPVFrontendBundle\Entity\Socio;
use i52gagrj\LaTejedora\TPVFrontendBundle\Entity\Venta;
use i52gagrj\LaTejedora\TPVFrontendBundle\Entity\Lineaventa;
use i52gagrj\LaTejedora\TPVFrontendBundle\Entity\Producto;
use i52gagrj\LaTejedora\TPVFrontendBundle\Entity\Diario;
use i52gagrj\LaTejedora\TPVFrontendBundle\Entity\Usuario;

class DatosController extends Controller
{

//////////////////////////VENTA////////////////////////////////

  public function todosproductosAction()
  {
    //Extraer la cabecera de la petición
    $headers=apache_request_headers();
    //Si contiene el token, en la sección Authorization
    if(isset($headers["Authorization"]))
    {
      $token=explode(" ", $headers["Authorization"]);
      $tokend=JWT::decode(trim($token[1],'"'));
      $respuesta = array();
      //Si los datos del token son correctos, se cargan los productos
      if($this->comprobarToken($tokend->id, $tokend->username))
      {  
        $em = $this->getDoctrine()->getEntityManager();
        $productos = $em->getRepository('i52LTPVFrontendBundle:Producto')->
          findAll();
        foreach($productos as $producto)
        {
          if($producto->getActivo())
          { 
            $elemento = array(
              'id' => $producto->getId(),
              'nombre' => $producto->getNombre(),
              'precio' => $producto->getPrecio(),
              'iva' => $producto->getIva(),
              'tipo' => $producto->getTipo()->getNombre());
            array_push($respuesta, $elemento);    
          }
        }     
        $tokend->iat = time();
	$tokend->exp = time() + 900;
	$jwt = JWT::encode($tokend, '');
        $mandar = new Response(json_encode(array(
          'code' => 0,
          'response'=> array(
          'token' => $jwt, 
          'productos' => $respuesta))));
        $mandar->headers->set('Content-Type', 'application/json');
        return $mandar;
      }  
      //Si los datos del token no son correctos, se manda un codigo de error 1 y un mensaje
      else
      {
        $mandar = new Response(json_encode(array(
          'code' => 1,
          'response'=> array( 
            'respuesta' => "El usuario no se ha identificado correctamente"))));      
        $mandar->headers->set('Content-Type', 'application/json');
        return $mandar;        
      }      
    }
    //Si la petición no contiene el token, se manda un codigo de error 2 y un mensaje
    else
    {
      $mandar = new Response(json_encode(array(
        'code' => 2,
        'response'=> array( 
          'respuesta' => "No está autorizado para realizar la consulta"))));      
      $mandar->headers->set('Content-Type', 'application/json');
      return $mandar;
    }
  }

  /*public function todosproductosAction()
  {
    $em = $this->getDoctrine()->getEntityManager();
    $productos = $em->getRepository('i52LTPVFrontendBundle:Producto')->
      findAll();
    foreach($productos as $producto)
    {
      $elemento = array(
        'id' => $producto->getId(),
        'nombre' => $producto->getNombre(),
        'precio' => $producto->getPrecio(),
        'iva' => $producto->getIva());
      array_push($respuesta, $elemento);    
    }     
    $mandar = new Response(json_encode(array(
      'code' => 0,
      'response'=> array(
      'productos' => $respuesta))));
    $mandar->headers->set('Content-Type', 'application/json');
    return $mandar;
  }*/

  public function todosclientesAction()
  {
    //Extraer la cabecera de la petición
    $headers=apache_request_headers();
    //Si contiene el token, en la sección Authorization
    if(isset($headers["Authorization"]))
    {<commit_msg>20150728 07<commit_after><?php 

namespace i52gagrj\LaTejedora\TPVFrontendBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use \Doctrine\Common\Collections\ArrayCollection;
use FOS\RestBundle\Controller\Annotations\View;

use i52gagrj\LaTejedora\TPVFrontendBundle\Entity\Socio;
use i52gagrj\LaTejedora\TPVFrontendBundle\Entity\Venta;
use i52gagrj\LaTejedora\TPVFrontendBundle\Entity\Lineaventa;
use i52gagrj\LaTejedora\TPVFrontendBundle\Entity\Producto;
use i52gagrj\LaTejedora\TPVFrontendBundle\Entity\Diario;
use i52gagrj\LaTejedora\TPVFrontendBundle\Entity\Usuario;

class DatosController extends Controller
{

//////////////////////////VENTA////////////////////////////////

  /*public function todosproductosAction()
  {
    //Extraer la cabecera de la petición
    $headers=apache_request_headers();
    //Si contiene el token, en la sección Authorization
    if(isset($headers["Authorization"]))
    {
      $token=explode(" ", $headers["Authorization"]);
      $tokend=JWT::decode(trim($token[1],'"'));
      $respuesta = array();
      //Si los datos del token son correctos, se cargan los productos
      if($this->comprobarToken($tokend->id, $tokend->username))
      {  
        $em = $this->getDoctrine()->getEntityManager();
        $productos = $em->getRepository('i52LTPVFrontendBundle:Producto')->
          findAll();
        foreach($productos as $producto)
        {
          if($producto->getActivo())
          { 
            $elemento = array(
              'id' => $producto->getId(),
              'nombre' => $producto->getNombre(),
              'precio' => $producto->getPrecio(),
              'iva' => $producto->getIva(),
              'tipo' => $producto->getTipo()->getNombre());
            array_push($respuesta, $elemento);    
          }
        }     
        $tokend->iat = time();
	$tokend->exp = time() + 900;
	$jwt = JWT::encode($tokend, '');
        $mandar = new Response(json_encode(array(
          'code' => 0,
          'response'=> array(
          'token' => $jwt, 
          'productos' => $respuesta))));
        $mandar->headers->set('Content-Type', 'application/json');
        return $mandar;
      }  
      //Si los datos del token no son correctos, se manda un codigo de error 1 y un mensaje
      else
      {
        $mandar = new Response(json_encode(array(
          'code' => 1,
          'response'=> array( 
            'respuesta' => "El usuario no se ha identificado correctamente"))));      
        $mandar->headers->set('Content-Type', 'application/json');
        return $mandar;        
      }      
    }
    //Si la petición no contiene el token, se manda un codigo de error 2 y un mensaje
    else
    {
      $mandar = new Response(json_encode(array(
        'code' => 2,
        'response'=> array( 
          'respuesta' => "No está autorizado para realizar la consulta"))));      
      $mandar->headers->set('Content-Type', 'application/json');
      return $mandar;
    }
  }*/

  public function todosproductosAction()
  {
    $respuesta = array();
    $em = $this->getDoctrine()->getEntityManager();
    $productos = $em->getRepository('i52LTPVFrontendBundle:Producto')->
      findAll();
    foreach($productos as $producto)
    {
      $elemento = array(
        'id' => $producto->getId(),
        'nombre' => $producto->getNombre(),
        'precio' => $producto->getPrecio(),
        'iva' => $producto->getIva());
      array_push($respuesta, $elemento);    
    }     
    $mandar = new Response(json_encode(array(
      'code' => 0,
      'response'=> array(
      'productos' => $respuesta))));
    $mandar->headers->set('Content-Type', 'application/json');
    return $mandar;
  }

  public function todosclientesAction()
  {
    //Extraer la cabecera de la petición
    $headers=apache_request_headers();
    //Si contiene el token, en la sección Authorization
    if(isset($headers["Authorization"]))
    {
{'fraction_non_alphanumeric': 0.15577342047930284, 'fraction_numerical': 0.007988380537400145, 'mean_word_length': 2.677347574543836, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 111, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '260288', 'n_tokens_mistral': 2638, 'n_tokens_neox': 2607, 'n_words': 495}