/**
  * @Route("/anuncio/{id}-{titulo}", requirements={"id" = "\d+"}, name="anuncio_show")
  */
 public function anunciosAction(Request $request)
 {
     $id = $request->get('id');
     /* Formulario de preguntas */
     $form_question = $this->createFormBuilder()->add('comentario', 'textarea', array('attr' => array('cols' => '50', 'rows' => '4', 'maxlength' => '500', 'class' => 'form-control submitComment')))->add('tipo', 'hidden', array('attr' => array('value' => 'p')))->add('save', 'submit', array('label' => 'Enviar comentario', 'attr' => array('class' => 'btn btn-primary')))->getForm();
     $form_question->handleRequest($request);
     /* Formulario de respuestas */
     $form_reply = $this->createFormBuilder()->add('comentario', 'textarea', array('attr' => array('cols' => '50', 'rows' => '4', 'maxlength' => '500', 'class' => 'form-control submitComment')))->add('tipo', 'hidden', array('attr' => array('value' => 'r')))->add('comentario_parent_id', 'hidden', array('attr' => array('value' => '')))->add('save', 'submit', array('label' => 'Enviar respuesta', 'attr' => array('class' => 'btn btn-primary')))->getForm();
     $form_reply->handleRequest($request);
     // user_id
     $current_user = $this->container->get('security.context')->getToken()->getUser();
     // produccion_id
     $current_produccion = $this->getDoctrine()->getRepository('AppBundle:Produccion')->find($id);
     // Comprobamos si se realizó un comentario
     if ($request->isMethod('POST')) {
         $formData = $request->get('form');
         $com = new Comentario();
         $com->setComentario($formData['comentario']);
         if ($formData['tipo'] == "r") {
             $com->setComentarioParentId($formData['comentario_parent_id']);
         }
         $tz = new \DateTimeZone("Europe/Madrid");
         $current_date = new \DateTime("now", $tz);
         $com->setFechaHora($current_date);
         $com->setTipo($formData['tipo']);
         $com->setUsuario($current_user);
         $com->setProduccion($current_produccion);
         if ($form_question->isValid() || $form_reply->isValid()) {
             $em = $this->getDoctrine()->getManager();
             $em->persist($com);
             $em->flush();
             return new Response('Comentario añadido correctamente!');
         }
     }
     // Información general
     $em = $this->getDoctrine()->getManager();
     $query = $em->createQuery("\n                        SELECT p, t, a\n                        FROM AppBundle:Produccion p\n                        JOIN p.anuncio a\n                        JOIN p.titulos t\n                        WHERE t.paisId = 1 and a.id = '{$id}'\n                        ");
     $data = array();
     if (count($query->getResult()) > 0) {
         foreach ($query->getResult() as $produccion) {
             switch ($produccion->getTipo()) {
                 case 'p':
                     $tipo = "peliculas";
                     break;
                 case 's':
                     $tipo = "series";
                     break;
                 case 'a':
                     $tipo = "anuncios";
                     break;
             }
             $produccion->tipoProduccion = $tipo;
             $produccion->banner = str_replace(".jpg", "_banner.jpg", $produccion->getCartel());
             // Protagonistas
             $protagonistas = explode(",", $produccion->getProtagonistas());
             $num_actores = count($protagonistas);
             $i = 0;
             foreach ($protagonistas as $protagonista) {
                 $produccion->protagonistasLinks .= "<a href='#'>" . $protagonista . "</a>";
                 if (++$i != $num_actores) {
                     $produccion->protagonistasLinks .= ", ";
                 }
             }
             $data[] = $produccion;
         }
     }
     $produccion = $data;
     if (!$produccion) {
         throw $this->createNotFoundException('Id ' . $id . ' no encontrada');
     }
     // Lista de canciones
     $em = $this->getDoctrine()->getManager();
     $query = $em->createQuery("SELECT c, ac, an, cs, s, a\n                        FROM AppBundle:anunciosCanciones ac\n                        JOIN ac.cancion c\n                        JOIN ac.anuncio an\n                        JOIN c.cancionesSitios cs\n                        JOIN cs.sitio s\n                        JOIN c.artista a\n                        WHERE an.id = '{$id}'");
     $lista_canciones = $query->getResult();
     /*if(!$lista_canciones) {
           throw $this->createNotFoundException(
               'No hay resultados'
           );
       }*/
     // Sitios
     $em = $this->getDoctrine()->getManager();
     $query = $em->createQuery("\n                        SELECT cs\n                        FROM AppBundle:CancionesSitios cs\n                        ");
     $sitios = $query->getResult();
     // Canciones Populares
     $em = $this->getDoctrine()->getManager();
     $query = $em->createQuery("\n                        SELECT c, a\n                        FROM AppBundle:Cancion c\n                        JOIN c.artista a\n                        ")->setMaxResults(8);
     $canciones_populares = $query->getResult();
     if (!$canciones_populares) {
         throw $this->createNotFoundException('No hay resultados');
     }
     // Preguntas y respuestas
     $em = $this->getDoctrine()->getManager();
     $query = $em->createQuery("\n                        SELECT c, u\n                        FROM AppBundle:Comentario c\n                        JOIN c.usuario u\n                        WHERE c.produccion = '{$id}'\n                        ");
     $pr = $query->getResult();
     $comentarios = NULL;
     if (count($pr) > 0) {
         $comentarios = $this->buildTree($pr);
     }
     // Siguiendo
     $usuario = $this->container->get('security.context')->getToken()->getUser();
     // Compruebo si ya la está siguiendo
     $em = $this->getDoctrine()->getManager();
     $siguiendo = $em->getRepository('AppBundle:UsuariosProducciones')->findOneBy(array('usuario' => $usuario, 'produccion' => $produccion));
     return $this->render('anuncios.ficha.html.twig', array('siguiendo' => $siguiendo, 'produccion' => $produccion, 'lista_canciones' => $lista_canciones, 'sitios' => $sitios, 'comentarios' => $comentarios, 'canciones_populares' => $canciones_populares, 'form_question' => $form_question->createView(), 'form_reply' => $form_reply->createView()));
 }