Пример #1
0
 /**
  * @param Request $request
  * @param Application $app
  *
  * @return JsonResponse
  */
 public function categoriasAjax(Request $request, Application $app)
 {
     if ($request->isXmlHttpRequest() && 'POST' == $request->getMethod()) {
         $categoriaModelo = new Categoria($app['db']);
         $categorias = $categoriaModelo->getTodo(array('id', 'nombre'), array(), 'WHERE id > 1');
         return $app['twig']->render('frontend/categorias-ajax.html.twig', array('categorias' => $categorias));
     }
 }
Пример #2
0
 /**
  * @param Request $request
  * @param Application $app
  * @param int $id
  * 
  * @return RedirectResponse
  */
 public function verNoticiasJson(Request $request, Application $app)
 {
     $categoriaModelo = new Categoria($app['db']);
     $categorias = $categoriaModelo->getTodo(array(), array(), "WHERE id > 1");
     $articuloModelo = new Articulo($app['db']);
     $articulos = $articuloModelo->getTodo();
     $mesesIngles = cal_info(0);
     $mesesEspanol = array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
     foreach ($articulos as $index => $articulo) {
         # Poner sólo la primera en mayúscula el título
         $articulos[$index]['titulo'] = strtolower($articulo['titulo']);
         $articulos[$index]['titulo'][0] = strtoupper($articulo['titulo'][0]);
         $fechaPublicacion = date('d-F-Y | h:m A', strtotime($articulo['fecha_pub']));
         $fechaPublicacion = str_replace('-', ' de ', $fechaPublicacion);
         $fechaPublicacion = str_replace($mesesIngles['months'], $mesesEspanol, $fechaPublicacion);
         $articulos[$index]['fecha_pub'] = $fechaPublicacion;
     }
     return new JsonResponse(array("articulos" => $articulos, 'categorias' => $categorias));
 }
Пример #3
0
 /**
  * @param Application $app
  *
  * @return mixed
  */
 public function index(Application $app)
 {
     $categoriaModelo = new Categoria($app['db']);
     $categorias = $categoriaModelo->getTodo(array(), array(), "WHERE id > 1");
     $articuloModelo = new Articulo($app['db']);
     $articulos = $articuloModelo->getTodo();
     $mesesIngles = cal_info(0);
     $mesesEspanol = array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
     foreach ($articulos as $index => $articulo) {
         # Poner sólo la primera en mayúscula el título
         //            $articulos[$index]['titulo']    = strtolower($articulo['titulo']);
         //            $articulos[$index]['titulo'][0] = strtoupper($articulo['titulo'][0]);
         $fechaPublicacion = date('d-F-Y | h:m A', strtotime($articulo['fecha_pub']));
         $fechaPublicacion = str_replace('-', ' de ', $fechaPublicacion);
         $fechaPublicacion = str_replace($mesesIngles['months'], $mesesEspanol, $fechaPublicacion);
         $articulos[$index]['fecha_pub'] = $fechaPublicacion;
     }
     $menuModelo = new Menu($app['db']);
     $menuItems = $menuModelo->getItems();
     return $app['twig']->render('frontend/index.html.twig', array('articulos' => $articulos, 'categorias' => $categorias, 'menu_items' => $menuItems));
 }
Пример #4
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));
 }
Пример #5
0
 /**
  * @param Request $request
  * @param Application $app
  * @param int $id
  * 
  * @return RedirectResponse
  */
 public function eliminar(Request $request, Application $app, $id)
 {
     $categoriaModelo = new CategoriaModelo($app['db']);
     $categoria = $categoriaModelo->getPorId($id);
     if (!empty($categoria)) {
         $filasAfectadas = $categoriaModelo->eliminar($id);
         if ($filasAfectadas == 1) {
             $app['session']->getFlashBag()->add('info', array('message' => '¡Categoría eliminada!'));
         }
     } else {
         $app['session']->getFlashBag()->add('warning', array('message' => 'Categoría no encontrada'));
     }
     return $app->redirect($app['url_generator']->generate('categoria_list'));
 }
Пример #6
0
 /**
  * @param Request $request
  * @param Application $app
  * @param int $idCategoria
  *
  * @return mixed
  */
 public function categoria(Request $request, Application $app, $idCategoria)
 {
     $articuloModel = new Articulo($app['db']);
     $articulosCategoria = $articuloModel->getArticulosByCategoria($idCategoria);
     $categoriaModel = new Categoria($app['db']);
     $categoria = $categoriaModel->getPorId($idCategoria);
     $menuModelo = new Menu($app['db']);
     $menuItems = $menuModelo->getItems();
     return $app['twig']->render('frontend/articulos_categoria.html.twig', array('articulosCategoria' => $articulosCategoria, 'categoria' => $categoria, 'menu_items' => $menuItems));
 }