public function load(ObjectManager $manager)
 {
     $array_palabras = array('symfony', 'PHP', 'framework', 'desarrollo agil', 'aplicaciones');
     $array_usuarios = array('Ezequiel', 'Jorge', 'Ivan', 'Romina', 'Analia');
     for ($i = 1; $i <= 1000; $i++) {
         $comentario = new Comentario();
         $comentario->setUsuario($array_usuarios[array_rand($array_usuarios)]);
         $comentario->setAprobado(true);
         $cuerpo = $array_palabras[array_rand($array_palabras)] . ' ' . $array_palabras[array_rand($array_palabras)] . ' ' . $array_palabras[array_rand($array_palabras)] . ' ' . $array_palabras[array_rand($array_palabras)] . ' ' . $array_palabras[array_rand($array_palabras)] . ' ' . $array_palabras[array_rand($array_palabras)];
         $comentario->setCuerpo($cuerpo);
         $indice = rand(1, 100);
         $comentario->setPost($this->getReference('post-' . $indice));
         $manager->persist($comentario);
     }
     /*$post1 = new Post();
       $post1->setTitulo('Symfony es un framework PHP');
       $post1->setAutor('Ezequiel');
       $post1->setImagen('symfony1.gif');
       $post1->setFechaCreacion(new \DateTime());
       $post1->setCuerpo('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce vitae sapien eros. Nulla facilisi. Aliquam id sodales mauris. Fusce venenatis leo ut leo condimentum sollicitudin. Nam rhoncus turpis sit amet leo posuere, sed accumsan purus mattis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus non hendrerit nulla. Nulla volutpat dignissim dui, sit amet posuere odio maximus in. Etiam ut leo commodo, laoreet lectus eu, ultrices diam. Vivamus id dictum leo. Praesent congue sem nec metus congue euismod. In rhoncus ex finibus iaculis consectetur. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque eu nibh nec enim pretium pretium vitae nec ipsum. Vivamus mollis lacus ut neque ultrices, sed tincidunt nulla hendrerit.');
       $manager->persist($post1);
       */
     $manager->flush();
 }
 /**
  * @Route("/pelicula/{id}-{titulo}", requirements={"id" = "\d+"}, name="pelicula_show")
  * @Route("/pelicula/{id}-{titulo}/ordenar-por-{campo}-{orden}", requirements={"id" = "\d+"}, defaults={"campo" = null, "orden" = null}, name="pelicula_show_order")
  */
 public function peliculasAction(Request $request)
 {
     $id = $request->get('id');
     $campo = $request->get('campo');
     $orden = $request->get('orden');
     /* 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, pe, fec, pa\n                        FROM AppBundle:Produccion p\n                        JOIN p.titulos t\n                        JOIN p.pelicula pe\n                        LEFT JOIN pe.fechasEstrenoCines fec\n                        LEFT JOIN fec.pais pa\n                        WHERE t.paisId = 1 and pe.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_canciones = "SELECT c, pc, pe, cs, s, a\n                        FROM AppBundle:PeliculasCanciones pc\n                        JOIN pc.cancion c\n                        JOIN pc.pelicula pe\n                        JOIN c.cancionesSitios cs\n                        JOIN cs.sitio s\n                        JOIN c.artista a\n                        WHERE pe.id = '{$id}'";
     if ($campo != null && $orden != null) {
         switch ($campo) {
             case 'titulo':
                 $query_canciones .= "ORDER BY c.titulo";
                 break;
             case 'artista':
                 $query_canciones .= "ORDER BY a.nombre";
                 break;
             case 'minuto':
                 $query_canciones .= "ORDER BY pc.minuto";
                 break;
             default:
                 $query_canciones .= "ORDER BY c.id";
                 break;
         }
         $query_canciones .= " {$orden}";
     }
     $query = $em->createQuery($query_canciones);
     $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('peliculas.ficha.html.twig', array('siguiendo' => $siguiendo, 'campo_orden' => $campo, 'orden' => $orden, 'produccion' => $produccion, 'lista_canciones' => $lista_canciones, 'sitios' => $sitios, 'comentarios' => $comentarios, 'canciones_populares' => $canciones_populares, 'form_question' => $form_question->createView(), 'form_reply' => $form_reply->createView()));
 }
 /**
  * @Route("/serie/{id}-{titulo}/temporada-{nt}", requirements={"id" = "\d+", "nt" = "\d+"}, name="temporada_show")
  */
 public function temporadasAction(Request $request)
 {
     $id = $request->get('id');
     // Id de serie
     $nt = $request->get('nt');
     // Nº de temporada
     // 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, s\n                        FROM AppBundle:Produccion p\n                        JOIN p.serie s\n                        JOIN p.titulos t\n                        WHERE t.paisId = 1 and s.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());
             $data[] = $produccion;
         }
     }
     $produccion = $data;
     if (!$produccion) {
         throw $this->createNotFoundException('Id ' . $id . ' no encontrada');
     }
     // Información de la temporada
     $em = $this->getDoctrine()->getManager();
     $query = $em->createQuery("\n                        SELECT te, se, ca\n                        FROM AppBundle:temporada te\n                        JOIN te.serie se\n                        JOIN te.capitulos ca\n                        LEFT JOIN ca.capitulosCanciones cc\n                        WHERE se.id = '{$id}' and te.numeroTemporada = '{$nt}'\n                        ");
     $info_temporada = $query->getResult();
     if (!$info_temporada) {
         throw $this->createNotFoundException('No se encontró la temporada');
     }
     // 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');
     }
     // 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('temporadas.ficha.html.twig', array('siguiendo' => $siguiendo, 'produccion' => $produccion, 'nt' => $nt, 'info_temporada' => $info_temporada, 'canciones_populares' => $canciones_populares));
 }