Пример #1
0
 /**
  * 
  * @param Request $request
  * @param Application $app
  * @param int $idArticulo
  * 
  * @return mixed
  */
 public function imprimir(Request $request, Application $app, $idArticulo)
 {
     $articuloModel = new Articulo($app['db']);
     $articulo = $articuloModel->getArticuloYEtiquetas($idArticulo);
     $mesesIngles = cal_info(0);
     $mesesEspanol = array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
     if (empty($articulo)) {
         $app['session']->getFlashBag()->add('warning', array('message' => '¡Artículo no encontrado!'));
         return $app->redirect($app['url_generator']->generate('home'));
     } else {
         $fechaPublicacion = date('d-F-Y | h:m A', strtotime($articulo['fecha_pub']));
         $fechaPublicacion = str_replace('-', ' de ', $fechaPublicacion);
         $fechaPublicacion = str_replace($mesesIngles['months'], $mesesEspanol, $fechaPublicacion);
         $imagenModel = new Imagen($app['db']);
         $articulo['imagen'] = $imagenModel->getImagenByUrl($articulo['imagen']);
         $articulo['fecha_pub'] = $fechaPublicacion;
     }
     return $app['twig']->render('frontend/imprimir.html.twig', array("articulo" => $articulo));
 }
Пример #2
0
 /**
  * @param Request $request
  * @param Application $app
  * @param int $id
  *
  * @return mixed|RedirectResponse
  */
 public function editar(Request $request, Application $app, $id)
 {
     $alias = $app['security']->getToken()->getUser()->getUsername();
     $usuarioModelo = new Usuario($app['db']);
     $usuario = $usuarioModelo->getUsuarioPorAlias($alias);
     // El autor del articulo debe ser el logueado
     $idAutor = $usuario['id'];
     // Categorías
     $categoriaModelo = new Categoria($app['db']);
     $categorias = $categoriaModelo->getTodo();
     $categoriasOpcion = array();
     foreach ($categorias as $categoria) {
         $categoriasOpcion[$categoria['id']] = $categoria['nombre'];
     }
     // Etiquetas
     $etiquetaModelo = new Etiqueta($app['db']);
     $etiquetas = $etiquetaModelo->getTodo();
     $etiquetasOpcion = array();
     foreach ($etiquetas as $etiqueta) {
         $etiquetasOpcion[$etiqueta['id']] = $etiqueta['nombre'];
     }
     $articuloModelo = new ArticuloModelo($app['db']);
     $articulo = $articuloModelo->getArticuloYEtiquetas($id);
     if (!$articulo) {
         $app['session']->getFlashBag()->add('warning', array('message' => '¡Artículo no encontrado!'));
         return $app->redirect($app['url_generator']->generate('articulo_list'));
     }
     $initial_data = array('categoria' => $articulo['id_categoria'], 'etiquetas' => $articulo['etiquetas'], 'imagen' => $articulo['imagen'], 'titulo' => $articulo['titulo'], 'descripcion' => $articulo['descripcion'], 'contenido' => $articulo['contenido'], 'fecha_pub' => $articulo['fecha_pub']);
     $form = $app['form.factory']->createBuilder('form', $initial_data);
     $form = $form->add('categoria', 'choice', array('choices' => $categoriasOpcion, 'required' => true));
     $form = $form->add('etiquetas', 'choice', array('choices' => $etiquetasOpcion, 'required' => false, "multiple" => true));
     $form = $form->add('imagen', 'url', array('required' => true));
     $form = $form->add('titulo', 'text', array('required' => true));
     $form = $form->add('descripcion', 'text', array('required' => true));
     $form = $form->add('contenido', 'textarea', array('required' => true));
     $form = $form->getForm();
     if ("POST" == $app['request']->getMethod()) {
         $form->handleRequest($app["request"]);
         if ($form->isValid()) {
             $data = $form->getData();
             $filasAfectadas = $articuloModelo->modificar($id, $idAutor, $data['categoria'], $data['imagen'], $data['titulo'], $data['descripcion'], $data['contenido'], $data['etiquetas']);
             if (is_array($filasAfectadas) || is_int($filasAfectadas) && $filasAfectadas == 1) {
                 $app['session']->getFlashBag()->add('info', array('message' => "¡Artículo modificado!"));
             } else {
                 $app['session']->getFlashBag()->add('danger', array('message' => "¡Artículo no modificado!"));
             }
             return $app->redirect($app['url_generator']->generate('articulo_edit', array("id" => $id)));
         }
     }
     return $app['twig']->render('backend/articulo/edit.html.twig', array("form" => $form->createView(), "imagen_src" => $articulo['imagen'], "id" => $id));
 }