/** * @param Request $request * @param Application $app * @param $idArticulo * * @return mixed|RedirectResponse */ public function agregar(Request $request, Application $app, $idArticulo) { // Etiquetas $etiquetaModelo = new Etiqueta($app['db']); $etiquetas = $etiquetaModelo->getTodo(); $options_etiq = array(); foreach ($etiquetas as $etiqueta) { $options_etiq[$etiqueta['id']] = $etiqueta['nombre']; } $initial_data = array('id_articulo' => $idArticulo, 'id_etiqueta' => ''); $form = $app['form.factory']->createBuilder('form', $initial_data); $form = $form->add('id_etiqueta', 'choice', array('choices' => $options_etiq, 'required' => true)); $form = $form->getForm(); if ("POST" == $request->getMethod()) { $form->handleRequest($request); if ($form->isValid()) { $data = $form->getData(); $etiquetasArticuloModelo = new EtiquetasArticuloModelo($app['db']); $filasAfectadas = $etiquetasArticuloModelo->guardar($data['id_articulo'], $data['id_etiqueta']); if ($filasAfectadas == 1) { $app['session']->getFlashBag()->add('success', array('message' => '¡Etiqueta de Artículo creada!')); } else { $app['session']->getFlashBag()->add('warning', array('message' => '¡Etiqueta de Artículo ya está agregada!')); } return $app->redirect($app['url_generator']->generate('etiquetas_articulo_list', array('articulo_id' => $idArticulo))); } } return $app['twig']->render('backend/etiquetas_articulo/create.html.twig', array("form" => $form->createView(), "idArticulo" => $idArticulo)); }
public function modificar($id, $idAutor, $idCategoria, $imagen, $titulo, $descripcion, $contenido, array $etiquetas = array()) { $data = array('id_autor' => $idAutor, 'id_categoria' => $idCategoria, 'imagen' => $imagen, 'titulo' => $titulo, 'descripcion' => $descripcion, 'contenido' => $contenido); $filasAfectadas = $this->_update($data, array('id' => $id)); if (!empty($etiquetas)) { $etiquetasArticuloModelo = new EtiquetasArticulo($this->_db); $etiquetasAgregadas = 0; foreach ($etiquetas as $etiqueta) { $etiquetasAgregadas += $etiquetasArticuloModelo->guardar($id, $etiqueta); } return array('articulo' => $filasAfectadas, 'etiquetas' => $etiquetasAgregadas); } else { return $filasAfectadas; } }